Qubes OS summit 2022

PipeWire and Qubes Video Companion
2022-09-09, 16:00–16:30 (Europe/Berlin), Main Room

Qubes OS currently has poor support for audio and video capture. Audio capture works if used properly, but is easy to misuse and its latency is excessive. Video capture is not supported except via device pass-through, which raises serious security concerns. This talk is about replacing the legacy PulseAudio-based solution with a modern PipeWire-based one, and replacing camera pass-through with Qubes Video Companion.


Audio capture and playback in Qubes OS has several limitations. It is very easy to forget to attach a microphone to a qube, or to forget to detach it later. Furthermore, the latency is high, and both recording and playback require a module using the unstable PulseCore API. I am currently replacing the audio agent with a solution based on PipeWire, which will offer better performance and be easier to maintain. In the future, I plan on enhancing the user interface to avoid the user experience pitfalls.

Video capture has significant limitations as well. The only currently-supported solution is webcam pass-through, which has both security and reliability concerns. Cross-VM screensharing is not supported at all. Elliot Killick created Qubes Video Companion in April 2021, and I have been working to integrate it into Qubes OS. It will ship with R4.2 and I hope to backport it to R4.1.

I write software for Invisible Things Lab, and currently work on Qubes OS.