gnome-control-center cannot change resolution of external monitor

Bug #1892296 reported by Rocko
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
gnome-control-center
New
Unknown
gnome-control-center (Ubuntu)
Confirmed
Medium
Unassigned
mutter (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

g-c-c is unable to change the resolution on my external 2560x1440 monitor to 1920x1080 - when I try, the monitor turns off.

However, the command "xrandr --output HDMI-1 --mode 1920x1080" does successfully change the resolution.

xrandr for the monitor shows:

HDMI-1 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440 59.95*+
   1920x1080 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98
   1920x1080i 60.00 50.00 59.94
   1600x1200 60.00
   1280x1024 75.02 60.02
   1280x960 60.00
   1360x768 60.02
   1280x720 60.00 50.00 59.94
   1024x768 75.03 70.07 60.00
   800x600 75.00 60.32
   720x576 50.00
   720x576i 50.00
   720x480 60.00 59.94
   720x480i 60.00 59.94
   640x480 75.00 60.00 59.94
   720x400 70.08

I tried changing the resolution to 1600x1200 using g-c-c and this did work.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: gnome-control-center 1:3.36.4-0ubuntu1
Uname: Linux 5.8.1-050801-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.8
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Thu Aug 20 11:28:08 2020
InstallationDate: Installed on 2019-07-01 (415 days ago)
InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Alpha amd64 (20190606)
SourcePackage: gnome-control-center
UpgradeStatus: Upgraded to focal on 2019-12-08 (255 days ago)

Revision history for this message
Rocko (rockorequin) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Please run the following commands immediately after attempting a resolution change:

  lspci -kv > lspci.txt
  xrandr --verbose > xrandr.txt
  journalctl -b0 > journal.txt

and then attach the resulting text files here.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Also, do you experience the same problem if you log into 'Ubuntu on Wayland'?

Changed in gnome-control-center (Ubuntu):
status: New → Incomplete
Changed in mutter (Ubuntu):
status: New → Incomplete
Revision history for this message
Rocko (rockorequin) wrote :

It doesn't work in Wayland, either.

Revision history for this message
Rocko (rockorequin) wrote :
Revision history for this message
Rocko (rockorequin) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This reminds me of bug 1890772. Try this:

  xrandr --output HDMI-1 --set "max bpc" 8

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Though the issue seems more likely some kind of bad choice of refresh rate, or doublescan, or interlacing... I am also reminded that we're still missing this fix:

  https://gitlab.gnome.org/GNOME/mutter/-/issues/275#note_776751

Changed in gnome-control-center (Ubuntu):
status: Incomplete → New
Changed in mutter (Ubuntu):
status: Incomplete → New
Revision history for this message
Rocko (rockorequin) wrote :

No, that doesn't help - the screen stays blank if I set it to 1920x1080 using g-c-c and then run the set max bpc command.

I also tried setting 1920x1080i using xrandr in case that's what g-c-c was choosing but it worked fine.

With the 1920x1080 setting chosen in g-c-c (and the monitor consequently getting no signal), this is what xrandr says for HDMI-1:

HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440 59.95 +
   1920x1080 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98*
   1920x1080i 60.00 50.00 59.94
   1600x1200 60.00
   1280x1024 75.02 60.02
   1280x960 60.00
   1360x768 60.02
   1280x720 60.00 50.00 59.94
   1024x768 75.03 70.07 60.00
   800x600 75.00 60.32
   720x576 50.00
   720x576i 50.00
   720x480 60.00 59.94
   720x480i 60.00 59.94
   640x480 75.00 60.00 59.94
   720x400 70.08

ie it looks like g-c-c has chosen a mode that doesn't actually exist for xrandr, because none of the modes have an asterisk next to them.

Fwiw, I *think* that g-c-c did use to be able to successfully set the resolution to 1920x1080 on this monitor.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

> it looks like g-c-c has chosen a mode that doesn't actually exist for xrandr, because none of the modes have an asterisk next to them.

Good point. Please report that as a bug to mutter here:

  https://gitlab.gnome.org/GNOME/mutter/issues

tags: added: multimonitor
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Revision history for this message
Lionel Penaud (lionep) wrote :

Can you attach the file ~/.config/monitors.xml right after changing the resolution to 2560x1440 ?

Changed in gnome-control-center (Ubuntu):
importance: Undecided → Medium
Changed in mutter (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Rocko (rockorequin) wrote :

This is after changing to the (working) 2560x1440 resolution.

Revision history for this message
Rocko (rockorequin) wrote :

This is monitors.xml after changing to the (non-working) 1920x1080 configuration. It seems to have chosen a refresh rate of 23.976079940795898 Hz (is that the last option in xrandr's modeline "1920x1080 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98"?).

When I use xrandr to (successfully) change the resolution to 1920x1080, it chooses the 60 Hz option.

Revision history for this message
Lionel Penaud (lionep) wrote :

Thanks,

Looking at your xrandr.txt there is the modeline :

  1920x1080 (0xc6) 74.176MHz +HSync +VSync
        h: width 1920 start 2558 end 2602 total 2750 skew 0 clock 26.97KHz
        v: height 1080 start 1084 end 1089 total 1125 clock 23.98Hz

That means the refresh rate accepted by your display should be :
74.176MHz / (2750 x 1125) = 23.9760808081 Hz
Due to floating point error, in monitors.xml you get 23.976079940795898 Hz

Maybe the issue comes from this ?

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-control-center (Ubuntu):
status: New → Confirmed
Changed in mutter (Ubuntu):
status: New → Confirmed
Revision history for this message
Rocko (rockorequin) wrote :

But why does g-c-c choose the lowest frequency refresh instead of the highest? If I set the resolution to 1920x1080 using xrandr, it chooses the 60 Hz option:

   1920x1080 60.00* 50.00 59.94 30.00 25.00 24.00 29.97 23.98

which is this modeline:

1920x1080 (0xbc) 148.500MHz +HSync +VSync
        h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.50KHz
        v: height 1080 start 1084 end 1089 total 1125 clock 60.00Hz

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It's not choosing the lowest frequency. Lionel just chose that as a random example from your xrandr.txt. That same file shows the current mode is:

  2560x1440 (0xbb) 241.500MHz +HSync +VSync *current +preferred

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

2560x1440 (0xbb) 241.500MHz +HSync +VSync *current +preferred
        h: width 2560 start 2608 end 2640 total 2720 skew 0 clock 88.79KHz
        v: height 1440 start 1443 end 1448 total 1481 clock 59.95Hz

Revision history for this message
Rocko (rockorequin) wrote :

@Daniel: That current mode is from the xrandr.txt when the working 2560x1440 resolution is set. Lionel and I got the 23.98 Hz figure from monitors.xml that I generated after the 1920x1080 change is applied and the monitor has no signal. With the monitor receiving no signal in 1920x1080, the verbose xrandr shows:

  1920x1080 (0xc6) 74.176MHz +HSync +VSync *current
        h: width 1920 start 2558 end 2602 total 2750 skew 0 clock 26.97KHz
        v: height 1080 start 1084 end 1089 total 1125 clock 23.98Hz

So g-c-c is definitely choosing the lowest refresh rate, whereas if I use xrandr's --mode option to set 1920x1080, it choose the 60 Hz rate, which works.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Rocko,

Please report the issue to the developers at either:

  https://gitlab.gnome.org/GNOME/mutter/-/issues
  https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues

and then tell us the new issue ID(s).

Revision history for this message
Rocko (rockorequin) wrote :
Revision history for this message
Rocko (rockorequin) wrote :

FWIW, in Ubuntu 20.10 you can't change the resolution of the external monitor with g-c-c at all, because there is no dropdown for the resolution, just a label showing the current resolution.

Changed in gnome-control-center:
status: Unknown → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.