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."