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. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  2. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
  3. OCZ Vector 150 SSD On Linux
  4. Noctua i4 CPU Cooler: Great For Cooling High-End LGA-2011v3 CPUs
Latest Linux Articles
  1. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
  2. 12-Way AMD Catalyst 14.12 vs. NVIDIA 346 Series Linux GPU Comparison
  3. AMD Catalyst 14.12 Omega Driver Brings Mixed Results For Linux Users
  4. 6-Way Winter 2014 Linux Distribution Comparison
Latest Linux News
  1. Linux 3.19-rc1 Kernel Released Ahead Of Schedule
  2. Civilization: Beyond Earth Linux GPU/Driver Benchmarks
  3. X.Org Server 1.16.3 Released To Fix Security Issues
  4. Linux 3.19 Merge Window Closes Ahead Of Schedule
  5. MIPS R6 Architecture Now Supported By GCC
  6. LowRISC To Feature Tagged Memory & Minion Cores
  7. Intel Skylake Audio Support For Linux 3.19
  8. After 10+ Years, NetworkManager Reaches v1.0
  9. VDPAU Updated To v0.9
  10. An Open Hardware Random Number Generator Proposed
Latest Forum Discussions
  1. FPS capped on Linux (AMD fglrx drivers)
  2. Need some hand holding with upgrading xserver
  3. Are there an app using HSA ?
  4. The New SuperTuxKart Looks Better, But Can Cause GPU/Driver Problems
  5. XLennart: A Game For Systemd Haters With Nothing Better To Do
  6. Updated and Optimized Ubuntu Free Graphics Drivers
  7. Debian init discussion in Phoenix Wright format
  8. Bench specific mount point