Implement integration with qvm-device API#34
Conversation
It is already 'str' (and filtered by qrexec), encoding it back to 'bytes' doesn't really help, it only makes things more complicated.
Support "port id" parameter for qvc.Webcam service, to select camera device. If used together with preferred resolution, port id must come first. Currently support only one value: "dev-video0" and refuse others. Enumerating devices, and resolving port id to actual device will come later. QubesOS/qubes-issues#10407
This commit includes several parts: 1. Udev handler on the sender side to publish camera info in qubesdb. "port id" for qvm-device API is built from /dev/video0 name, encoded as "dev-video0". At this moment, only /dev/video0 is considered, support for other devices will come later (QubesOS/qubes-issues#10407), and may decide on alternative port naming (preferably keeping dev- prefix). 2. The qvc.WebcamAttach service that calls qubes-video-companion on the receiver side, as a systemd service (to cleanly keep it running even after qvc.WebcamAttach service exits) 3. qvc.WebcamDetach service (to be called on the sender side) that kills the connection. 4. core-admin extension that puts the above elements together and expose as new "webcam" device class. This is using devices API available in Qubes OS 4.3. This feature is not available in R4.2. QubesOS/qubes-issues#10411
1. Publish list of supported formats in qubesdb 2. Collect them and put as .data["formats"] attribute 3. Accept"format" assignment option 4. When "format" option is specified, add it to the qrexec call argument (both for qvc.WebcamAttach, then in the policy for qvc.Webcam) QubesOS/qubes-issues#10411
Connecting Webcam on whonix is not very useful (defeats most of privacy). Whonix prevents loading vivid module, so test won't work anyway. Skip it earlier to save starting/stopping VMs.
Similar to other webcam tests, but use qvm-device for attach/detach. QubesOS/qubes-issues#10411
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025112000-4.3&flavor=pull-requests Test run included the following:
Upload failures
New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025111104-4.3&flavor=update
Failed tests30 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/158999#dependencies 13 fixed
Unstable testsDetailsPerformance TestsPerformance degradation:26 performance degradations
Remaining performance tests:153 tests
|
This will allow starting QVC (for webcam) via devices widget.
See individual commits for details.
Fixes QubesOS/qubes-issues#10411