1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

DRI2 Sync + Swap Extensions Near Reality

X.Org

Published on 30 October 2009 11:13 PM EDT
Written by Michael Larabel in X.Org
17 Comments

When running a modern Linux graphics driver stack in a composited environment there is a lot less tearing -- particularly with regard to video playback, but OpenGL applications too -- now than there was in the past, but there is still room for improvement. One of the ways to improve this is by properly controlling the display of buffers with how often the swaps occur and to sync them with the monitor's refresh rate or the rate at which the compositor is running. Unfortunately, the X Server and open-source graphics stack have lacked such functionality even though some OpenGL/GLX extensions for this support have been around for years. Intel's Jesse Barnes though has been working on proper DRI2 support for synchronization and swapping.

Jesse has added support to Mesa and the X Server that will allow for the appropriate OpenGL/GLX extensions that expose syncing and frame counting capabilities (SGI_swap_control, SGI_video_sync, SGIX_swap_barrier, etc). This code though is currently housed in his personal Git repositories as the patches await review and feedback (mailing list message). This DRI2 synchronization and buffer swaps code is also dependent upon revisions to dri2proto and libdrm along with the latest DRM code that will eventually be pushed into the Linux 2.6.33 kernel due to its vblank event support.

Besides cutting down on tearing and other visual defects, proper synchronization of swaps can provide a smoother experience with a consistent frame-rate and can enhance the performance of some applications. More information on the technical end of this support can be found on the composite swaps Wiki page. This support isn't yet living in Git master, but it's surely on its way, which will benefit Linux desktop users.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Khronos Group Announces Vulkan, OpenCL 2.1, SPIR-V
  2. Samsung 850 EVO SSD Linux Benchmarks
  3. Kubuntu 15.04 Is Turning Out Quite Nice, Good Way To Try Out The Latest KDE
  4. 5-Way Linux Distribution Comparison On The Core i3 NUC
  5. OCZ ARC 100 Linux SSD Benchmarks
  6. Lenovo ThinkPad X1 Carbon Works Great As A Linux Ultrabook
Latest Linux News
  1. SPIR-V In GCC Is Already Being Talked About
  2. PC-BSD 10.1.2 To Add Tor Mode, LibreSSL & Other Features
  3. Valve Launches SteamOS Sale, Confirms A Lot Of New Linux Games
  4. Ubuntu Cloud Switches Over To Using Systemd By Default
  5. System76 Introduces The Broadwell-Powered, Ubuntu-Loaded "Meerkat"
  6. Xfce 4.12 Might Make It For Fedora 22
  7. Pictures Of The Near Production Ready Ubuntu Tablet
  8. OpenVG Support Stripped From Gallium3D
  9. Mozilla Is Getting Excited About WebGL 2
  10. ZOTAC Announces Steam Machine SN970, Powered By SteamOS
Most Viewed News This Week
  1. More Proof That Allwinner Is Violating The GPL
  2. The Tremendous Features Of Fedora 22
  3. Krita 2.9 Released, Their Biggest Release Ever
  4. Confirmed: Vulkan Is The Next-Gen Graphics API
  5. A Single UEFI Executable With The Linux Kernel, Initrd & Command Line
  6. Xfce 4.12 Released After Nearly Three Years Of Work
  7. 8cc: A Small C11 Compiler
  8. LLVM 3.6 & Clang 3.6 Deliver More Features, Complete C++14 Support