Shell and GDM freeze on displays with over 120hz refresh rate
Affected version
- GDM 44.1
- GNOME Shell 44.2
System Info
- OS: Arch Linux
- Kernel: 6.3.7-arch1-1
- CPU: AMD Ryzen 5 2600
- GPU: NVIDIA GeForce GTX 1070
- GPU Driver: Nvidia proprietary version 530.41.03
- XOrg and/or Wayland: Wayland
- Attempted display configuration: 2560x1440 @ 170hz
- Monitor Configuration
- DP-1: AUS VG27AQ1A 2560x1440 (Support up to 170hz, only works up to 120hz)
- DP-2: DELL 2209WA 1680x1050@59.954
- DVI-D-1: DELL 1908FP 1280x1024@60.020
Bug summary
When setting a high refresh rate display to over 120hz GNOME shell immediately freezes on that display. However, other displays remain perfectly functional. Windows can still be dragged from one display to another, however the affected display remains frozen with whatever content was present when the refresh rate was set. The issue persists on reboot. Setting the affected display to 120hz or lower mitigates the issue.
I do believe this to be a regression of some sort. I definitely had 170hz working although I think it was over a year ago, I haven't touched this system in a while.
Steps to reproduce
- Plug-in high refresh rate monitor.
- Set the refresh rate of the display to anything over 120hz.
- Observe the frozen display.
What happened
The display froze.
What did you expect to happen
The display to switch to whatever high refresh rate (in this case 170hz) and continue operating normally.
Relevant logs, screenshots, screencasts etc.
GDM logs (nothing really notable):
-- Boot 55f0481833eb4073873c29d84e734b92 --
May 16 16:27:44 Alpha systemd[1]: Starting GNOME Display Manager...
May 16 16:27:44 Alpha systemd[1]: Started GNOME Display Manager.
dmesg
also contains nothing notable.
Additional Notes
This issue does not occur under XOrg. I am almost certain this is not a hardware problem. Switching to a TTY works fine even on the affected display.
Nvidia Configuration for Wayland:
- Enabled DRM kernel mode (e.g.
nvidia_drm.modeset=1
kernel parameter) - Added the following modules to the initramfs:
nvidia
,nvidia_modeset
,nvidia_uvm
,nvidia_drm
- Enabled
NVreg_PreserveVideoMemoryAllocations
and NVIDIA systemd services (More info: https://wiki.archlinux.org/title/GDM#Wayland_and_the_proprietary_NVIDIA_driver)