Xdcv: Changing display scale setting and reverting it fails
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mutter (Ubuntu) |
In Progress
|
Undecided
|
Daniel van Vugt |
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:/
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 /<email address hidden>
May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: #1 557093f00dd8 i /<email address hidden>/dash.js:42 (2cdac32a5d80 @ 27)
May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: #2 557093f00d58 i resource:
May 17 17:31:24 U-1AZMIM8SIPZ6I gnome-shell[3030]: JS ERROR: TypeError: monitor is null#012_
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-
https:/
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/
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://
*** 42.2-0ubuntu1 100
100 /var/lib/
42.0-3ubuntu2 500
500 http://
$ sudo apt-cache policy gnome-shell
gnome-shell:
Installed: 42.4-0ubuntu0.
Candidate: 42.5-0ubuntu1
Version table:
42.5-0ubuntu1 500
500 http://
*** 42.4-0ubuntu0.
100 /var/lib/
42.0-2ubuntu1 500
500 http://
Changed in mutter (Ubuntu): | |
assignee: | Marco Trevisan (Treviño) (3v1n0) → nobody |
Changed in mutter (Ubuntu): | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | New → In Progress |
Also tested with mutter-common 42.5-0ubuntu1 and gnome-shell 42.5-0ubuntu1:
fabiomirmar@ U-1JSKZM4R9U78P :~$ sudo apt-cache policy mutter-common sa-east- 1.ec2.archive. ubuntu. com/ubuntu jammy-updates/main amd64 Packages dpkg/status sa-east- 1.ec2.archive. ubuntu. com/ubuntu jammy/main amd64 Packages U-1JSKZM4R9U78P :~$ sudo apt-cache policy gnome-shell sa-east- 1.ec2.archive. ubuntu. com/ubuntu jammy-updates/main amd64 Packages dpkg/status sa-east- 1.ec2.archive. ubuntu. com/ubuntu jammy/main amd64 Packages
[sudo] password for fabiomirmar:
mutter-common:
Installed: 42.5-0ubuntu1
Candidate: 42.5-0ubuntu1
Version table:
*** 42.5-0ubuntu1 500
500 http://
100 /var/lib/
42.0-3ubuntu2 500
500 http://
fabiomirmar@
gnome-shell:
Installed: 42.5-0ubuntu1
Candidate: 42.5-0ubuntu1
Version table:
*** 42.5-0ubuntu1 500
500 http://
100 /var/lib/
42.0-2ubuntu1 500
500 http://
And I have the same issue.
When I apply the scale change I see:
May 25 13:30:21 U-1JSKZM4R9U78P systemd[2514]: vte-spawn- 11c0b6cb- a094-4eee- 9cbf-7a694348f0 0a.scope: Consumed 1.272s CPU time. server. service: Consumed 1.231s CPU time. actor_allocate called for actor 0x55a6ef3a4ba0/ <dashtodockCont ainer>[ <Gjs_ubuntu- dock_ubuntu_ com_docking_ DashToDock> :0x55a6ef3a4ba0 ] which isn't a descendent of the stage! name'=' VNC-output- 0' does not exist name'=' VNC-output- 1' does not exist name'=' VNC-output- 2' does not exist name'=' VNC-output- 3' does not exist name'=' VNC-output- 0' does not exist name'=' VNC-output- 1' does not exist name'=' VNC-output- 2' does not exist name'=' VNC-output- 3' does not exist
May 25 13:30:21 U-1JSKZM4R9U78P systemd[2514]: gnome-terminal-
May 25 13:30:25 U-1JSKZM4R9U78P gnome-shell[2862]: Impossible to set scaling on crtc 59 to 0.615385, error id 2
May 25 13:30:25 U-1JSKZM4R9U78P gnome-shell[2862]: Window manager warning: Scalig CRTC 59 at 0.615385 failed
May 25 13:30:25 U-1JSKZM4R9U78P gnome-shell[2862]: Xlib: extension "DPMS" missing on display ":1".
May 25 13:30:25 U-1JSKZM4R9U78P gnome-shell[2862]: Missing logical monitor, using scale 1
May 25 13:30:26 U-1JSKZM4R9U78P gnome-shell[2862]: Xlib: extension "DPMS" missing on display ":1".
May 25 13:30:26 U-1JSKZM4R9U78P gnome-shell[2862]: Missing logical monitor, using scale 1
May 25 13:30:26 U-1JSKZM4R9U78P gnome-shell[2862]: Spurious clutter_
May 25 13:30:26 U-1JSKZM4R9U78P gsd-color[2980]: could not find device: property match 'XRANDR_
May 25 13:30:26 U-1JSKZM4R9U78P gsd-color[2980]: could not find device: property match 'XRANDR_
May 25 13:30:26 U-1JSKZM4R9U78P gsd-color[2980]: could not find device: property match 'XRANDR_
May 25 13:30:26 U-1JSKZM4R9U78P gsd-color[2980]: could not find device: property match 'XRANDR_
May 25 13:30:26 U-1JSKZM4R9U78P gsd-color[2980]: could not find device: property match 'XRANDR_
May 25 13:30:26 U-1JSKZM4R9U78P gsd-color[2980]: could not find device: property match 'XRANDR_
May 25 13:30:26 U-1JSKZM4R9U78P gsd-color[2980]: could not find device: property match 'XRANDR_
May 25 13:30:26 U-1JSKZM4R9U78P gsd-color[2980]: could not find device: property match 'XRANDR_
May 25 13:30:26 U-1JSKZM4R9U78P gnome-shell[2862]: Can't update stage views actor <u...