Bug 1374600 - Can't change display's resolution on Gnome Wayland
Summary: Can't change display's resolution on Gnome Wayland
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: mutter
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Florian Müllner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: RejectedBlocker
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-09 08:16 UTC by Giulio 'juliuxpigface'
Modified: 2017-12-12 10:16 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-12-12 10:16:09 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Gnome's display tool (83.53 KB, image/png)
2016-09-09 08:16 UTC, Giulio 'juliuxpigface'
no flags Details
dmesg from live USB boot (70.23 KB, text/plain)
2016-10-04 18:58 UTC, M. Edward (Ed) Borasky
no flags Details
edid-decode of card0-DP-1 (1.44 KB, text/plain)
2016-10-04 18:59 UTC, M. Edward (Ed) Borasky
no flags Details
edid-decode of card0-DVI-D-1 (1.44 KB, text/plain)
2016-10-04 19:00 UTC, M. Edward (Ed) Borasky
no flags Details
edid-decode of card0-DVI-I-1 (1.44 KB, text/plain)
2016-10-04 19:02 UTC, M. Edward (Ed) Borasky
no flags Details
edid-decode of card0-HDMI-A-1 (1.44 KB, text/plain)
2016-10-04 19:02 UTC, M. Edward (Ed) Borasky
no flags Details


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 744544 0 Normal RESOLVED monitor-manager-kms: Add common modes 2020-06-04 08:19:01 UTC

Description Giulio 'juliuxpigface' 2016-09-09 08:16:23 UTC
Created attachment 1199300 [details]
Gnome's display tool

Description of problem:
The "Displays" tool, doesn't let me to apply the desired resolution.

Version-Release number of selected component (if applicable):
gnome-settings-daemon-3.21.90-1.fc25.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Log in to a Gnome+Wayland session
2. Open the "Displays" tool from the shell.
3. Select a new resolution for the available display.
4. Try to click the "Apply" button.

Actual results:
The button is actually disabled and the user can't apply the new resolution.

Expected results:
The button should be enabled so the user can apply the new resolution.

Additional info:
1. The system is fully up to date.
2. I'm attaching a screenshot, where we can see that the relevant button is disabled.
3. However, it might be something related to QXL, since I'm testing with qemu-kvm. As soon as possible, I'll test with Gnome+Xorg and Xfce in order to see what happens.

Comment 1 Giulio 'juliuxpigface' 2016-09-09 09:09:32 UTC
I can confirm the issue is only present with Gnome+Wayland (Gnome+Xorg and Xfce sessions aren't affected).

So, I'm proposing this as F25 Final Blocker, as it seems a violation of the "2.4.6 Default application functionality" release criterion.

"All applications that can be launched using the standard graphical mechanism of a release-blocking desktop after a default installation of that desktop must start successfully and withstand a basic functionality test."

Reference: https://fedoraproject.org/wiki/Fedora_25_Final_Release_Criteria#Default_application_functionality

Comment 2 Olivier Fourdan 2016-09-09 12:56:38 UTC
I can reproduce on the laptop's own builtin panel, yet the resolution can be changed at will for the external monitor.

On Wayland, I reckon it's mutter backend that provides the data about the outputs (via dbus), so most likely a mutter issue.

Comment 3 Olivier Fourdan 2016-09-09 13:59:58 UTC
Adding logs to meta-monitor-manager-kms.c shows that indeed, only one mode is reported for the laptop's own builtin panel (eDP-1):

  KMS output eDP-1: mode 1920x1080

Whereas for the external monitor (DP-4), there are a lot more:

  KMS output DP-4: mode 1920x1200
  KMS output DP-4: mode 1920x1080
  KMS output DP-4: mode 1600x1200
  KMS output DP-4: mode 1680x1050
  KMS output DP-4: mode 1280x1024
  KMS output DP-4: mode 1280x960
  KMS output DP-4: mode 1024x768
  KMS output DP-4: mode 800x600
  KMS output DP-4: mode 640x480
  KMS output DP-4: mode 720x400

But that is coming directly from drmModeGetConnector()

And indeed:

$ cat /sys/class/drm/card0-eDP-1/modes
1920x1080

Whereas

$ cat /sys/class/drm/card0-DP-4/modes
1920x1200
1920x1080
1600x1200
1680x1050
1280x1024
1280x960
1024x768
800x600
640x480
720x400

So can you check how many modes are reported for your connector in /sys/class/drm/ ?

Comment 4 Giulio 'juliuxpigface' 2016-09-09 16:43:54 UTC
So... In /sys/class/drm/, I find 4 entries. I don't know which is the correct one:
1) card0-Virtual1
2) card0-Virtual2
3) card0-Virtual3
4) card0-Virtual4

