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

Nouveau's OpenGL Performance Approaches The NVIDIA Driver

Michael Larabel

Published on 21 March 2011
Written by Michael Larabel
Page 1 of 6 - 94 Comments

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.

Latest Articles & Reviews
  1. Trying Out The Modern Linux Desktops With 4 Monitors + AMD/NVIDIA Graphics
  2. Turning A Basement Into A Big Linux Server Room
  3. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  4. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  5. The New Place Where Linux Code Is Constantly Being Benchmarked
  6. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
Latest Linux News
  1. Fedora 22 Alpha Now Available For AArch64 & PowerPC64
  2. Systemd Developers Did NOT Fork The Linux Kernel
  3. PulseAudio 7.0 To Enable LFE Remixing By Default
  4. Features & Changes Coming For Mir 0.13
  5. How Far Valve Has Come: Three Years Ago They Needed OpenGL Linux Help
  6. Audacity 2.1 Improves Noise Reduction, Adds Real-Time Effects Preview
  7. Linux 4.0-rc6 Kernel Released
  8. Automatically Managing The Linux Benchmarks Firing Constantly
  9. The Big Features Of The Linux 4.0 Kernel
  10. Mesa's Android Support Is Currently In Bad Shape
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. Improved OpenCL Support For Blender's Cycles Renderer
  3. Allwinner Continues Jerking Around The Open-Source Community
  4. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  5. GNOME 3.16 Released: It's Their Best Release Yet
  6. Systemd Change Allows For Stateless Systems With Tmpfs
  7. GNOME Shell & Mutter 3.16.0 Released
  8. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More