Nouveau Gallium3D Kepler Is Already Here

Posted by Michael Larabel on April 14, 2012

Over three months passed between the time the Radeon HD 7970 launched and the time that initial Gallium3D support landed (yesterday). So how long is it going to take for a Gallium3D driver for NVIDIA's GeForce GTX 680 "Kepler" that launched just last month and has to be reverse-engineered by the community Nouveau members? Well, as of this afternoon, the Kepler Gallium3D driver is already available.

As talked about on the GTX 680 launch day, two members of the Nouveau community managed to get access to early Kepler hardware through unspecified means. At launch they already had the support working for the Nouveau DRM/KMS driver so it could be pulled quickly into the Linux 3.4 kernel, which had its merge window open at the time. Afterwards they pushed the support into the xf86-video-nouveau DDX and now they have support for Kepler in Nouveau Gallium3D. Benefiting them is that NVIDIA's graphics architecture didn't change too much in going from Fermi to Kepler.

As said in this commit today, "Most things that work on Fermi should work on Kepler too. There are a few performance optimizations left to do, like better placement of texture barriers and adding scheduling data to the shader instructions (without them, a thread group will be masked for 32 cycles after each single instruction issue)."

The changes between NVIDIA's GeForce 400/500 "Fermi" series and the GeForce 600 "Kepler" isn't as nearly as invasive as going from the Radeon HD 6000 "Northern Islands" / "Cayman" to Radeon HD 7000 "Southern Islands" with the new Graphics Core Next (GCN) architecture, but still the Nouveau driver has managed quite nice timing in this case. For reference, the Radeon HD 6000 series (which wasn't as invasive in going from Northern Islands to Southern Islands / GCN) took two months before the support arrived to succeed AMD's Radeon "Evergreen" generation. Adding in the Radeon HD 6900 Cayman support also took some time.

Meanwhile the Nouveau developers reverse-engineered and tacked in support for the latest-generation hardware in less than one month. This isn't to bash the small open-source AMD crew, but to say nice job to the Nouveau developers. Enabling the NVIDIA GeForce GTX 600 series open-source support in the Mesa repository just resulted in a net of around 600 lines of new code.

As usual though, an initial limitation of this new-found open-source support is that the Kepler acceleration code requires the external NVIDIA firmware to be loaded. This firmware isn't re-distributable so first you must load the NVIDIA graphics driver while MMIOtrace support is found within the kernel and then dump the bits. After that point, the Nouveau Kepler support should hopefully be good to go. I need to send back my GTX 680 Kepler soon, but will try to run some quick Nouveau benchmarks versus the NVIDIA binary blob on it this weekend.

The Nouveau Gallium3D Kepler support has evidently been done for a few days already but was held up by the massive Nouveau code push with the new libdrm interface.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
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. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Hot Relocation HDD To SSD Support For Btrfs
  2. Phoronix Test Suite 4.6.0 "Utsira" Released
  3. New Intel X.Org Driver Supports All Of Haswell
  4. SQLite Now Faster With Memory Mapped I/O
  5. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  6. Qt For Tizen Launches, Based On Qt 5.1
  7. KTAP Released For Linux Kernel Dynamic Tracing
  8. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  9. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  10. Handbrake 0.9.9 Supports OpenCL Offloading
  11. Freedreno Gallium3D Now Banging The Adreno A3XX
Latest Forum Talk
  1. Jolla Announces Their First Phone
  2. Microsoft Releases Skype For Linux 4.2, Has...
  3. DragonFly 3.4 vs FreeBSD 9.1 on phoronix test...
  4. Intel Linux OpenGL Driver Leading Over Apple OS X
  5. The Cost Of Ubuntu Disk Encryption
  6. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  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