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

Linux Developers Still Reject NVIDIA Using DMA-BUF

NVIDIA

Published on 11 October 2012 06:52 AM EDT
Written by Michael Larabel in NVIDIA
258 Comments

Going back to the beginning of this year there's been talk of NVIDIA looking at Optimus support for Linux and in August they confirmed they were working on NVIDIA Optimus Linux support. As part of their Optimus Linux implementation they want to use DMA-BUF for the multi-GPU interactions just like the open-source drivers, so that they can all work together. However, kernel developers continue to reject this notion.

Back in January was when a request was made by NVIDIA to change the DMA-BUF symbols for dealing with the shared buffers to be exported under EXPORT_SYMBOL rather than EXPORT_SYMBOL_GPL. At the moment with the EXPORT_SYMBOL_GPL usage, DMA-BUF can't be used by non-GPL kernel drivers, i.e. ruling out the possibility of the proprietary NVIDIA or AMD Catalyst drivers sharing buffers with the open-source DRM drivers so that Optimus support and other similar technologies could work out on the Linux desktop. This also rules out any non-GPL ARM SoC drivers from sharing buffers with open-source drivers because of GPL purists at the cost of better Linux driver interoperability.

In February it looked like DMA-BUF would be changed to allow for non-GPL driver support, but now it seems that the DMA-BUF symbols will remain GPL-only.

NVIDIA's Robert Morell sent out a patch on Wednesday to the mailing lists that changed the DMA-BUF symbols for buffer importing and exporting to be EXPORT_SYMBOL rather than the GPL version. However, this patch was quickly dismissed by some Linux kernel developers.

Red Hat's Mauro Carvalho Chehab sent over his negative-acknowledgement as did Alan Cox. "NAK. This needs at the very least the approval of all rights holders for the files concerned and all code exposed by this change. Also I'd note if you are trying to do this for the purpose of combining it with proprietary code then you are still in my view as a (and the view of many other) rights holder to the kernel likely to be in breach of the GPL requirements for a derivative work. You may consider that formal notification of my viewpoint. Your corporate legal team can explain to you why the fact you are now aware of my view is important to them."

Rob Clark of Texas Instruments is the only open-source Linux developer on the thread so far not objecting to making DMA-BUF work with non-GPL drivers. "Well, for my contributions to dmabuf, I don't object.. and I think because we are planning to use dma-buf in userspace for dri3 / dri-next, I think that basically makes it a userspace facing kernel infrastructure which would be required for open and proprietary drivers alike. So I don't see much alternative to making this EXPORT_SYMBOL(). Of course, IANAL."

Rob also raises a valid point about how DMA-BUF is also becoming critical to DRI3 (DRI-Next).

So while many Linux desktop users are quick to bash NVIDIA over their lack of proper Optimus support, right now they are also being forced down by the Linux kernel developers not wanting to allow non-GPL drivers to use this unified buffer sharing infrastructure and reducing driver interoperability.

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. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  2. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  3. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  4. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
Latest Linux News
  1. Linux 3.18-rc6 Released, A Worrisome Regression Remains
  2. HandBrake 0.10 Brings H.265 & VP8 Encoders
  3. Gngr: A New Web Browser Focused On Privacy
  4. Linux 3.18 Kernel: Not Much Change With Intel Haswell Performance
  5. More File-System Tests Of The Linux 3.18 Kernel
  6. Using NVIDIA's NVENC On Linux With FFmpeg
  7. There's Talk Again About An "Open To The Core" Ubuntu Laptop
  8. PowerVR SGX Driver Code Gets Leaked
  9. V2 Of KDBUS Published For Linux Kernel Review
  10. VirtualBox 4.3.20 Arrives, Still No Sign Of VirtualBox 4.4
Latest Forum Discussions
  1. PulseAudio 6.0 Is Coming & Other Linux Audio Plans For The Future
  2. Debian Developer Resigns From The Systemd Maintainership Team
  3. Roadmap to Catalyst 14.10 ?
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. Cant get working Kaveri APU - A10-7850k
  6. Script for Fan Speed Control
  7. Debian Init System Coupling Vote Results
  8. The Slides Announcing The New "AMDGPU" Kernel Driver