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

Nouveau Driver Improves Buffer Swapping

Nouveau

Published on 02 March 2012 02:00 PM EST
Written by Michael Larabel in Nouveau
2 Comments

While it's not often these days that there's worthwhile changes to talk about in an X.Org DDX driver, happening within the Nouveau driver camp in recent weeks has been some improvements to this open-source NVIDIA driver's buffer swap implementation and time-stamping.

Mario Kleiner originally published a set of patches to the Nouveau mailing list in mid-February to improve the buffer swap handling. Among the changes presented by the nine Nouveau patches were to fix page-flipping support on moderns (the Nouveau page-flipping broke around the X.Org Server 1.11 release, but this patch fixes it for 1.12), support for page-flip completion events from the kernel, and a new SwapLimit X configuration option.

The SwapLimit option for the xorg.conf takes advantage of the SwapLimit API. This option allows for selecting a swap limit of double-buffering or triple-buffering by the driver. Changes made also ensures it works correctly for precise and reliable swap scheduling and time-stamping.

Additionally, another patch attempts to make for "more sane swap completion events" when dealing with non-fullscreen windows. However, this non-fullscreen implementation still isn't perfect and could be further improved. The other patches provide various fixes.

As said in the original mailing list post by Mario Kleiner, "They work pretty well for me and finally make nouveau very useable for the kind of scientific applications that require precise swap scheduling and timestamping, so i'd love to see them reviewed and hopefully included into the ddx soon."

While a bulk of the work landed last month on the list, yeserday there were two new patches by Kleiner.

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. PC-BSD 10.1.2 To Add Tor Mode, LibreSSL & Other Features
  2. Valve Launches SteamOS Sale, Confirms A Lot Of New Linux Games
  3. Ubuntu Cloud Switches Over To Using Systemd By Default
  4. System76 Introduces The Broadwell-Powered, Ubuntu-Loaded "Meerkat"
  5. Xfce 4.12 Might Make It For Fedora 22
  6. Pictures Of The Near Production Ready Ubuntu Tablet
  7. OpenVG Support Stripped From Gallium3D
  8. Mozilla Is Getting Excited About WebGL 2
  9. ZOTAC Announces Steam Machine SN970, Powered By SteamOS
  10. Allwinner Continues Violating The LGPL
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