cfb conversion effort (was Re: Debugging X.org drivers?)
ajax at nwnk.net
Sat Oct 30 23:07:14 PDT 2004
On Sunday 31 October 2004 00:14, Roland Mainz wrote:
> Adam Jackson wrote:
> > Kendall, I'm for some reason thinking that the SciTech drivers were based
> > on the cfb framebuffer core. cfb will not work under dlloader with 6.8
> > without a patch:
> > http://freedesktop.org/bugzilla/show_bug.cgi?id=1114
> > but you may be better off switching to fb.
> Do you have any example patch which shows how to turn a driver from cfb
> over to fb ? HP's PCL drivers use cfb extensively and it may be nice to
> switch them over, too...
Sure. One trivial example is the RealVNC conversion patch Kristian Høgsberg
For drivers that treat the fb layer as something of a black box, this is all
you need to do. Most of the xfree86 ddx drivers are of this sort. Until
fairly recently there was still optional cfb support in six of the drivers,
and http://freedesktop.org/bugzilla/show_bug.cgi?id=1192 shows the changes I
made to drop that support. In all but s3virge this support was disabled at
compile time, and in s3virge the cfb code was slower and, as with cfb in
general, didn't support Render (and therefore Composite).
Intermediate challenge would be something like sunleo or sunffb, where magic
GC handling is used to implement primitive acceleration - double entendre on
"primitive" totally intended. This is pretty gross and fb doesn't expose the
same functionality; I suspect it can be dropped in most cases without too
much pain. There's an experimental patch to convert sunleo to fb:
which I have received no feedback on as of yet, and I don't have the hardware
to verify it. sunffb is left as an exercise for the reader.
The final step would be converting our overlay support to use fb. I don't
even know where to begin here, largely for lack of hardware. I see a couple
of functions in the fb layer that look like they're intended for overlay
support. I've been tempted to just drop our overlay support altogether to
see who complains; my guess is, roughly, nobody.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
More information about the xorg