GNOME DMA-BUF Screencasting Now Limited To Intel Drivers Due To Bugs Elsewhere
Written by Michael Larabel in GNOME on 14 September 2020 at 05:31 PM EDT. 17 Comments
GNOME --
Prior to tagging Mutter 3.38 for this week's GNOME 3.38 desktop release there was a last-minute change around the DMA-BUF screencasting feature.

Earlier this year GNOME developers wired up DMA-BUF screencasting support for GNOME on Wayland. With making use of DMA-BUF for buffer sharing to avoid excess image copies between CPU and GPU memory, the screencasting functionality is much more efficient. GNOME screencasting is just one of many projects making use of this zero-copy buffer sharing support.

But now for the 3.38.0 release, the DMA-BUF screencasting code is set to only work if the Intel i915 DRM kernel driver is at play. Due to other GPU drivers reportedly having buggy DMA-BUF handling, the developers are only comfortable for now enabling it for Intel with their well-tested DMA-BUF code path.

The change by Red Hat's Jonas Ã…dahl commented, "Seems DMA buffer based interprocess buffer sharing is more broken than not, so for now only enable it when using the i915 driver. For example vmwgfx, qxl and radeon, it results in mmap() failing to mmap the memory region. Other drivers, e.g. amdgpu will function, but may hit very slow memory download paths, resulting in worse performance."

Hopefully the AMDGPU driver and other DRM drivers can get their DMA-BUF buffer sharing code improved upon in short order.
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Popular News This Week