DRI3 Async Display Flipping For Linux, VBlank Syncing
While Mir and Wayland are the future of Linux desktop display serving, X11 isn't going to magically disappear in the near-term. X.Org Server releases will keep coming for maintaining support for existing X11 clients, other alternative operating systems and environments where Wayland/Mir don't work, etc. With the X.Org Server still having a future, Keith Packard has been working on some improvements.
For those interested in the work Keith has been doing on "DRI3", there's three blog posts so far by Keith worth reading:
Asynchronous Display Flipping for Linux - Keith has implemented Sandy/Ivy Bridge support within the Intel DRM driver for asynchronous flipping, provided the necessary Linux interfaces for advertising async flipping, and getting display flipping to work with the DRI3 Present extension. Keith still is looking at how to implement the GLX_EXT_swap_control_tear extension for this new support. Changes for this support require Keith's trees of the Linux kernel and DRM library.
VBlank Synchronization For Present - Keith's also been working on vblank synchronization for the new X.Org Present Extension. The vblank synchronization is now working. Keith feels the DRI3 extension is complete and the Present extension is mostly complete except for redirection support needed for compositors. The code is spread across a new dri3proto, presentproto, XCB proto, libxcb, X.Org Server, mesa, DRM, xf86-video-intel, and the Linux kernel.
Present Extension Redirection - The Present extension redirection work has design goals of accurate information for applications about when the presentation to the screen actually occurs, such as through the GLX_OML_sync_control extension, correct information for applications about buffer contents via EGL_EXT_buffer_age, avoid the need to "un-redirect" full-screen windows for page-flipping, and eliminating extra window copies.
For those interested in the work Keith has been doing on "DRI3", there's three blog posts so far by Keith worth reading:
Asynchronous Display Flipping for Linux - Keith has implemented Sandy/Ivy Bridge support within the Intel DRM driver for asynchronous flipping, provided the necessary Linux interfaces for advertising async flipping, and getting display flipping to work with the DRI3 Present extension. Keith still is looking at how to implement the GLX_EXT_swap_control_tear extension for this new support. Changes for this support require Keith's trees of the Linux kernel and DRM library.
VBlank Synchronization For Present - Keith's also been working on vblank synchronization for the new X.Org Present Extension. The vblank synchronization is now working. Keith feels the DRI3 extension is complete and the Present extension is mostly complete except for redirection support needed for compositors. The code is spread across a new dri3proto, presentproto, XCB proto, libxcb, X.Org Server, mesa, DRM, xf86-video-intel, and the Linux kernel.
Present Extension Redirection - The Present extension redirection work has design goals of accurate information for applications about when the presentation to the screen actually occurs, such as through the GLX_OML_sync_control extension, correct information for applications about buffer contents via EGL_EXT_buffer_age, avoid the need to "un-redirect" full-screen windows for page-flipping, and eliminating extra window copies.
15 Comments