In early December I wrote about the original PRIME Helper patches courtesy of Plattner at NVIDIA. As written in that earlier article:
NVIDIA still isn't permitted to properly use DMA-BUF for buffer sharing between their binary driver and the open-source graphics drivers for being able to properly support the NVIDIA Optimus technology. GPL-only kernel symbols are blocking NVIDIA from tapping DMA-BUF and there's a few kernel developers who don't want these symbols to be used by NVIDIA's blob.Basically these patches allow for replacing GEM PRIME import/export functions -- the functions are common and shared amongst the Nouveau and Radeon DRM drivers -- with a driver's own custom functionality. For now this just leads to eliminating duplicated code between Radeon/Nouveau, but could theoretically allow for NVIDIA's binary driver to implement its own import/export hooks that don't directly rely upon the GPL-only DMA-BUF.
As the latest on this front concerning proper multi-GPU support under Linux and the drivers being able to cooperate with each other, NVIDIA's Aaron Plattner has put out a set of four patches for PRIME helpers. The patches courtesy of the veteran Linux developer at NVIDIA provide helper functions to abstract core parts of the GEM PRIME import and export functions for video memory management.
These PRIME Helper patches are currently dependent upon new DMA-BUF code landing for the Linux 3.9 kernel. This latest revision to the patches address some technical comments and concerns that Aaron received from the open-source graphics driver developers. The v3 helper patches can be found on the dri-devel list.