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 Benchmarking Platform
Phoromatic Test Orchestration

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. GLAMOR + RadeonSI 2D Acceleration Is Quite Good For Open-Source AMD 2D Performance
  2. AMD Radeon R9 290 OpenGL On Ubuntu 15.04: Catalyst vs. RadeonSI Gallium3D
  3. Ubuntu 15.04 Offers Faster OpenGL For AMD Radeon GPUs On Open-Source
  4. Ubuntu 15.04 Brings Some Graphics Performance Improvements For Intel Haswell
  5. Sub-$20 802.11n USB WiFi Adapter That's Linux Friendly
  6. The Lenovo T450s Is Working Beautifully With Linux
Latest Linux News
  1. A Lot Of Improvements Are Coming For Mir 0.13, Including Work Towards Libinput
  2. Mobile Optimizations Coming For Phoronix
  3. Wayland 1.8 Alpha Release Delayed
  4. Godot Game Engine 1.1 Up To RC State
  5. ATI Rage128 Driver Now Has RandR Support
  6. Microsoft's Visual C++ Team Is Improving Clang For Windows
  7. Kodi 15.0 Beta 1 Released
  8. Lucid Sleep Support Is Being Worked On For The Upstream Linux Kernel
  9. Improvements On The Way For GNOME's Nautilus File Manager
  10. Wine 1.7.42 Implements More Of Direct2D
Most Viewed News This Week
  1. It Doesn't Look Like KDBUS Will Make It For Linux 4.1
  2. Trying Out Microsoft Visual Studio Code On Linux
  3. The Many Features Of The Linux 4.1 Kernel
  4. Microsoft Releases New Code IDE For Linux!
  5. Linux 4.1-rc1 Kernel Released, Packs In Several New Features
  6. GCC 4.9.2 vs. GCC 5 Benchmarks On An Intel Xeon Haswell
  7. QEMU 2.3 Officially Released
  8. Debian 9.0 Is Codenamed Stretch