QubesOS / qubes-issues

The Qubes OS Project issue tracker
https://www.qubes-os.org/doc/issue-tracking/
543 stars 48 forks source link

Resolution cropping does not work with screen sharing #9523

Open smcgu opened 1 month ago

smcgu commented 1 month ago

Problem

Requesting a smaller screen resolution fails to crop the screen video stream. The screenshare will stream at the desktop's normal resolution. The desire is to share a cropped version of the desktop screen to reduce whitespace and improve visibility to stream recipients on the conference call.

Example trying to screenshare at cropped 1920x1080:

$ qubes-video-companion screenshare --resolution=1920×1080x30

(screenshare.py:3217): Gdk-CRITICAL **: 11:22:12.244: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
/usr/share/qubes-video-companion/sender/screenshare.py:128: DeprecationWarning: Gdk.Screen.width is deprecated
  "crop_r": screen.width()  - geometry.x - geometry.width,
/usr/share/qubes-video-companion/sender/screenshare.py:129: DeprecationWarning: Gdk.Screen.height is deprecated
  "crop_b": screen.height() - geometry.y - geometry.height,
Receiving video stream at 2560x1440 30 FPS...

System Info

OS: Debian 12 Kernel: 6.6.48-1.qubes.fc37.x86_64

qubes-video-companion/unknown,now 1.1.3-1+deb12u1 all [installed]
  Securely stream webcams and share screens across virtual machines

v4l-utils/stable,now 1.22.1-5+b2 amd64 [installed,automatic]
  Collection of command line video4linux utilities

v4l2loopback-dkms/stable,now 0.12.7-2 all [installed,automatic]
  Source for the v4l2loopback driver (DKMS)

v4l2loopback-utils/stable,now 0.12.7-2 all [installed]
  Commandline utilities for the for the v4l2-loopback module
marmarek commented 1 month ago

This is expected, the resolution option is intended for webcam target only. The missing part is refusing this option for screenshare action...