Comment 31 for bug 2020782

Revision history for this message
Fabio Augusto Miranda Martins (fabio.martins) wrote (last edit ):

> Try logging into a non-GNOME Xorg session on Workspaces
> if you can. Then use the 'xrandr' command to set a mode
> to turn on one of the unused virtual monitors. If that
> causes the DCV client to go blank then we have proven
> it's not mutter's fault.

I did test that with a Cinnamon session and confirmed it. I basically did:

xrandr --output VNC-output-1 --auto

and it immediately goes to a blank screen

OK, so saying out loud my understanding of this issue so far, so as to check it's correct. The problems are:

- Fractional scaling is supported in RandR 1.3 or newer
- Xdcv reports its RandR version is 1.6, but when you try to use fraction scaling it errors (error id 2)
- The corruption bug 1924689 may be caused by the fractional scaling patch (or a side effect of the "error id 2"?)
- Xdcv is reporting a bogus refresh rate
- There's a "config history" issue identified by Mustafa in comments #26 and #30

What we've been doing now to try to narrow it down is:

A - The "Zero Hz" fix is basically loosening mutter to accept zero-Hz, as this is the bogus refresh rate being reported by Xdcv
B - vv4 fix = no fractional scaling + "zero Hz" fix
C - vv5 fix = re-adds fractional scaling + "zero Hz" fix

And out of it, we've confirmed in local VM / Workspaces tests that

1 - Without fractional scaling patch (vv4) / with fractional scaling disabled, we can't reproduce the "Failed to restore previous configuration: Invalid mode" / "Impossible to set scaling on crtc" errors
2 - The "Zero Hz" fix causes a side-effect of enabling the unused monitors (tbd if this is a bug)
2a. If you manually disable 3 monitors (keeping only one) and then try to apply / revert 200% scale, it errors [1] and sets resolution back to 800x600
3 - When enabling unused monitors in Workspaces, we get a blank screen (which I've confirmed through cinnamon / xrandr that it must be a problem with the Workspaces client when enabling a monitor)

For the "zero Hz" problem, if I understand correctly, it is a bogus issue without a noticeable impact in usage. On the other hand, due to the "zero Hz" fix introducing problems 2 and 2a above, I'm skeptical on validating that avoiding fractional scaling fixes our issue (item 1 above).

If the "zero hz" issue is really just bogus, should we try a "vv6" build completely disabling fractional scaling for the Xdcv use case (on apply and revert), but not including the "zero hz" fix? This way we would be able to validate item 1 above (even if we see the zero hz bogus messages, which we can ignore for now). If this succeeds, we can investigate the item 3 above separately, so we can then re-introduce the "zero hz" fix.

[1] https://pastebin.ubuntu.com/p/Xtyfvb3CV2/