Anyway, I receive a void output for these three:
$ cat /sys/class/drm/card0-Virtual-2/modes
$ cat /sys/class/drm/card0-Virtual-3/modes
$ cat /sys/class/drm/card0-Virtual-4/modes


Whereas "Virtual1" returns a valid list:
$ cat /sys/class/drm/card0-Virtual-1/modes
1024x768
1920x1200
1920x1080
1600x1200
1680x1050
1400x1050
1280x1024
1440x900
1280x960
1280x854
1280x800
1280x720
1152x768
800x600
848x480
720x480
640x480

Comment 5 Giulio 'juliuxpigface' 2016-09-09 16:45:49 UTC
Also, this is the output of 'xrandr' (sorry for the multiple posts):

$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
XWAYLAND0 connected 1024x768+0+0 0mm x 0mm
   1024x768      59.68*+

Comment 6 Olivier Fourdan 2016-09-09 17:46:55 UTC
(In reply to Giulio 'juliuxpigface' from comment #5)
> Also, this is the output of 'xrandr' (sorry for the multiple posts):
> 
> $ xrandr
> Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
> XWAYLAND0 connected 1024x768+0+0 0mm x 0mm
>    1024x768      59.68*+

That output is normal, xrandr is of little use under Wayland, it's reaad-only as X the API cannot control the resolution under Wayland.

Comment 7 Geoffrey Marr 2016-09-13 02:29:43 UTC
Discussed during the 2016-09-12 blocker review meeting: [1]

The decision to classify this bug as a RejectedBlocker was made as the issue here is not considered 'basic functionality' for the resolution-switching applet.

[1] https://meetbot.fedoraproject.org/fedora-blocker-review/2016-09-12/f25-blocker-review.2016-09-12-16.01.txt

Comment 8 Kamil Páral 2016-09-27 08:40:39 UTC
This seems to be now fixed with mutter-3.22.0-1.fc25.x86_64, at least on my laptop. Please reopen if you still see this.

Comment 9 Olivier Fourdan 2016-09-27 16:18:03 UTC
For the record I reckon this was fixed with commit 9a07607 in mutter - monitor-manager-kms: Add common modes 

https://bugzilla.gnome.org/show_bug.cgi?id=744544

Comment 10 M. Edward (Ed) Borasky 2016-09-29 00:05:14 UTC
(In reply to Kamil Páral from comment #8)
> This seems to be now fixed with mutter-3.22.0-1.fc25.x86_64, at least on my
> laptop. Please reopen if you still see this.

How do you change resolution with Wayland if the monitor does not tell the kernel about available modes? That's the case with my monitor. See bug 1134885.

Comment 11 Olivier Fourdan 2016-09-29 07:05:27 UTC
(In reply to M. Edward (Ed) Borasky from comment #10)
> How do you change resolution with Wayland if the monitor does not tell the
> kernel about available modes? That's the case with my monitor. See bug
> 1134885.

See comment 9, mutter now adds common modes by itself even though kms doesn;t list them.

Comment 12 M. Edward (Ed) Borasky 2016-09-29 18:52:26 UTC
(In reply to Olivier Fourdan from comment #11)
> (In reply to M. Edward (Ed) Borasky from comment #10)
> > How do you change resolution with Wayland if the monitor does not tell the
> > kernel about available modes? That's the case with my monitor. See bug
> > 1134885.
> 
> See comment 9, mutter now adds common modes by itself even though kms
> doesn;t list them.

Is this in the 20160924.n.0 nightly compose? I booted it yesterday and it only showed 1024x768 and 800x600. https://bugzilla.redhat.com/show_bug.cgi?id=1134885#c19

Comment 13 M. Edward (Ed) Borasky 2016-09-29 19:42:03 UTC
(In reply to Kamil Páral from comment #8)
> This seems to be now fixed with mutter-3.22.0-1.fc25.x86_64, at least on my
> laptop. Please reopen if you still see this.

I'm running the Live Workstation nightly compose from USB 
https://fedoraproject.org/wiki/Test_Results:Fedora_25_Branched_20160927.n.0_Installation?rd=Test_Results:Current_Installation_Test

64 bit

Display Settings only shows 1024x768 and 800x600

My monitor does not supply resolution info to the kernel but it's 1360x768

Mutter is

$ dnf list installed mutter*
Fedora 25 - x86_64 - Test Updates               3.2 MB/s | 5.6 MB     00:01    
Fedora 25 - x86_64                              4.8 MB/s |  50 MB     00:10    
Fedora 25 - x86_64 - Updates                    1.0 kB/s | 257  B     00:00    
Installed Packages
mutter.x86_64                   3.22.0-1.fc25                   @koji-override-0

At this point I'd settle for documentation on how to get the mode into the settings, but it looks like I'll have to stay on X otherwise.

Comment 14 Kamil Páral 2016-10-04 09:15:43 UTC
OK, reopening. Edward, can you try this latest image?
https://kojipkgs.fedoraproject.org/compose/branched/Fedora-25-20161003.n.0/compose/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-25-20161003.n.0.iso

Olivier, any thoughts what might be wrong and how can Edward provide useful info? Thanks.

Comment 15 Rui Matos 2016-10-04 09:54:58 UTC
Can you post the output for

edid-decode /sys/class/drm/card0-eDP-1/edid

? You'll need to look under /sys/class/drm/ and replace card0-eDP-1 with your laptop's monitor connection name.

Comment 16 M. Edward (Ed) Borasky 2016-10-04 18:58:01 UTC
My monitor is very cheap - it only has a VGA connection and does not send any information back to the kernel. It only has two resolutions - 1366x768 and 1360x768. I currently run with X and have the modeline in /etc/X11/xorg.conf.

The video card is:

$ lspci | grep Bonaire
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM]

The kernel sees four outputs:

$ pwd
/sys/class/drm
[liveuser@c-24-20-155-148 drm]$ ls
card0       card0-DVI-D-1  card0-HDMI-A-1  renderD128  version
card0-DP-1  card0-DVI-I-1  controlD64      ttm

The edid-decodes verify what I already know - the kernel has no information about the monitor. I don't know which of the four outputs is connected to the monitor but with X, xrandr shows it's one of the DVIs.

I'm attaching the edid-decodes and a dmesg from the bootup. If you know how to figure out which card Wayland is talking to, let me know and I'll verify that.

Comment 17 M. Edward (Ed) Borasky 2016-10-04 18:58:51 UTC
Created attachment 1207317 [details]
dmesg from live USB boot

Comment 18 M. Edward (Ed) Borasky 2016-10-04 18:59:49 UTC
Created attachment 1207318 [details]
edid-decode of card0-DP-1

Comment 19 M. Edward (Ed) Borasky 2016-10-04 19:00:28 UTC
Created attachment 1207319 [details]
edid-decode of card0-DVI-D-1

Comment 20 M. Edward (Ed) Borasky 2016-10-04 19:02:05 UTC
Created attachment 1207321 [details]
edid-decode of card0-DVI-I-1

Comment 21 M. Edward (Ed) Borasky 2016-10-04 19:02:45 UTC
Created attachment 1207322 [details]
edid-decode of card0-HDMI-A-1

Comment 22 M. Edward (Ed) Borasky 2017-03-22 17:27:43 UTC
This is fixed in Fedora 26 - I have all the modes I need now with Wayland.

Comment 23 Fedora End Of Life 2017-11-16 18:51:12 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 24 Fedora End Of Life 2017-12-12 10:16:09 UTC
Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.