What to do now after Xgl and Xegl are gone....

david at protonic.nl david at protonic.nl
Tue Jun 16 02:32:37 PDT 2009


> On Fri, 2009-06-12 at 12:33 +0200, David Jander wrote:
>> Hello,
>>
>> We are developing an embedded-linux system that has a TFT LCD display
>> and
>> should be able to run different desktop-linux applications using mostly
>> the
>> GTK+ toolkit on top of the X.org Xserver.
>> Right now we are using kdrive (xserver from latest git) with its fbdev
>> driver,
>> but as it seems we will need Xcomposite (with hardware-acceleration). I
>> have
>> been searching for quite a while now, but can't seem to find a clear
>> hint as
>> to how to accomplish this with current X.org technology.
>> Our hardware platform (Freescale MPC5121e processor) has a PowerVR MBX
>> graphics core that comes with OpenGL-ES library and EGL support. That
>> way I
>> came to the conclusion that Xegl might be an option.... but Xegl is
>> dead.
>> What now?
>> I don't fear hacking Xserver or driver source-code to get something
>> working on
>> a strange platform, but where should I begin? I don't have DRI2 drivers,
>> nor
>> GLX libraries.... just (closed-source) Khronos OpenGL-ES-1.1 and EGL...
>> and a
>> linux-framebuffer device, and I want an X-server with Xcomposite
>> support.
> 
> Composite isn't a rendering API.  In itself, it is not something you can
> hardware-accelerate.  Your compositing manager will use some rendering
> API or other, and _that_ could be accelerated or not.

Thanks for clarifying that part :-)

> You probably want to start with something like the Xorg fbdev driver and
> then start bolting on acceleration paths that call down into the EGL
> driver.  Getting that to interact well with GLX clients should be
> entertaining.

I was suspecting something like that.... Isn't there anybody else who has done 
this before? How do the folks from Maemo do this?
Well, if there isn't, I think 'm going to try this myself. At least it would 
be an interesting learning experience :-)
Can I use call EXA functions (i.e. exaDriverAlloc())from kDrive also (maybe 
via hooks from fbdevFuncs->initAccel()) ?
Any further hints are highly appreciated, since besides things like hacking 
RGBA support into kdrive (for a "transparent" X server) I have not done much 
with this code yet and have yet to discover how most things are set up...

Thanks a lot!

Best regards,

-- 
David Jander
Protonic Holland.


More information about the xorg-devel mailing list