> 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/

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

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

Status in mutter package in Ubuntu:
  In Progress

Bug description:
  In Amazon Workspaces running Ubuntu 22.04, when attempting to change
  the Scale in the Gnome Display settings, if you click on a different
  scale (i.e. changing from 100% to 200%) and hitting apply, it will
  bring up a prompt asking if you want to keep or revert the changes and
  there will be a timer of 20 seconds. If you try to revert the changes
  (either by letting the timer expire or by clicking the "revert"
  button), we will hit one of the following two behaviors:

  1 - The setting won't revert and will keep scaled

  2 - gnome-shell will show some error messages in syslog and the
  display will be "corrupted", where the only window you are able to
  click is the display setting and if you try to drag it, it will leave
  a "blur" throughout the window (per discussions, this seems to be
  https://launchpad.net/bugs/1924689)

  For both situations, changing the display resolution (i.e. going into
  and out of full screen in the workspaces client) will fix the issue

  When hitting situation 1, syslog shows:

  May 17 17:33:10 U-1AZMIM8SIPZ6I gnome-shell[3030]: Failed to restore
  previous configuration: Invalid mode 1920x1080 (19.958942) for monitor
  'unknown unknown'

  
  When hitting situation 2, syslog shows:

  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: Failed to restore previous 
configuration: Invalid mode 1920x984 (19.895834) for monitor 'unknown unknown'
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: Failed to use stored 
monitor configuration: Invalid mode 1920x984 (19.895834) for monitor 'unknown 
unknown'
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: Failed to use linear 
monitor configuration: Invalid mode 800x600 (-nan) for monitor 'unknown unknown'
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: Failed to use fallback 
monitor configuration: Invalid mode 800x600 (-nan) for monitor 'unknown unknown'
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: Impossible to set scaling 
on crtc 59 to 1.000000, error id 2
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: Xlib:  extension "DPMS" 
missing on display ":1".
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: Object St.Label 
(0x557090d07de0), has been already disposed — impossible to access it. This 
might be caused by the object having been destroyed from C code using something 
such as destroy(), dispose(), or remove() vfuncs.
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: == Stack trace for context 
0x557090bee180 ==
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: #0   557093f00e68 i   
/usr/share/gnome-shell/extensions/ubuntu-d...@ubuntu.com/appIcons.js:1349 
(2cdac32b2e20 @ 105)
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: #1   557093f00dd8 i   
/usr/share/gnome-shell/extensions/ubuntu-d...@ubuntu.com/dash.js:42 
(2cdac32a5d80 @ 27)
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: #2   557093f00d58 i   
resource:///org/gnome/shell/ui/dash.js:545 (20c3e0d20970 @ 24)
  May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: JS ERROR: TypeError: 
monitor is 
null#012_updateWorkAreaBox@resource:///org/gnome/shell/ui/overviewControls.js:58:26#012_init/<@resource:///org/gnome/shell/ui/overviewControls.js:51:45

  Sometimes the stack trace isn't shown, but the symptom is the same:

  May 17 18:31:39 U-1AZMIM8SIPZ6I gnome-shell[3030]: Failed to restore previous 
configuration: Invalid mode 1920x984 (19.895834) for monitor 'unknown unknown'
  May 17 18:31:39 U-1AZMIM8SIPZ6I gnome-shell[3030]: Failed to use stored 
monitor configuration: Invalid mode 1920x984 (19.895834) for monitor 'unknown 
unknown'
  May 17 18:31:39 U-1AZMIM8SIPZ6I gnome-shell[3030]: Failed to use linear 
monitor configuration: Invalid mode 800x600 (-nan) for monitor 'unknown unknown'
  May 17 18:31:39 U-1AZMIM8SIPZ6I gnome-shell[3030]: Failed to use fallback 
monitor configuration: Invalid mode 800x600 (-nan) for monitor 'unknown unknown'
  May 17 18:31:39 U-1AZMIM8SIPZ6I gnome-shell[3030]: Impossible to set scaling 
on crtc 59 to 1.000000, error id 2
  May 17 18:31:40 U-1AZMIM8SIPZ6I gnome-shell[3030]: Xlib:  extension "DPMS" 
missing on display ":1".

  
  I'm unable to reproduce the problem if I manually install ubuntu-desktop and 
use the Nice DCV Server (as used by Workspaces) by following the steps from 
(using the xorg-x11-drv-dummy):

  https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-
  installing-linux.html

  One relevant difference is that Workspaces uses a custom X11 server
  /usr/bin/Xdcv, instead of /usr/lib/xorg/Xorg, and they have the
  following process being started:

  /usr/bin/Xdcv -output 800x600+0+0 -output 800x600+800+0 -output
  800x600+1600+0 -output 800x600+2400+0 -enabledoutputs 1 vt2 -displayfd
  3 -auth /run/user/541001128/gdm/Xauthority -nolisten tcp -background
  none -noreset -keeptty -novtswitch -verbose 3

  I'm also unable to reproduce the problem using xrdp + Xorg.

  While discussing this with the desktop crew, it was mentioned that we see the 
same problems in
  Xorg. And to a much lesser extent some issues in Wayland too when changing 
scales.

  mutter and gnome-shell versions being used:

  $ sudo apt-cache policy mutter-common
  mutter-common:
    Installed: 42.2-0ubuntu1
    Candidate: 42.5-0ubuntu1
    Version table:
       42.5-0ubuntu1 500
          500 http://sa-east-1.ec2.archive.ubuntu.com/ubuntu jammy-updates/main 
amd64 Packages
   *** 42.2-0ubuntu1 100
          100 /var/lib/dpkg/status
       42.0-3ubuntu2 500
          500 http://sa-east-1.ec2.archive.ubuntu.com/ubuntu jammy/main amd64 
Packages
  $ sudo apt-cache policy gnome-shell
  gnome-shell:
    Installed: 42.4-0ubuntu0.22.04.1
    Candidate: 42.5-0ubuntu1
    Version table:
       42.5-0ubuntu1 500
          500 http://sa-east-1.ec2.archive.ubuntu.com/ubuntu jammy-updates/main 
amd64 Packages
   *** 42.4-0ubuntu0.22.04.1 100
          100 /var/lib/dpkg/status
       42.0-2ubuntu1 500
          500 http://sa-east-1.ec2.archive.ubuntu.com/ubuntu jammy/main amd64 
Packages

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


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to