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

NVIDIA Posts Working "GK20A" Support For Nouveau

NVIDIA

Published on 24 March 2014 12:30 PM EDT
Written by Michael Larabel in NVIDIA
3 Comments

A NVIDIA Linux engineer has published a new set of twelve patches for the open-source Nouveau driver. These kernel patches paired with a modified Mesa driver yield a open-source combination that can start to run shaders and render triangles.

Alexandre Courbot of NVIDIA published these patches for providing initial hardware support for the GK20A graphics core inside of Nouveau, the open-source NVIDIA Linux driver that originally started out via community reverse-engineering. It was only in September of last year that NVIDIA officially decided to start helping out Nouveau in ways they can -- we've seen some patches surface, clarification of some technical items that have troubled Nouveau developers, and some very basic documentation. However, there have yet to be any huge desktop GPU code drops or public documentation dumps like we see from AMD and Intel, but this work on the GK20A is getting close.

The GK20A is the Kepler-based graphics core found within the Tegra K1, NVIDIA's very powerful next-generation ARM SoC that will eventually feature 64-bit ARM cores and a graphics core derived from their mainline Kepler architecture. While there's been separate work in the past on Tegra "GeForce" graphics, with Tegra K1 and beyond they're on the same architecture as the desktop GeForce graphics and can be relying upon the same driver code-base.

NVIDIA Posts Working "GK20A" Support For Nouveau
The Tegra K1 is reportedly about 50 times faster than the Tegra 2, the dual-core ARM Cortex-A9 SoC with GeForce ULP graphics, what's found in the previously reviewed Trim-Slice.

In early February NVIDIA began working on open-source Tegra K1 support for Nouveau. While NVIDIA currently isn't planning desktop Nouveau patches, on the mobile side with the Tegra K1 they are planning to ensure there's working code in place to support the GK20A core. We have seen some patches while the patches coming out today in this second patch-set provide the actual hardware enablement for the GK20A inside the Nouveau DRM driver.

The set of twelve patches have the actual chip support and work to the point where a slightly-modified version of Mesa with the Nouveau Gallium3D drivers can run shaders and render triangles on GBM. There's still a few hacks to work through and the Nouveau Gallium3D changes have not yet been published by NVIDIA, but this overall is a big milestone.

NVIDIA Posts Working "GK20A" Support For Nouveau
The Tegra3-based "Cardhu" reference tablet that's now pale in comparison to the power offered by the NVIDIA Tegra K1 SoC.

From these patches we learn that the GK20A core resembles the "NVE4" graphics processor, what is officially the GK102~GK106 GPUs. This graphics core was the first Kepler family part and is what's found in the GeForce GTX 660 Ti, GTX 680, GTX 760, and other early GeForce 600/700 graphics cards. Much of Nouveau's NVE4 code works for the Tegra K1 GK20A graphics.

These brand new Nouveau patches for bringing up the GK20A can be found on the DRI-devel mailing list. While the Linux 3.14 kernel has yet to be released, it's probably unlikely to see these new patches merged for the Linux 3.15 kernel given the review time, length of the merge window, etc. The user-space Gallium3D patches for the GK20A remain to be seen. There's also open questions like how the performance / battery life would be on this driver, given that Nouveau currently doesn't support dynamic power management / re-clocking and the Nouveau Kepler support isn't in the best shape.

While NVIDIA is working on this open-source Tegra support, their official graphics driver on Linux and Android will be the binary-only NVIDIA graphics driver. Their mainline NVIDIA Linux driver will work with the hardware and since last year they ported their binary GPU driver to ARM.

In terms of the Tegra K1 hardware, there's no official release date yet on the first K1 devices but last week when I was out at GDC 2014 I was trying out a few reference designs and found the Tegra K1 to be wonderful and very efficient, at least under Android with the binary NVIDIA driver. The 32-bit K1 will have a quad-core Cortex-A15 MPCore R3 with low-power companion core while the first 64-bit K1 is expected to be a dual-core "Project Denver" chip. The Kepler-based GK20A GPU has 192 GPU shader cores, a reported 950MHz clock speed, and is reportedly capable of 364 GFLOPS.

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. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
  2. Sumo's Omni Gets Reloaded
  3. AMD A10-7800 & A6-7400K APUs Run Great On Linux
  4. Radeon Gallium3D Is Running Increasingly Well Against AMD's Catalyst Driver
Latest Linux Articles
  1. CPUFreq Scaling Tests With AMD's Kaveri On Linux 3.16
  2. Enabling HyperZ Is Still An Easy Way For Faster RadeonSI Performance
  3. AMD Kaveri: Catalyst vs. RadeonSI Gallium3D On Linux
  4. Linux OpenCL Performance With The Newest AMD & NVIDIA Drivers
Latest Linux News
  1. Systemd 216 Piles On More Features, Aims For New User-Space VT
  2. Mesa 10.2.6 Has Plenty Of OpenGL Driver Bug Fixes
  3. Wasteland 2 Gets An Official Release Date
  4. Dead Island For Linux Appears Imminent
  5. LXQt 0.8 Is Being Released Soon
  6. Linux 3.17 Lands Memfd, A KDBUS Prerequisite
  7. Humble Jumbo Bundle 2 Shafts Linux Gamers
  8. Ubuntu 14.10's Feature Freeze Is This Wednesday
  9. New VM Software Claims To Be 4.5x Faster Than QEMU
  10. Kpatch Gets Exposure This Week, kGraft Misses Out
Latest Forum Discussions
  1. Dead Island for Linux (?)
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. AMD Offers Mantle For OpenGL-Next, Pushes Mantle To Workstations
  4. The dangers of Linux kernel development
  5. Next-Gen OpenGL To Be Announced Next Month
  6. OpenGL 4.5 Released With New Features
  7. Updated graphics drivers for Ubuntu 12.04 Precise LTS
  8. Builder: A New Development IDE Being Built For GNOME