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. AMD R600g/RadeonSI Performance On Linux 3.16 With Mesa 10.3-devel
  2. Intel Pentium G3258 On Linux
  3. SilverStone Precision PS10
  4. ASRock Z97 Extreme6
Latest Linux Articles
  1. KVM Benchmarks On Ubuntu 14.10
  2. X.Org Server 1.16 Officially Released With Terrific Features
  3. Ubuntu With Linux 3.16 Smashes OS X 10.9.4 On The MacBook Air
  4. Preview: Benchmarking CentOS 7.0 & Scientific Linux 7.0
Latest Linux News
  1. Unigine Develops City Traffic System, A Driving Simulator
  2. Intel 3.0 X.Org Driver Still Baking, New Development Release
  3. Eric Anholt Makes Progress With Broadcom VC4 Graphics Driver
  4. Intel Is Getting Very Close To OpenGL 4.0/4.1/4.2 Mesa Support
  5. Valve Is Still Hiring For SteamOS, Linux Work
  6. Users Warned About Possible Regressions With DRI3
  7. GNOME Shell Gets Wayland HiDPI Fonts, Mutter Gets Touch Gestures
  8. BPTC Texture Compression Comes To Nouveau After Intel's Work
  9. Development Continues For Supporting EXT4 On NVDIMMs
  10. Libinput 0.5 Improves Pointer Acceleration, Adds A Configuration API
Latest Forum Discussions
  1. Radeon related kernel bug??
  2. AMD Publishes Open-Source Linux HSA Kernel Driver
  3. Next-Gen OpenGL To Be Announced Next Month
  4. Open-Source Radeon Performance Boosted By Linux 3.16
  5. Remote gui not accessible in Phoronix Test Suite 5.2
  6. AMD "Hawaii" Open-Source GPU Acceleration Still Not Working Right
  7. Updated and Optimized Ubuntu Free Graphics Drivers
  8. In Road To Qt, Audacious Switches From GTK3 Back To GTK2