On Thu, 2005-06-16 at 22:28 +0100, Dave Airlie wrote:
> >
> > Out of curiosity - who are the people that *need* intelfb ? (as opposed to
> > *want*).
> 
> 
> Xegl people will need a kernel framebuffer driver (not necessarily running
> the console) but something loaded to take care of X when it starts ...
> 
> also this memory manager has to go somewhere, and part of it will be in
> the kernel.. no point having a memory manager if someone else is going to
> write to your memory anyways..

In fact, the framebuffer support/mode setting doesn't have to be in the
kernel stricto-sensus.

The only sane approach, from my perspective, is to create a separate
library/daemon/whatever that becomes the primary mode setting (& desktop
geometry) interface. Wether it lays on top of fbdev or some userland
based binary blobs is almost irrelevant (at least it is to the client
application). This also isolates us from the underlying kernel beeing
linux, some BSD, OS X, whatever...

What the kernel need to provide however is some slightly improved DRM
that provides the basic services of mapping the card resources, dealing
with interrupt, and beeing present as a PCI driver for the card
kernel-wise.

Wether that kernel part does the actual mode setting (and then the
userland library can use it) or not is almost irrelevant. An easy way to
prototype such a library however would be to build something on top of
fbdev.

There are at least 2 different issues also regarding the HW ownership
that are more/less overlapping. One is the VGA arbitration, the other
one is the basic HW ownership of a given card. fbdev  provides
absolutely no kind of arbitration/locking/whatever. All we have
currently at the linux kernel level is this notion of 'taking control'
of the VT subsystem by switching it to KD_GRAPHICS mode.

What could be done here is to have our library/daemon be responsible for
that. That is, "modern" clients (Xegl, others) would use the library for
resource sharing and access arbitration. The library itself would switch
the entire system to KD_GRAPHICS on the first client getting in. We need
a mecanism to relinguish ownership as well, which includes eventually
loss of HW context etc... and proper synchronisation with client
programs, to deal with VT switches and system suspend/resume.

This is all quite a bit of work, we have discussed various possibilities
a while back on IRC and I think I even posted some bits of proposed API
for the mode setting bits a long time ago, I've also have some VGA
arbitration stuff half-done that I itend to finish for KS, but I lack
time and I don't necessarily have perfect ideas on the kind of
interfaces to provide for these things.





-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to