Nouveau's OpenGL Performance Approaches The NVIDIA Driver

Published on March 21, 2011
Written by Michael Larabel
Page 1 of 6
Discuss This Article

As I began to share over the weekend, the community-created Nouveau driver that's open-source and is written by clean-room reverse-engineering the NVIDIA binary display driver, has reached a serious milestone. For low-end NVIDIA GPUs, the Nouveau driver based upon the Mesa Gallium3D architecture is now as fast, or even faster, than NVIDIA's official proprietary driver.

Crossing this milestone happens with the Linux 2.6.39 kernel, which has not even had its first release candidate yet with the Linux 2.6.38 kernel being released just one week ago. The early change that so greatly affects the Nouveau OpenGL performance is the merging of KMS/DRI2 page-flipping for the Nouveau DRM (Direct Rendering Manager) driver within the Git tree that will form the Linux 2.6.39 release. In last week's pull, DRI2/KMS page-flipping was enabled for the Nouveau DRM along with z-compression and various other changes that have built-up since the 2.6.38 kernel merge window was open back in January.

It was in the Linux 2.6.38 kernel where the Radeon page-flipping was introduced for ATI/AMD hardware, and that resulted in dramatic performance improvements for the open-source driver too. Page-flipping is a major win as it allows for faster performance by simply changing a pointer between the screen's front and back-buffers rather than copying the contents to/from the front/back-buffers. This page-flipping not only allows for faster performance, but it also ensures tear-free screen updating since nothing has to be copied to the front-buffer. The benefits are the same for the Nouveau driver, but with this open-source driver already performing quite good in relation to the proprietary NVIDIA driver, it happens to be that for some GPUs this is enough to push it to running at the same speed as the proprietary NVIDIA driver.

For these initial Nouveau tests using the latest Mesa 7.11-devel Gallium 0.4 Git code as of 2011-03-18 and also the Git code of the xf86-video-nouveau DDX and Linux kernel (from the linus-2.6.git tree) from the same date, an Intel Sandy Bridge system was used. It was the Intel Core i5 2500K CPU, Sapphire Pure Black P67 Hydra motherboard, 2GB of DDR3 system memory, and 250GB Seagate SATA HDD. The NVIDIA graphics cards tested in this article include the GeForce 8500GT 512MB, GeForce 9500GT 1024MB, GeForce 9800GT 512MB, and GeForce GT 220 1024MB. Why no other NVIDIA graphics cards for this testing? It is explained at the end of the article.

The binary driver used in testing was the NVIDIA 270.30 Beta. Besides the updated graphics stack and kernel, this was an Ubuntu 10.10 x86_64 installation with GNOME 2.32 and Compiz, X.Org Server 1.9.0, GCC 4.4.5, and an EXT4 file-system.

Tests included Nexuiz, OpenArena, World of Padman, Urban Terror, VDrift, and Lightsmark via Phoronix Test Suite 3.0 and OpenBenchmarking.org.

Worth noting with the Nouveau driver that, unlike the Radeon driver, there is no SwapbufferWait xorg.conf option with the xf86-video-nouveau DDX. There is a page-flipping xorg.conf option for the Nouveau driver, but with the 2.6.39 kernel and latest DDX, page-flipping is enabled by default.

<< Previous Page
1
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. The Cost Of Ubuntu Disk Encryption
  2. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. F2FS File-System Shows Regressions On Linux 3.10
Latest Linux News
  1. Freedreno Gallium3D Now Banging The Adreno A3XX
  2. Jolla Announces Their First Phone
  3. Mageia 3 Released, Still Using Legacy GRUB
  4. NetBSD 6.1 Brings In More Features
  5. Using Six Monitors With AMD's Open-Source Linux Driver
  6. Benchmarking The Intel P-State, CPUfreq Changes
  7. FreeBSD Still Working On Next-Gen Package Manager
  8. DNF Still Advancing As Experimental Yum For Fedora
  9. Logitech Begins Supporting Linux Users
  10. Modern Intel Gallium3D Driver Still Being Toyed With
  11. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
Latest Forum Talk
  1. Jolla Announces Their First Phone
  2. Logitech Begins Supporting Linux Users
  3. Logitech supports linux!
  4. Freedreno Gallium3D Now Banging The Adreno A3XX
  5. The Cost Of Ubuntu Disk Encryption
  6. Features Being Developed For KDE 4.11 Desktop
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite