Re: [RFC] enhancing the kernel's graphics subsystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday, May 21, 2007, Benjamin Herrenschmidt wrote:
> > In collaboration with the FB guys, we've been working on enhancing
> > the
> > kernel's graphics subsystem in an attempt to bring some sanity to the
> > Linux graphics world and avoid the situation we have now where
> > several
> > kernel and userspace drivers compete for control of graphics devices.
>
>  .../...
>
> A little note about initial mode setting at boot...
>
> I do stongly beleive that the decision of what mode to choose should not
> be made in the kernel. At boot the kernel should either leave the HW in
> whatever state the FW set it (and text mode is fine) or setup some sane
> default (ie 640x480 has the most chances of working) if that's not an
> option, maybe some very minimum EDID parsing in case you have a fixed
> frequency weirdo panel, but that's it (unless it's a mac an OF tells you
> what to use :-)
>
> The kernel would provide userland with connector infos (presence load
> detect, EDID, ...) and userland gets to decide what to do.

The current code does its best to figure out what modes are available and 
tries to pick a good one for each display.  It sounds like you're mainly 
concerned with the actual mode picking, not the mode and output detection 
and enumeration?  If so, that's a pretty easy change to make.  But if 
you're also worried about the kernel building mode lists, then we'll have 
bigger changes to make...

> Some reasons to keep that policy completely out of the kernel even at
> boot time are:
>
>  - User may want to configure his default gfx setup and have it up early
>
>  - EDID do lie, monitors routinely ship with windows .inf files
> containing "updated" infos apple has that too in OS X (EDID overrides
> afaik) etc.... and if we're going to do such a database of known
> monitors, it should definitely not be in the kernel. Besides, we want to
> add more infos that EDIDs don't provide most of the time to it like
> subpixel ordering etc...
>
>  - It sounds better that way :-) (yeah, that's the best reason !)
>
> So while I agree that the register frobbing, memory management, etc...
> should be indeed moved to the kernel as you guys have been doing lately,
> the policy of deciding what mode to set should totally stick to
> userland.
>
> IMHO, the best would be a lib (or daemon or both) for monitor detection
> & mode setting that is separate from X :-) That could handle storing the
> admin's default setup (including weird monitor info if any) and
> restoring it at boot time, etc...

I'm not really sure how much of a problem broken EDIDs will be.  The X 
server only has a few quirks for broken EDIDs now, nothing major afaict, 
and apparently the FB layer already has some code for handling EDID 
quirks, so I don't think that'll be our biggest problem.  So far, it looks 
like handling laptop panels is a bit trickier (at least for Intel 
chips)...

Jesse

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux