From: "D. Hazelton" <dhazelton@enter.net>
To: "Jon Smirl" <jonsmirl@gmail.com>
Cc: "Dave Airlie" <airlied@gmail.com>,
"Ondrej Zajicek" <santiago@mail.cz>,
"Pavel Machek" <pavel@ucw.cz>,
"Alan Cox" <alan@lxorguk.ukuu.org.uk>,
"Kyle Moffett" <mrmacman_g4@mac.com>,
"Manu Abraham" <abraham.manu@gmail.com>,
"linux cbon" <linuxcbon@yahoo.fr>,
"Helge Hafting" <helge.hafting@aitel.hist.no>,
Valdis.Kletnieks@vt.edu, linux-kernel@vger.kernel.org,
adaplas@gmail.com
Subject: Re: OpenGL-based framebuffer concepts
Date: Thu, 1 Jun 2006 22:34:30 +0000 [thread overview]
Message-ID: <200606012234.31566.dhazelton@enter.net> (raw)
In-Reply-To: <9e4733910606011918vc53bbag4ac5e353a3e5299a@mail.gmail.com>
On Friday 02 June 2006 02:18, Jon Smirl wrote:
> On 6/1/06, Dave Airlie <airlied@gmail.com> wrote:
> > > Without specifying a design here are a few requirements I would have:
> > >
> > > 1) The kernel subsystem should be agnostic of the display server. The
> > > solution should not be X specific. Any display system should be able
> > > to use it, SDL, Y Windows, Fresco, etc...
> >
> > of course, but that doesn't mean it can't re-use X's code, they are
> > the best drivers we have. you forget everytime that the kernel fbdev
> > drivers aren't even close, I mean not by a long long way apart from
> > maybe radeon.
>
> This requirement means that stuff like mode setting has to be broken
> out into an independent library. For example it would not be ok to say
> that Fresco has to install X to get mode setting. No comment was made
> on where the code comes from, you are reading in something that isn't
> in the requirement.. I am aware that X has the best mode setting code
> and it would be foolish to ignore it.
>
> Both you and I both know what a pain it is to extract this type of
> code from X. Let's not repeat X's problems in this area. Let's make
> the new library standalone and easy to work with in any environment.
> No all encompassing typedef systems this time.
Jon, I've already discussed this with Dave. Part of providing a "drmcon" will
involve having libraries that currently almost always rely on X being loaded
modified to allow for use whether or not X is running. To this end I plan on
working on the current set of userspace drivers (the DRI side of the DRM/DRI
pair) in X to make them usable by the drmcon system.
> > > 2) State inside the hardware is maintained by a single driver. No
> > > hooks for state swapping (ie, save your state, now I'll load mine,
> > > ...).
> >
> > We still have to do state swapping, we just don't expose it,
> > suspend/resume places state swapping as a requirement.
>
> I don't consider suspend/resume state swapping, it is state save and
> restore. The same state is loaded back in.
>
> Other than suspend/resume why would the driver need to do state swapping?
VT switch to a VT where X is running. X will still require a VT and assume it
has good access to the graphics system. While currently it has no problems,
when drmcon becomes a reality there will have to be a state switch between
the consoles settings and the setting for the VT running X.
> > > 9) there needs to be a way to control the mode on each head, merged fb
> > > should also work. Monitor hotplug should work. Video card hot plug
> > > should work. These should all work for console and the display
> > > servers.
> >
> > Of course, have you got drivers for these written? this is mostly in
> > the realms of the driver developer, the modesetting API is going to
> > have to deal with all these concepts.
>
> This needs to be considered in the design stage. For example, if both
> heads are mapped through a single device node they can't be
> independently controlled by two different user IDs. We need to make
> sure we leave the path open to building this.
Exactly. This is part of keeping the kernel as secure as possible.
> > > 10) Console support for complex scripts should get consideration.
> >
> > not really necessary.. nor should it be... fbset works, something like
> > it would be good enough..
>
> I meant support for Korean, Chinese, etc. You can't draw some of the
> complex scripts without using something like Pango. Do we want to
> build a system where people can use console in their native language?
> You can use these languages from xterm but not console today. I have
> no strong opinion on this point other that I believe it should be
> discussed and input from non-English speakers should be considered. No
> one on this list has a problem with this area since we all speak
> English.
At current the best direction forward would be to just use the code from
directfb-gtk to get Pango running for drmcon. Once that happens there is time
for the coders to work out a complete solution that is seperate from PANGO
and all other libraries if it's felt that it's still needed.
> > 14) backwards compatible, an old X server should still run on a new
> > kernel. I will allow for new options to be enabled at run-time so that
> > this isn't possible, but just booting a kernel and starting X should
> > work.
>
> I'm not sure we want to continue supporting every X server released in
> the last 25 years. But we should definitely support any X server
> released in a 2.6 based kernel distribution. What are reasonable
> limits?
This is not a supportable position, Jon. I haven't seen it myself, but I'm
willing to bet there are still a few systems out there running X5 but have a
recent kernel. Since X version prior to 6 are no longer in wide use, however,
this is something that could be done with little damage to anyone.
But it still breaks the spirit of Linus' directive to "break nothing"
> > 15) re-use as much of the X drivers as possible, otherwise it will KGI.
>
> I would broaden this to use the best code where ever it is found. Of
> course X is a major source.
>
> > 16) secure - no direct IO or MMIO access, modesetting is slow anyways
> > having the kernel checking the mmio access won't make it much slower.
>
> This needs some expansion. Secure is good, but it's not clear what you
> are requiring with this point.
>
> For me security means reducing the privileged code to an absolute
> minimum and then inspecting it closely to make sure there are no
> holes. Everything that is passed in needs to be checked and regarded
> with suspicion. But you can go too far with the reduction, if you
> provide a generic IOCTL to poke an IO port with an arbitrary value you
> now have to verify that it is safe to pass in every possible value.
> Instead if the IOCTL implements a specific function that pokes the
> port with a single fixed value it is easier to say that it is secure.
At this poitn Dave has done a good job of keeping the DRM thats in kernel
secure. I'll be working on the same with him as work on drmcon progresses.
Doing the type of bounds-checking you mention at the end isn't really
necessary, as there are only a few valid values - the code can and will check
for those and reject ones that are invalid.
DRH
next prev parent reply other threads:[~2006-06-02 2:34 UTC|newest]
Thread overview: 321+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-16 21:41 replacing X Window System ! linux cbon
2006-05-16 21:51 ` Michal Piotrowski
2006-05-16 21:57 ` Måns Rullgård
2006-05-16 23:23 ` Alistair John Strachan
2006-05-16 22:19 ` alan
2006-05-16 22:42 ` Valdis.Kletnieks
2006-05-16 23:05 ` alan
2006-05-17 11:47 ` linux cbon
2006-05-17 12:18 ` Valdis.Kletnieks
2006-05-17 12:39 ` linux cbon
2006-05-17 13:19 ` Valdis.Kletnieks
2006-05-17 14:10 ` Panagiotis Issaris
2006-05-17 14:19 ` Ondrej Zary
2006-05-17 14:23 ` Olivier Galibert
2006-05-17 14:46 ` Bob Copeland
2006-05-17 13:24 ` Lennart Sorensen
2006-05-17 13:46 ` Bob Copeland
2006-05-17 14:01 ` Michal Piotrowski
2006-05-17 13:39 ` Jesper Juhl
2006-05-17 14:53 ` linux cbon
2006-05-17 15:09 ` Valdis.Kletnieks
2006-05-17 15:14 ` Valdis.Kletnieks
2006-05-17 15:30 ` linux-os (Dick Johnson)
2006-05-17 16:29 ` Valdis.Kletnieks
2006-05-17 15:53 ` linux cbon
2006-05-17 16:09 ` Randy.Dunlap
2006-05-17 16:12 ` Stas Myasnikov
2006-05-17 15:16 ` Alan Cox
2006-05-17 15:49 ` linux cbon
2006-05-17 16:11 ` Stas Myasnikov
2006-05-17 17:52 ` Gábor Lénárt
2006-05-17 17:17 ` Felipe Alfaro Solana
2006-05-17 17:33 ` grundig
2006-05-18 15:42 ` Lennart Sorensen
2006-05-18 18:40 ` grundig
2006-05-18 12:00 ` Helge Hafting
2006-05-18 17:28 ` linux cbon
2006-05-18 18:42 ` Valdis.Kletnieks
2006-05-18 18:52 ` Thierry Vignaud
2006-05-18 19:31 ` linux cbon
2006-05-18 19:37 ` David Lang
2006-05-18 20:12 ` Gerhard Mack
2006-05-18 22:22 ` linux cbon
2006-05-19 9:09 ` Martin Mares
2006-05-18 20:12 ` Adrian Bunk
2006-05-18 21:47 ` Valdis.Kletnieks
2006-05-18 22:03 ` linux cbon
2006-05-18 22:23 ` Al Viro
2006-05-21 14:56 ` Stefan Smietanowski
2006-05-19 9:26 ` Helge Hafting
2006-05-19 11:08 ` Panagiotis Issaris
2006-05-19 13:07 ` Helge Hafting
2006-05-19 14:34 ` David Greaves
2006-05-19 14:40 ` Xavier Bestel
2006-05-19 15:13 ` linux cbon
2006-05-19 15:18 ` Xavier Bestel
2006-05-19 22:09 ` linux cbon
2006-05-19 22:51 ` Peter Gordon
2006-05-21 20:49 ` Xavier Bestel
2006-05-20 0:43 ` Jeff Carr
2006-05-19 15:01 ` Sander
2006-05-19 22:29 ` Jan Engelhardt
2006-05-19 22:34 ` David Lang
2006-05-19 22:20 ` Jan Engelhardt
2006-05-19 22:40 ` linux cbon
2006-05-20 1:02 ` Adrian Bunk
2006-05-20 6:31 ` Willy Tarreau
2006-05-20 8:25 ` jerome lacoste
2006-05-21 6:16 ` Valdis.Kletnieks
2006-05-21 12:17 ` linux cbon
2006-05-21 6:38 ` Manu Abraham
2006-05-23 5:08 ` OpenGL-based framebuffer concepts Kyle Moffett
2006-05-23 0:48 ` D. Hazelton
2006-05-23 17:17 ` Jon Smirl
2006-05-23 22:57 ` Matthew Garrett
2006-05-23 23:38 ` Jon Smirl
2006-05-23 23:24 ` D. Hazelton
2006-05-24 4:21 ` Jon Smirl
2006-05-24 0:42 ` D. Hazelton
2006-05-24 4:57 ` Jon Smirl
2006-05-24 1:04 ` D. Hazelton
2006-05-24 14:30 ` Chase Venters
2006-05-24 13:32 ` Paulo Marques
2006-05-24 6:39 ` Helge Hafting
2006-05-24 13:17 ` Stefan Seyfried
2006-05-24 22:08 ` Matthew Garrett
2006-05-24 22:09 ` D. Hazelton
2006-05-24 22:41 ` Jon Smirl
2006-05-24 1:50 ` Jeff Garzik
2006-05-24 7:30 ` Matthew Garrett
2006-05-24 0:10 ` Kyle Moffett
2006-05-23 23:27 ` D. Hazelton
2006-05-24 0:24 ` Jon Smirl
2006-05-24 7:03 ` Helge Hafting
2006-05-24 13:55 ` Alexander E. Patrakov
2006-05-24 14:49 ` Jon Smirl
2006-05-24 14:56 ` Alexander E. Patrakov
2006-05-24 16:15 ` Matheus Izvekov
2006-05-24 16:26 ` Alexander E. Patrakov
2006-05-24 16:32 ` Jon Smirl
2006-05-26 4:57 ` Alexander E. Patrakov
2006-05-26 2:09 ` D. Hazelton
2006-05-26 7:12 ` Helge Hafting
2006-05-24 16:42 ` Matheus Izvekov
2006-05-24 17:34 ` Xavier Bestel
2006-05-26 7:05 ` Helge Hafting
2006-05-26 7:59 ` Xavier Bestel
2006-05-26 6:58 ` Helge Hafting
2006-05-24 22:03 ` D. Hazelton
2006-05-26 7:08 ` Helge Hafting
2006-05-26 8:32 ` Alexander E. Patrakov
2006-05-26 10:58 ` Helge Hafting
2006-05-26 11:06 ` Xavier Bestel
2006-05-24 15:41 ` Geert Uytterhoeven
2006-05-23 10:11 ` Alan Cox
2006-05-23 10:28 ` Jeff Garzik
2006-05-23 14:10 ` Kyle Moffett
2006-05-23 14:43 ` Alan Cox
2006-05-23 15:41 ` Kyle Moffett
2006-05-23 16:53 ` Alan Cox
[not found] ` <9b5164430605231015s40ebcd38had1c3029da8afc7@mail.gmail.com>
2006-05-23 17:21 ` Xiong Jiang
2006-05-24 12:47 ` Alan Cox
2006-05-23 23:31 ` D. Hazelton
2006-05-23 15:52 ` Rene Rebe
2006-05-23 23:41 ` D. Hazelton
2006-05-24 4:48 ` Jon Smirl
2006-05-24 5:24 ` Jeff Garzik
2006-05-23 23:38 ` D. Hazelton
2006-05-24 4:08 ` Dave Airlie
2006-05-24 0:17 ` D. Hazelton
2006-05-24 5:14 ` Dave Airlie
2006-05-24 1:30 ` D. Hazelton
2006-05-24 5:48 ` Dave Airlie
2006-05-24 2:11 ` D. Hazelton
2006-05-26 17:53 ` Pavel Machek
2006-05-27 18:03 ` D. Hazelton
2006-05-24 15:27 ` Jon Smirl
2006-05-24 23:18 ` Dave Airlie
2006-05-24 23:56 ` Jon Smirl
2006-05-25 0:31 ` Dave Airlie
2006-05-25 0:55 ` Jeff Garzik
2006-05-25 2:37 ` D. Hazelton
2006-05-25 8:44 ` Jeff Garzik
2006-05-25 14:04 ` Jon Smirl
2006-05-25 15:07 ` Jeff Garzik
2006-05-25 15:37 ` Jon Smirl
2006-05-25 23:04 ` Dave Airlie
2006-05-25 23:17 ` Jeff Garzik
2006-05-25 23:31 ` Dave Airlie
2006-05-25 23:19 ` Jeff Garzik
2006-05-25 23:48 ` Jon Smirl
2006-05-25 15:57 ` Paulo Marques
2006-05-25 18:01 ` Alan Cox
2006-05-26 11:26 ` Olivier Galibert
2006-05-25 16:13 ` Greg KH
2006-05-26 17:39 ` Pavel Machek
2006-05-27 18:01 ` D. Hazelton
2006-05-28 0:03 ` Jon Smirl
2006-05-27 22:13 ` D. Hazelton
2006-05-28 2:34 ` Jon Smirl
2006-05-27 22:45 ` D. Hazelton
2006-05-28 3:27 ` Jon Smirl
2006-05-28 1:12 ` D. Hazelton
2006-05-28 23:13 ` Dave Airlie
2006-05-28 23:16 ` D. Hazelton
2006-05-29 3:43 ` Dave Airlie
2006-05-29 4:05 ` Jon Smirl
2006-05-29 0:25 ` D. Hazelton
2006-05-29 4:58 ` Neil Brown
2006-05-29 2:07 ` D. Hazelton
2006-05-29 5:14 ` Dave Airlie
2006-05-29 2:09 ` D. Hazelton
2006-05-29 5:28 ` Neil Brown
2006-05-29 7:14 ` Dave Airlie
2006-05-31 21:42 ` Jan Engelhardt
2006-05-31 21:15 ` D. Hazelton
2006-06-01 9:43 ` Jan Engelhardt
2006-06-01 11:51 ` Marko M
2006-06-01 15:54 ` D. Hazelton
2006-06-01 21:39 ` Antonino A. Daplas
2006-05-29 0:59 ` Jon Smirl
2006-05-29 1:29 ` Daniel Stone
2006-05-29 2:28 ` Jon Smirl
2006-05-30 17:40 ` David Lang
2006-05-30 21:53 ` Antonino A. Daplas
2006-05-30 21:55 ` Antonino A. Daplas
2006-05-30 22:13 ` Jon Smirl
2006-06-02 8:36 ` Ondrej Zajicek
2006-06-02 8:58 ` Pavel Machek
2006-06-02 18:49 ` David Lang
2006-06-02 22:01 ` Pavel Machek
2006-06-02 19:57 ` David Lang
2006-06-02 23:25 ` Antonino A. Daplas
2006-06-03 6:32 ` Pavel Machek
2006-06-03 7:05 ` Antonino A. Daplas
2006-06-03 16:35 ` Kyle Moffett
2006-06-03 20:55 ` Antonino A. Daplas
2006-06-02 12:17 ` Antonino A. Daplas
2006-05-30 22:35 ` Ondrej Zajicek
2006-05-30 22:55 ` Jon Smirl
2006-05-31 6:48 ` Martin Mares
2006-05-31 7:13 ` Jon Smirl
2006-05-31 3:25 ` D. Hazelton
2006-05-31 7:19 ` Martin Mares
2006-05-31 12:09 ` Helge Hafting
2006-05-31 13:34 ` Pavel Machek
2006-05-31 13:56 ` Martin Mares
2006-05-30 23:21 ` Antonino A. Daplas
2006-05-31 8:26 ` Ondrej Zajicek
2006-05-31 10:25 ` Marko M
2006-05-31 11:59 ` Antonino A. Daplas
2006-05-31 19:24 ` Geert Uytterhoeven
2006-05-31 19:57 ` Jon Smirl
2006-05-31 20:32 ` Matthew Garrett
2006-05-31 21:23 ` Jon Smirl
2006-06-01 2:21 ` Antonino A. Daplas
2006-05-29 10:23 ` Pavel Machek
2006-05-29 10:36 ` Dave Airlie
2006-05-29 12:48 ` Pavel Machek
2006-05-29 21:23 ` Jeff Garzik
2006-05-29 21:45 ` Pavel Machek
2006-05-30 17:44 ` David Lang
2006-05-30 20:18 ` Pavel Machek
2006-05-29 22:10 ` Jon Smirl
2006-05-29 22:58 ` D. Hazelton
2006-05-29 22:57 ` D. Hazelton
2006-05-29 23:23 ` Dave Airlie
2006-05-29 23:48 ` Marko M
2006-05-30 1:39 ` Ian Kester-Haney
2006-05-30 2:09 ` Randy.Dunlap
[not found] ` <441e43c90605291936t19caa0eat4bd4b699e0ac9202@mail.gmail.com>
2006-05-30 2:37 ` Fwd: " Ian Kester-Haney
2006-05-30 10:49 ` Alexey Dobriyan
2006-05-30 20:24 ` Pavel Machek
2006-05-30 20:56 ` Jon Smirl
2006-05-30 21:15 ` Ian Kester-Haney
2006-05-30 23:01 ` Dave Airlie
2006-05-30 23:27 ` Jon Smirl
2006-05-30 23:14 ` D. Hazelton
2006-05-31 4:02 ` Jon Smirl
2006-05-31 0:11 ` D. Hazelton
2006-05-31 4:16 ` Jon Smirl
2006-05-31 0:26 ` D. Hazelton
2006-05-31 4:39 ` Jon Smirl
2006-05-31 0:45 ` D. Hazelton
2006-06-01 0:50 ` Antonino A. Daplas
2006-06-01 1:37 ` Jon Smirl
2006-06-01 1:56 ` Antonino A. Daplas
2006-06-01 2:19 ` Jon Smirl
2006-05-31 22:36 ` D. Hazelton
2006-06-01 2:49 ` Jon Smirl
2006-06-01 9:28 ` Ondrej Zajicek
2006-06-01 16:59 ` Jon Smirl
2006-06-01 14:59 ` David Lang
2006-06-01 16:03 ` D. Hazelton
2006-06-01 20:35 ` Jon Smirl
2006-06-01 16:47 ` D. Hazelton
2006-06-01 21:21 ` Jon Smirl
2006-06-01 22:22 ` D. Hazelton
2006-06-01 21:05 ` Antonino A. Daplas
2006-06-01 21:23 ` Jon Smirl
2006-06-01 21:31 ` Antonino A. Daplas
2006-06-01 21:48 ` Jon Smirl
2006-06-01 22:21 ` Pavel Machek
2006-06-01 23:14 ` Antonino A. Daplas
2006-06-01 23:00 ` Andrew Morton
2006-06-01 23:39 ` Antonino A. Daplas
2006-06-01 23:14 ` Dave Airlie
2006-06-01 23:38 ` Jon Smirl
2006-06-01 23:47 ` Dave Airlie
2006-06-02 0:45 ` Jon Smirl
2006-06-02 9:05 ` Pavel Machek
2006-06-02 9:03 ` Pavel Machek
2006-06-02 1:15 ` Dave Airlie
2006-06-02 2:18 ` Jon Smirl
2006-06-01 22:34 ` D. Hazelton [this message]
2006-06-02 2:58 ` Jon Smirl
2006-06-01 23:01 ` D. Hazelton
2006-06-02 3:16 ` Jon Smirl
2006-06-02 0:34 ` D. Hazelton
2006-06-02 2:45 ` Dave Airlie
2006-06-02 3:27 ` Jon Smirl
2006-06-02 4:28 ` Jon Smirl
2006-06-02 0:35 ` D. Hazelton
2006-06-02 9:00 ` Pavel Machek
2006-06-03 3:21 ` Kyle Moffett
2006-06-03 1:25 ` D. Hazelton
2006-06-03 5:55 ` Jon Smirl
2006-06-03 2:09 ` D. Hazelton
2006-06-03 6:31 ` Jon Smirl
2006-06-03 2:38 ` D. Hazelton
2006-06-03 4:03 ` Jon Smirl
2006-06-08 7:02 ` Helge Hafting
2006-06-08 7:40 ` Daniel Hazelton
2006-06-08 8:30 ` Antonino A. Daplas
2006-06-09 2:44 ` Daniel Hazelton
2006-06-02 4:34 ` Ville Syrjälä
2006-06-02 0:36 ` D. Hazelton
2006-06-02 6:19 ` Dave Airlie
2006-06-02 17:31 ` Ville Syrjälä
2006-06-02 1:42 ` Antonino A. Daplas
2006-05-31 8:08 ` Pavel Machek
2006-05-30 23:38 ` Daniel Stone
2006-05-30 23:38 ` Pavel Machek
2006-05-30 23:55 ` Jon Smirl
2006-05-30 23:38 ` Pavel Machek
2006-05-31 0:00 ` Antonino A. Daplas
2006-05-31 0:47 ` Jon Smirl
2006-05-31 1:23 ` Antonino A. Daplas
2006-05-31 2:34 ` Jon Smirl
2006-05-18 20:27 ` replacing X Window System ! D. Hazelton
2006-05-17 13:20 ` Lennart Sorensen
2006-05-17 18:34 ` Jan Engelhardt
2006-05-16 23:10 ` Felipe Alfaro Solana
2006-05-17 8:46 ` Ondrej Zary
2006-05-17 9:59 ` Carlos Silva
2006-05-17 13:27 ` Lennart Sorensen
2006-05-17 17:37 ` David Schwartz
2006-05-17 17:46 ` alan
2006-05-17 17:56 ` Gábor Lénárt
2006-05-17 17:12 ` Felipe Alfaro Solana
2006-05-19 10:27 ` [OT] " Jan Knutar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200606012234.31566.dhazelton@enter.net \
--to=dhazelton@enter.net \
--cc=Valdis.Kletnieks@vt.edu \
--cc=abraham.manu@gmail.com \
--cc=adaplas@gmail.com \
--cc=airlied@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=helge.hafting@aitel.hist.no \
--cc=jonsmirl@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxcbon@yahoo.fr \
--cc=mrmacman_g4@mac.com \
--cc=pavel@ucw.cz \
--cc=santiago@mail.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox