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

Bickering Continues About NVIDIA Using DMA-BUF

Nouveau

Published on 18 October 2012 12:02 PM EDT
Written by Michael Larabel in Nouveau
328 Comments

The fight continues about not changing the Linux kernel symbols for DMA-BUF so that NVIDIA can support NVIDIA Optimus Technology within their proprietary graphics driver.

NVIDIA is wanting to support DMA-BUF with their driver so that buffers can be shared between its driver and the other open-source (and potentially other closed-source) graphics drivers in multi-GPU systems, such as the notorious notebooks sporting both NVIDIA discrete graphics and Intel integrated graphics. NVIDIA has been after using DMA-BUF for a number of months but currently the symbols for it are exported as being GPL-only so their non-GPL driver can't access them.

NVIDIA has kindly requested multiple times so that it can share the buffers with this kernel infrastructure, but the change hasn't happened. NVIDIA isn't looking to steal a bunch of kernel code and pump it into their binary blob, they are just looking to use this unified infrastructure for passing buffers between drivers in a standardized way. ARM SoC vendors with proprietary drivers would also like to leverage DMA-BUF between their binary drivers too.

The main critic of changing the DMA-BUF symbols to not be exported as GPL-only is Alan Cox. Alan has been very vocal about rejecting the NVIDIA-requested change as he doesn't want NVIDIA's binary -- but widely-used -- graphics driver to support the DMA-BUF infrastructure. NVIDIA is now trying to properly support Optimus, but they're being blocked by Alan Cox and others.

Cox sees his rights being violated if DMA-BUF is not GPL-only even though this is kernel infrastructure code and is in the name of improving driver interoperability. Even David Airlie and other open-source graphics drivers are in support of this change. "I'd rather let the users have some hope of a sane architecture, instead of nvidia having to replace even more userspace code and kernel code with their own insane shit."

Without this, NVIDIA will be forced to reinvent the wheel and come up with their own infrastructure that might not work with the other open-source DRM drivers or just abandon their Optimus support plans. NVIDIA isn't going to simply open-source their driver and they need a way to share buffers/data with the other drivers.

Telling Linux desktop users to use Nouveau instead of the NVIDIA blob also isn't a legitimate option. The Nouveau driver is much slower than the binary driver, doesn't even have proper re-clocking support right now, the power management situation is a mess, the highest GL compliance reached right now is OpenGL 3.0, and many other features are lacking.

The latest mailing list discussion posts -- which largely come down to fighting between Alan Cox and David Airlie -- can be seen on linaro-mm-sig.

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. Even With Re-Clocking, Nouveau Remains Behind NVIDIA's Proprietary Linux Driver
  2. The Power Consumption & Efficiency Of Open-Source GPU Drivers
  3. AMD R600g/RadeonSI Performance On Linux 3.16 With Mesa 10.3-devel
  4. Intel Pentium G3258 On Linux
Latest Linux Articles
  1. AMD Catalyst 14.6 Does Slightly Better With APITest OpenGL Tests
  2. Updated Source Engine Benchmarks On The Latest AMD/NVIDIA Linux Drivers
  3. Nouveau vs. Radeon vs. Intel Tests On Linux 3.16, Mesa 10.3-devel
  4. KVM Benchmarks On Ubuntu 14.10
Latest Linux News
  1. Fedora Assembles A Security Team
  2. AMD Launches The A10-7800, The 65 Watt Kaveri
  3. Builder: A New Development IDE Being Built For GNOME
  4. GDB 7.8 Betters Python Scripting, Adds Guile Support
  5. GNOME's GTK+ Is Still Striving For A Scene Graph, Canvas API
  6. Unreal Tournament Looks Great For Team Deathmatch
  7. LibreOffice 4.3 Released With Many Exciting Changes
  8. GNOME/GTK On Wayland Gains Focus At GUADEC
  9. GNOME Stakeholders Take Issue With Groupon Over their Gnome
  10. GStreamer VA-API Plug-In Update Adds New Features
Latest Forum Discussions
  1. Debian + radeonsi
  2. Grand Theft Auto Running On Direct3D Natively On Linux Shows Gallium3D Potential
  3. AMD Publishes Open-Source Linux HSA Kernel Driver
  4. Linus Torvalds On GCC 4.9: Pure & Utter Crap
  5. Open-source drivers on ATI R7 260X
  6. AMD Athlon 5350 APU On Linux
  7. Updated and Optimized Ubuntu Free Graphics Drivers
  8. List of Linux friendly Kickstarter projects