linux.conf.au 2014

Perth, Western Australia - 6th to 10th January 2014

linux.conf.au


<-- Back to schedule

Rewriting GLX To Rewrite X

Project: xserver

GLX is the glue between OpenGL and X11. The GLX code in X.org has not been well loved over its nearly 15-year history, wrenched about to fit the changing design of the DRI underneath it. Still, it works, and GLX applications are now not just games but web browsers and desktop shells.

Some of us would really like not to run X as our primary display server, but might have some GLX apps that need to keep working. Running a nested X server for those apps requires that the nested server support GLX. Due to the internals of the GLX code, this is way uglier than it needs to be, if it works at all.

Happily the solution involves deleting quite a bit of code.

In this talk I will cover the role of GLX in X, and outline how it has changed over the years. I will talk about the process of porting GLX both to itself and to EGL, and the benefits of doing so. I will also cover integrating this work with the glamor subsystem, giving an X server using EGL for all accelerated rendering, which naturally will be the X server running the presentation.

Adam Jackson

Adam works for Red Hat, where he deletes bugs in X, Mesa, and elsewhere in the low bits of graphics.