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 Project Has Huge Surprises Today

Nouveau

Published on 22 March 2012 11:51 AM EDT
Written by Michael Larabel in Nouveau
26 Comments

The reverse-engineered Nouveau driver project has two huge surprises to share with the NVIDIA-using Linux desktop community today. One announcement concerns new hardware enablement (Kepler!) and the other concerns the Nouveau driver's position within the Linux kernel.

This morning I wrote about the launch of the NVIDIA GeForce GTX 680 as the first-to-ship NVIDIA GPU based upon their brand new Kepler architecture. At the start of the morning it looked to be the usual NVIDIA launch: binary driver support should be in place with an official driver update due out at any time and it would mark the start of the usual Nouveau driver game of reverse-engineering the support in the coming months. With Fermi and past NVIDIA generations there's never been same-day open-source Nouveau support in any form, but it's generally taken months to get the display to light-up with KMS.

Moments after that Phoronix article went live this morning, there was a shocking commit to the Nouveau DRM repository. Ben Skeggs of Red Hat made a commit entitled "drm/nve0: initial modesetting support for kepler chipsets" (0a606b). With just about 50 lines of code, Ben Skeggs has managed to get KMS-based mode-setting support for Kepler. It seems that he can get a GeForce GTX 680 to light-up on Nouveau by using existing NVC0/NVD0/NV84/NV50 functionality. There really isn't any fundamentally new code to this initial Kepler Nouveau "NVE0" mode-setting support. (The Nouveau developers have previously believed the GeForce 500 NVD0 / GF119 parts used Kepler-like mode-setting.)

There isn't any acceleration support yet for Kepler or anything besides mode-setting on Nouveau, but this is welcoming at least so early Kepler adopters won't need to fall-back to the xf86-video-vesa driver and likely some less-than-ideal resolution. What's surprising besides how easy the Kepler mode-setting support went is that it's launch-day support, which the Nouveau driver has never achieved previously. The Nouveau driver isn't officially supported by NVIDIA Corp but generally they're left to reverse-engineering. Yet for today's GTX 680 launch Ben Skeggs not only somehow had a GTX 680 Kepler in advance but also managed to get it driving a display in time.

So how did this Nouveau developer at Red Hat get early Kepler access? Did NVIDIA have a hand in this community upbringing? Ben hasn't publicly said yet (it's night-time in Australia where he's based at the moment) and other Nouveau developers aren't exactly sure. Nouveau developers have expressed interest in better collaborating with NVIDIA.

The other interesting Nouveau news for this morning: Nouveau is leaving staging! With the Linux 3.4 kernel, the Nouveau driver will finally be considered part of the mainline Linux kernel as a proper DRM driver. This also means they're committing to a stable ABI for the Linux kernel and have bumped their DRM version to 1.0.

With this bump to 1.0, there isn't any final ABI breakage in the Nouveau driver. For those that don't remember, Nouveau entered the staging area in late 2009 with the Linux 2.6.33 kernel after Linus Torvalds was getting irritated about Nouveau not being mainline while shipping in Fedora, etc. Linus got his wish and Nouveau was quickly tidied up and sent into the kernel.

While living within the staging area, there was one heated and controversial ABI break to the Nouveau KMS/DRM driver.

This is a great day for Nouveau and an important milestone for this community-spawned open-source NVIDIA project. The Nouveau driver is still slower than the NVIDIA binary driver, doesn't support all of the features yet, power management is not on par, and there's other shortcomings, but the driver has progressed immensely over the years. Prost to all Nouveau developers who have worked on the project over the years!

There's also another potentially interesting development within the Nouveau camp. On IRC, a NVIDIA employee was actively recruiting Nouveau developers to try to join the company. A NVIDIA employee was inviting Nouveau employees to send in their résumés and that they also have "great internship programs." In particular, brought up was that they have an open-source Linux kernel team on the mobile side (Tegra; albeit the user-space right now is still closed-up) where they wouldn't have to dance with the binary blob. It was just earlier this month that NVIDIA joined the Linux Foundation, likely for expanding their mobile Linux focus.

Below is git pull message concerning Kepler and the Nouveau de-staging.
This pull request is unexpected and not something I had mentioned previously.

so NVIDIA announced new Kepler GPUs this morning, and Ben has killed himself getting modesetting support for them together to have on launch day. Most of the code to support the new chips has already gone in, however this pull contains a few more pieces along with the final enables so the driver binds to the new Kepler cards. Its quite amazing that nouveau can support a GPU on its launch day even if its just unaccelerated modesetting, and I'd like to have support in the next kernel.

In order to sweeten the deal, Ben has also requested nouveau destage and become ABI stable, the only change is the version number bump which he prepared userspace for quite a long time ago. The driver hasn't broken ABI since that one big break that caused a lot of fuss.

It's also quite a small set of code, and not likely to break anything.

Dave.
Again, nice job to all those involved. Be sure to come to XDS2012 Nürnberg for another Phoronix-sponsored free beer event, which will be even better than the 2011 free Phoronix beer at XDC2011 Chicago.

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 Linux Hardware Reviews
  1. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  2. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  3. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
  4. CS:GO & TF2 Extensively Tested On The Newest Open-Source Radeon Linux Driver
Latest Linux News
  1. HHVM 3.4 Adds New Features, Support
  2. More Radeon Driver Changes Queued For Linux 3.19
  3. Unigine 2.0 Alpha 2 Adds C# Support
  4. FFmpeg Is Returning To Ubuntu With 15.04 Release
  5. Linux Version Of Civilization: Beyond Earth Still Coming Along
  6. Yahoo To Become Default Search Provider For Firefox
  7. Better Fan Control Support Coming To The Open-Source Radeon Driver
  8. PTS 5.4 Milestone 6 Released - Official "Lipki" Release Is Near
  9. Ian Jackson Resigns From The Debian Technical Committee
  10. Valve's VOGL Is Finally Back To Having New Commits, OS X Support
Latest Forum Discussions
  1. Debian Init System Coupling Vote Results
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  4. Debian Developer Resigns From The Systemd Maintainership Team
  5. How to get rid of Linux
  6. how to configure module phoromatic ?
  7. Major Performance Breakthrough Discovered For Intel's Mesa Driver
  8. Script for Fan Speed Control