For more information, join the team subscribe to the mailing list 
at the bottom of the Launchpad page 

Please join this team if you are new by clicking on the "Join 
Team" link at the right of the Launchpad page. It's important to 
have as many users in the community as possible to request for 
appropriate support.

Saturday, 12 May 2012

DMA-BUF PRIME Coming Together For Linux 3.5 @

DMA-BUF PRIME Coming Together For Linux 3.5

Posted by Michael Larabel on May 12, 2012

The DMA-BUF PRIME support in the popular open-source Linux graphics drivers is coming together for the Linux 3.5 kernel to allow for GPU offloaded rendering.

Coming out this week was a new patch for the DMA-BUF/PRIME buffer sharing support so that Intel's DRM driver can offload rendering in one direction and outputs in the other. This patch is based upon David Airlie's work and amounts to just under 200 lines of code in the i915 kernel DRM driver.

Out on the same day from Alex Deucher was a patch entitled "add PRIME support" that effectively does the same as the Intel driver, but instead for the Radeon DRM driver. This too was just about 200 lines of code.

These patches come one week after David Airlie added PRIME sharing support to the TTM memory manager (here) as well as PRIME support for the Nouveau DRM driver (here).

This PRIME support builds upon the DMA-BUF buffer sharing mechanism that was originally merged into Linux 3.3 and the PRIME fundamentals in Linux 3.4. With the Linux 3.5 kernel is where the popular Direct Rendering Manager hardware drivers should support this for sharing buffers between drivers / GPUs. While Intel / Radeon / Nouveau are the most popular drivers, there's also been ongoing DMA-BUF work for the Texas Instruments OMAP, Samsung Exynos, and DisplayLink UDL KMS drivers too.

This technology can ultimately be used for things like NVIDIA Optimus or SLI/CrossFire. DMA-BUF itself largely was born within the Linaro camp for buffer sharing between driver drivers for ARM SoCs. Last November was when PRIME got back under-way for the GPU offloaded rendering.