[amdgpu] 100Hz refresh rate makes the screen blank
Brief summary of the problem:
When I set the external monitor refresh rate to 100Hz from Gnome Settings, no visible output is shown on the screen anymore (while still shows on the laptop's one), until it gets reverted to 60Hz.
I want to point out that the screen's refresh rate is reverted to 60Hz even before the timeout in Gnome Settings is over.
The same applies if I try to set other available refresh rates such as 96.05Hz or 74.97Hz, but also 50.02Hz.
It works fine on Linux LTS kernel: Linux archlinux 6.1.63-1-lts #1 SMP PREEMPT_DYNAMIC Mon, 20 Nov 2023 12:45:57 +0000 x86_64 GNU/Linux
Plasma workaround (presumably a side effect)
An interesting workaround to this bug is launching KDE Plasma before Gnome.
With the following steps, Gnome starts working:
- From GDM, login launching KDE Plasma on Wayland
- From there, if it's the first time, run
kscreen-doctor output.HDMI-1.mode.1
to set 1920x1080@100Hz- Subsequent times, just launching KDE Plasma on Wayland will be enough, since it'll automatically switch to 100Hz
- Logout
- Now login launching Gnome
- The screen is still at 60Hz, but setting 100Hz from Gnome Settings will work just fine now
Still, after systemctl soft-reboot
, if logging directly in Gnome, still works. However, after a full reboot, launching KDE Plasma before seems necessary to fix Gnome.
I know it's really strange, and that's exactly why I wanted to point it out.
Previous issues
It was reported yesterday to Mutter, but since it keeps working even after a soft-reboot, @daenzer replied saying:
This indicates an amdgpu driver issue, which should be reported at https://gitlab.freedesktop.org/drm/amd/-/issues. Presumably Plasma does something which as a side effect changes some hardware state such that GNOME can work as well. There should be no such side effects though, what GNOME does should consistently either work or not.
Also, thanks to him for the very quick response
Hardware description:
- CPU: AMD Ryzen 7 5700U
- GPU:
-
lspci -nn | grep VGA
: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Lucienne [1002:164c] (rev c1) -
lshw -C display -numeric
:
-
*-display
description: VGA compatible controller
product: Lucienne [1002:164C]
vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
physical id: 0
bus info: pci@0000:03:00.0
logical name: /dev/fb0
version: c1
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi msix vga_controller bus_master cap_list fb
configuration: depth=32 driver=amdgpu latency=0 mode=1920x1080 resolution=1920,1080 visual=truecolor xres=1920 yres=1080
resources: iomemory:50-4f iomemory:50-4f irq:45 memory:560000000-56fffffff memory:570000000-5701fffff ioport:1000(size=256) memory:fd600000-fd67ffff
- Display(s):
- Main laptop monitor (not affected): 1920x1080@60Hz
- External MSI Pro MP243X (affected!): 1920x1080@100Hz
- Type of Display Connection: HDMI for the external monitor
System information:
- Distro name and Version: Arch Linux
- Working on Kernel:
- Linux archlinux 6.1.63-1-lts #1 SMP PREEMPT_DYNAMIC Mon, 20 Nov 2023 12:45:57 +0000 x86_64 GNU/Linux
- Aftected kernel versions (both are affected):
- Linux archlinux 6.6.2-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Mon, 20 Nov 2023 23:17:26 +0000 x86_64 GNU/Linux
- Linux archlinux 6.6.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 20 Nov 2023 23:18:21 +0000 x86_64 GNU/Linux
- Custom kernel: N/A
- AMD official driver version: N/A
How to reproduce the issue:
- After booting, launch Gnome (Wayland)
- Open Settings > Monitors > click on the external monitor > Set refresh rate to 100.00Hz
- At this point, the monitor became black and after a few seconds (before the dialog saying "Keep changes?" times out) I see output again but at 60Hz
The issue however is not present launching Plasma first, as mentioned at the beginning.
Attached files:
Log files (for system lockups / game freezes / crashes)
- DMESG after reboot, on Linux kernel, captured right after triggering the bug: dmesg.log