DRM Base PRIME Support Part Of VGEM Work

Posted by Michael Larabel on February 23, 2012

Remember the proof of concept PRIME multi-GPU rendering / GPU offloading work that was being hacked on two years ago? Work on it has been resurrected and could make it into the kernel when the VGEM driver is ready.

David Airlie was the one that began work on PRIME in 2010 and in H2'2011 he restarted work on PRIME after re-basing it on the new DMA-BUF infrastructure. The kernel PRIME implementation shares a DRI2 front pixmap between devices/drivers and also sharing a pixmap that the rendering GPU copies dirty updates to and the "GPU output slaves" use that as their scan-out pixmap.

Dave's latest use-case for PRIME has been GPU hot-plugging support, such as when using the interesting USB-based DisplayLink devices.

Hitting the dri-devel mailing list yesterday was an updated patch-set for VGEM, the Virtual GEM Provider for the Linux kernel DRM, as VGEM Prime (dma-buf) . This is the new fake DRM driver to do some "fake" GEM memory management within the kernel. It's quite interesting and could be used by the Gallium3D LLVMpipe driver (among other clients) for potentially enhancing its software-accelerated performance. From my earlier article, "This VGEM driver would then just allocate a shadow frame-buffer while in certain cases like dealing with virtualization the front-buffer could be bound directly to a GEM object, which would eliminate a memory copy and slightly better the performance."

As part of this third revision to the VGEM patch-set is patch one, which is titled "drm: base prime support." Ben Widawsky is the one that's been working on VGEM lately while Adam Jackson (the original VGEM author) has been busy with other Red Hat chores. The base PRIME support patch is David Airlie's code that lays the foundation for PRIME in the Linux kernel.

Besides adding the base PRIME support with its new ioctls and other changes, the VGEM driver hooks into it with import and export support. This would allow for the "fake" driver to then play with other PRIME-enabled drivers/hardware. Ben Widawsky also has plans for checking out the Intel PRIME support work too. From Ben, "After getting feedback on what I have now, I will incorporate Dave's earlier work on i915 prime, and get some better test cases going."

Ben Widawsky has been working on the VGEM driver as a way to further the DMA-BUF happenings. "In addition's to Adam's requirements below, I would like to use VGEM to help support dma-buf development. VGEM is without quirks and makes both development and debug of other importers and exporters substantially easier."

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  2. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  3. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
  4. AMD Radeon Gallium3D More Competitive With Catalyst On Linux
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Modern Intel Gallium3D Driver Still Being Toyed With
  2. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  3. GCC 4.8.1 Compiler Due To Be Out Next Week
  4. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  5. Linux's "Ondemand" Governor Is No Longer Fit
  6. Firefox 22 Beta Enables WebRTC Support
  7. OpenSUSE 13.1 Milestone 1 Released
  8. DRM Graphics Driver Comes For Dove/Cubox
  9. JADE: An LLVM-Based Video Decoder For MPEG RVC
  10. Ubuntu 13.10 Likely Switching To Chromium Browser
  11. Unity 7, Compiz To Be Polished For Ubuntu 13.10
Latest Forum Talk
  1. Logitech supports linux!
  2. KDE's Krita Ported To OpenGL 3.1, OpenGL ES 2.0
  3. Ubuntu 13.10 Likely Switching To Chromium Browser
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  5. Features Being Developed For KDE 4.11 Desktop
  6. Left 4 Dead 2 Beta Surfaces For Linux Gamers
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite