GNOME On Wayland Screencasting Is About To Be A Heck Of A Lot More Efficient
Pending GNOME Mutter changes in conjunction with the new PipeWire 0.3 will offer a big improvement in making use of GNOME's screencasting support from Wayland sessions.
GNOME's screencasting / monitor sharing support under Wayland has already been in quite good shape compared to other desktops/compositors on Wayland, but with PipeWire 0.3 and pending Mutter changes is a big step forward. With PipeWire 0.3 is support for importing DMA-BUF file descriptors and sharing it with clients, which can avoid excess image copies between CPU and GPU memory. As we see time and time again, using DMA-BUF can provide big wins for performance thanks to properly designed zero-copy buffer sharing between drivers and hardware blocks.
Georges Stavracas worked on this DMA-BUF-based GNOME Wayland screencasting support and shared a brief video on his blog and embedded below.
In the pending merge request, Georges commented, "The result is, as expected, massive: with this MR applied, Mutter / GNOME Shell consumes almost no extra CPU beyond what it consumes regularly." It remains to be seen though if this code will land in Mutter ahead of GNOME 3.36.
GNOME's screencasting / monitor sharing support under Wayland has already been in quite good shape compared to other desktops/compositors on Wayland, but with PipeWire 0.3 and pending Mutter changes is a big step forward. With PipeWire 0.3 is support for importing DMA-BUF file descriptors and sharing it with clients, which can avoid excess image copies between CPU and GPU memory. As we see time and time again, using DMA-BUF can provide big wins for performance thanks to properly designed zero-copy buffer sharing between drivers and hardware blocks.
Georges Stavracas worked on this DMA-BUF-based GNOME Wayland screencasting support and shared a brief video on his blog and embedded below.
In the pending merge request, Georges commented, "The result is, as expected, massive: with this MR applied, Mutter / GNOME Shell consumes almost no extra CPU beyond what it consumes regularly." It remains to be seen though if this code will land in Mutter ahead of GNOME 3.36.
16 Comments