Hello Daniel,

I've also been debugging this issue and noticed something weird while
reproducing it. It seems that resizing the screen via resizing the NICE
DCV client does not invoke the `meta_monitor_config_manager_set_current`
method, so the current config and the history are untouched.

Let's say we have an initial resolution of QxZ@T hz, sf 1(scale factor). The 
NICE DCV client screen resize changes it to WxH@F sf 1.5, but libmutter still 
thinks the screen is at QxZ@T sf 1. At this point, 
 `xrandr` output no longer shows QxZ@T hz as a supported resolution. When the 
user tries to change the scale, the change is registered as both the resolution 
change and the scale change as per the perspective of "libmutter", and if the 
user proceeds to accept this configuration, everything is fine because the Xdcv 
already lists `WxH@F` as a supported resolution, but if not (i.e. user tries to 
revert back to the previous) it fails because QxZ@T hz is no longer on the 
supported resolution set. 

Therefore, I think one of the problems we're facing here is
libmutter/Xdcv being out-of-sync when the screen resolution is changed
via the NICE DCV client. I'm currently looking into how we can reflect
the client resolutions to libmutter (I'm not well-versed in mutter
codebase so progressing a little bit slow)

I'll continue to post my findings as I progress.

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to mutter in Ubuntu.
https://bugs.launchpad.net/bugs/2020782

Title:
  Xdcv: Changing display scale setting and reverting it fails

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2020782/+subscriptions


-- 
desktop-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to