X Window System track

The X Window System has seen great change over the past year with low-level device handling moving from userspace to the kernel. Now that this important but low-level infrastructure is in place, it is time to look at a higher level of the Linux graphics stack.

And who better to bring us to a higher level than Keith Packard, project lead for the Xserver and for the official reference implementation of the X Window System? Keith has put together a can’t-miss lineup that covers three important topics, each with a pair of potential solutions and a moderated Q&A session.

The first topic is the “Video API Deathmatch: VDPAU vs. VAAPI”, where “VDPAU” is NVIDIA’s Video Decode and Presentation API for Unix, and “VAAPI” is the Video Acceleration API led by Intel, and (not surprisingly) supported by recent Intel integrated graphics hardware, but also supported by recent S3 Graphics hardware. Stephen Warren will be putting on the gloves for VDPAU and Jonathan Bian will be defending VAAPI’s honor. Keith will then moderate the Q&A session, with questions taken from any surviving members of the audience.

The second topic is a more placid discussion of compositing architecture, featuring “Wayland – A New Display Server for Linux” by Kristian Høgsberg and “Compositing, OpenGL, Double-Buffering, and Dragons” by Jesse Barnes. The reason we expect this discussion to be more placid is that Kristian asserts that Jesse’s work will always be relevant. On the other hand, Kristian also compares Jesse’s work to FORTRAN, so you be the judge. Kristian will show us how moving functionality (including fonts, OpenGL, Cairo 2D rendering, GEM, and kernel mode setting) into the kernel and libraries paves the way for small special-purpose display servers such as Wayland. Wayland promises to enable Linux GUIs to run efficiently on yet-smaller embedded devices. Jesse will show us how OpenGL and other pre-existing APIs are affected by a compositing environment. This discussion is critically important: although compositing promises to provide much-needed flexibility to system designers, we need compositing to work efficiently for all applications, while at the same time solving persistent problems with buffer tearing and memory usage.

The third and final topic is 2D acceleration on modern GPUs, with “The Battle for 2D Acceleration” by Chris Wilson and “2D X State Tracker for Gallium” by Jakob Bornecrantz. Chris will show us a direct-to-DRM implementation in Cairo, after which Jakob will present recent work in Gallium. Given that our current 2D architectures (EXA/XAA/UXA) all fail to provide credible acceleration for sophisticated 2D applications, a new direction is clearly needed. Perhaps Chris’s or Jakob’s work will show the way to a fully accelerated tesselator for these applications.

Our new Linux graphics architecture provides the infrastructure required for fantastic new systems, so please join us to work out video APIs, compositing, and 2D acceleration at this year’s Linux Plumbers Conference!

Proposals for this track

* Compositing, OpenGL, double-buffering, and dragons

Overview of the current state of compositor interfaces and their interactions with OpenGL double-buffering.
X Window System 06/16/2009
Ian Romanick, Jesse Barnes

* ePaper Progress

e-Paper Development, Progress and Problems
X Window System 05/28/2009
Jaya Kumar

* Remote Video Acceleration for X-Window System

It is a solution to enable remote video acceleration on libVA for X-Window. It adds remote playback feature for libVA but does not require video-decoding capability on the client side.
X Window System 06/22/2009
Austin Hu, Kecheng Lu

* Shatter

Shatter is a proposed upgrade to EXA that eliminates Virtual screen sizes and scanout/rendering limits.
X Window System 06/15/2009
Corbin Simpson

* The Battle for 2D Acceleration

The initial impetus for cairo-drm came from a desire to experiment with GEM on my i915, and a need to provide an acceleration architecture for the wayland system compositor. (wayland is a minimalistic compositor and input multiplexer that requires client-side rendering.) It proved very easy to incorporate a drm/i915 backend into cairo; first by adapting the existing EXA driver, then to extend it to provide full acceleration for all patterns and to accelerate some of cairo's higher level operations. (The i915 hardware does not seem amenable for offloading tessellation, which has limited just how much we can accelerate in the backend. On more capable hardware, such as the fully programmable i965, we should be able to achieve much more.)
X Window System 06/09/2009
Chris Wilson

* Video API Deathmatch: VDPAU vs. VAAPI

Video API Deathmatch: VDPAU vs. VAAPI
X Window System 09/14/2009
Stephen Warren, Jonathan Bian

* Wayland - A New Display Server for Linux

Over the last few years the graphics stack have been split up and refactored into shared libraries, kernel drivers and other components. The X server provides a lot of legacy functionality that isn't used by the modern, composited Linux desktop. Wayland is a new display server that builds on top of all those components to provide a minimal foundation for a composited destkop. X can run under Wayland with very little overhead for legacy applications.
X Window System 06/15/2009
Kristian Høgsberg

* Xorg State Tracker: The last Xorg driver

A talk about Gallium and the Xorg state tracker and where they fit in and where they are going.
X Window System 06/15/2009
Jakob Bornecrantz, Corbin Simpson