Fedora 35 - kernel 5.16.* removes monitor resolutions automatically detected in kernel-5.15.*

Hi,

I am using Fedora 35 with KDE on an AMD 5800x and AMD 6800XT with a LG 27GP850-B 27 monitor. When I installed this with the Gnome desktop installer everything was working correctly. I recently decided to change to XFCE, before then switching to KDE and I followed Switching desktop environments :: Fedora Docs and everything worked correctly after switching to XFCE and then to KDE and finally removing Gnome.

Unfortunately the last 2 kernel upgrades, kernel-5.16.7-200.fc35.x86_64 and kernel-5.16.5-200.fc35.x86_64, have made my system unable to detect my monitors native resolutions. The kernels prior to this, e.g. kernel-5.15.18-200.fc35.x86_6, detect them just fine. This is what xrandr displays when using kernel-5.15.18-200.fc35.x86_6

Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 697mm x 392mm
   2560x1440    164.96*+ 143.97 + 120.00    99.95    59.95  
   1920x1200    164.96  
   1920x1080    120.00   100.00   119.88    60.00    60.00    50.00    59.94  
   1600x1200    164.96  
   1680x1050    164.96  
   1280x1024    164.96  
   1440x900     164.96  
   1280x800     164.96  
   1280x720      60.00    50.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x480       60.00    59.94  
   640x480       60.00    59.94  
HDMI-A-0 disconnected (normal left inverted right x axis y axis)

This is what xrandr displays when using kernel-5.16.7-200.fc35.x86_64 or kernel-5.16.5-200.fc35.x86_64

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 697mm x 392mm
   1920x1080     60.00    60.00*   50.00    59.94  
   1280x720      60.00    50.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x480       60.00    59.94  
   640x480       60.00    59.94  
HDMI-A-0 disconnected (normal left inverted right x axis y axis)

I’ve tried to use my saved profile in autorandr but it fails with:

Failed to apply profile 'blindcant@1440p' (line 930):
  Command failed: xrandr --fb 2560x1440 --output DisplayPort-2 --crtc 0 --gamma 1.0:1.0:1.0 --mode 2560x1440 --pos 0x0 --primary --rate 164.96 --reflect normal --rotate normal --set max bpc 8 --set non-desktop 0 --set scaling mode None --set TearFree auto --set underscan off --set underscan hborder 0 --set underscan vborder 0 (line 930)

And this is the profile that works fine when all kernels prior to 5.16.*.

This is my first AMD GPU and I have no X11 configuration for it like I’ve had for NVIDIA GPUs in the past. Currently I am booting into kernel-5.15.18-200.fc35.x86_6 so I can use the correct resolution but I would like to find a solution so I don’t have to stick with this kernel. What can I do to try and troubleshoot this issue?

Thanks.

If you actually removed gnome it may have something to do with the issue. The default fedora workstation has gnome portions deeply tied into the display functions.

The default window manager for fedora 35 is wayland. I think that applies with all the systems now that the nvidia driver mostly supports wayland. You did not say whether you are using wayland or xorg, but it could also be a factor.

For an AMD GPU there are 2 possible drivers, amdgpu and radeon. Which are you using?

Please post the output of inxi -Fzx so we can see the actual hardware and drivers in use.

Yes I did actually remove Gnome after switching the display manager from gdm to sddm and confirmed it was working. Interesting that switching desktops may be the reason for this, I did the switch about 2 weeks ago and I feel I would have upgraded the kernel before encountering this issue which started about a week ago. Obviously I’d prefer not to reinstall with the KDE spin but if it comes to that I can. I also have i3 installed as well but rarely use it. My resolution issues start from the LUKS password screen (I think that is plymouth?) and persist all the way through to sddm and KDE.

Sorry forgot to mention I am using xorg, I have never been able to get Wayland working with my current AMD GPU. When choosing Wayland from sddm the screen goes black and does nothing, before falling back to the sddm login page.

I don’t recall installing any drivers, so it must be bundled with the kernel. Not sure which one?

I didn’t have inxi installed, so I’ve installed and ran it as root. Here is the output.

[root@desktop ~] $ inxi -Fzx
System:
  Kernel: 5.15.18-200.fc35.x86_64 x86_64 bits: 64 compiler: gcc
    v: 2.37-10.fc35 Console: pty pts/4 Distro: Fedora release 35 (Thirty Five)
Machine:
  Type: Desktop Mobo: Gigabyte model: B550 AORUS PRO V2 serial: N/A
    UEFI: American Megatrends LLC. v: F14e date: 10/14/2021
CPU:
  Info: 8-core model: AMD Ryzen 7 5800X bits: 64 type: MT MCP arch: Zen 3
    rev: 0 cache: L1: 512 KiB L2: 4 MiB L3: 32 MiB
  Speed (MHz): avg: 2337 high: 3800 min/max: 2200/4850 boost: enabled
    cores: 1: 2200 2: 2200 3: 2200 4: 2800 5: 2200 6: 2200 7: 2200 8: 3800
    9: 2200 10: 2200 11: 2200 12: 2200 13: 2200 14: 2200 15: 2200 16: 2200
    bogomips: 121374
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] vendor: Tul
    driver: amdgpu v: kernel bus-ID: 09:00.0
  Display: server: X.Org 1.20.14 driver: loaded: amdgpu,ati
    unloaded: fbdev,modesetting,radeon,vesa resolution: 2560x1440~165Hz
  OpenGL: renderer: AMD Radeon RX 6800 XT (SIENNA_CICHLID DRM 3.42.0
    5.15.18-200.fc35.x86_64 LLVM 13.0.0)
    v: 4.6 Mesa 21.3.5 direct render: Yes
Audio:
  Device-1: AMD Navi 21 HDMI Audio [Radeon RX 6800/6800 XT / 6900 XT]
    driver: snd_hda_intel v: kernel bus-ID: 09:00.1
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel bus-ID: 0b:00.4
  Sound Server-1: ALSA v: k5.15.18-200.fc35.x86_64 running: yes
  Sound Server-2: PulseAudio v: 15.0 running: no
  Sound Server-3: PipeWire v: 0.3.45 running: yes
Network:
  Device-1: Realtek RTL8125 2.5GbE vendor: Gigabyte driver: r8169 v: kernel
    port: e000 bus-ID: 06:00.0
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A
  IF-ID-2: virbr0 state: down mac: <filter>
RAID:
  Device-1: md127 type: mdraid level: mirror status: active size: 3.64 TiB
  Info: report: 2/2 UU blocks: 3906884608 chunk-size: N/A
  Components: Online: 0: sdb1 1: sdc1
Drives:
  Local Storage: total: raw: 12.74 TiB usable: 9.1 TiB used: 3.05 TiB (33.5%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 970 EVO Plus 1TB
    size: 931.51 GiB temp: 35.9 C
  ID-2: /dev/sda vendor: Crucial model: CT2000BX500SSD1 size: 1.82 TiB
    temp: 30 C
  ID-3: /dev/sdb vendor: Western Digital model: WD40EFZX-68AWUN0
    size: 3.64 TiB temp: 31 C
  ID-4: /dev/sdc vendor: Western Digital model: WD40EFZX-68AWUN0
    size: 3.64 TiB temp: 31 C
  ID-5: /dev/sdd type: USB vendor: Western Digital model: WD Elements 25A1
    size: 2.73 TiB
Partition:
  ID-1: / size: 91.16 GiB used: 27.05 GiB (29.7%) fs: ext4 dev: /dev/dm-1
    mapped: fedora_localhost--live-root
  ID-2: /boot size: 944.6 MiB used: 286.6 MiB (30.3%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 974.1 MiB used: 13.8 MiB (1.4%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 822.34 GiB used: 403.1 GiB (49.0%) fs: ext4
    dev: /dev/dm-2 mapped: fedora_localhost--live-home
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 33.0 C mobo: N/A gpu: amdgpu temp: 46.0 C
  Fan Speeds (RPM): cpu: 0 fan-2: 0 fan-3: 1002 gpu: amdgpu fan: 0
  Power: 12v: N/A 5v: N/A 3.3v: 1.67 vbat: 1.59
Info:
  Processes: 479 Uptime: 3h 37m Memory: 31.31 GiB used: 5.46 GiB (17.4%)
  Init: systemd runlevel: 5 Compilers: gcc: 11.2.1 Packages: 14
  note: see --pkg Shell: Bash v: 5.1.8 inxi: 3.3.12

So it looks like I am running the amdgpu driver.

I also have a KVM switch ( https://www.lindy.com.au/2-port-dp-1-2-usb-2-0-audio-cable-kvm-switch ) which is Display Port 1.2 compatible which supports my target resolution of 1440p at 165hz. I don’t think this is the problem because the resolution and refresh rate are working correctly in 5.15.18-200.fc35.x86_64 with or without the KVM. I haven’t tested without the KVM on the new kernels though as I didn’t think it was necessary.

If booting from an older kernel works (and that’s the only difference), then it’s likely a kernel driver issue. You can report issues for the amdgpu drivers at

I concur with @qulogic . With the 5.15 kernel it works properly and with the 5.16 kernel it does not so it seems related to either the kernel or the driver and a bug should be filed. I would report it against the amdgpu driver as suggested, but also against the kernel at Log in to Red Hat Bugzilla

Thanks @qulogic and @computersavvy I will raise a bug report with drm / amd · GitLab and Log in to Red Hat Bugzilla

EDIT: Created - 2053758 – Fedora 35 - kernel 5.16.* removes monitor resolutions automatically detected in kernel-5.15.*

EDIT: Created - Fedora 35 - kernel 5.16.* removes monitor resolutions automatically detected in kernel-5.15.* (#1899) · Issues · drm / amd · GitLab

1 Like

I had time to reinstall Fedora using the KDE spin and the kernel that comes with that, 5.14.10-300.fc35.x86_64, is working fine. I upgraded the system and the latest kernel from that update, kernel-5.16.9-200.fc35.x86_64, is still broken with the same issue. I haven’t heard from any one yet one the bug tickets that I’ve raised.

EDIT: I manually reinstalled 5.15.18-200.fc35.x86_64 and it is working correctly.

Would you like to test the new kernel without KVM and directly connect to HDMI or Display Port (not from USB to HDMI/Display Port)?

Not sure why this would make a difference when every kernel under 5.15.18-200.fc35.x86_64 worked with and without the KVM. I literally reinstalled today from a KDE spin and the kernel in the KDE spin worked, then after a system upgrade the latest one didn’t work. I also just manually reinstalled 5.15.18-200.fc35.x86_64 and it works as well. That makes me think it is a driver issue rather than a KVM hardware issue.

You could be onto something here as someone commented on the AMD bug, they have a KVM and the KVM was indeed the issue. They have a DP 1.4 KVM and I have a DP 1.2 KVM and apparently kernel 5.16 introduced DP 2 support. I will try loading the latest kernel without the KVM tomorrow when I have some time.

EDIT:

@oprizal yes you were right, it is the KVM that is a part of the problem. So I just manually installed kernel-5.16.1-200.fc35.x86_64 and booted into that with the KVM and the resolution issue I described is there. When removing the KVM and booting to kernel-5.16.1-200.fc35.x86_64 again my resolution is detected correctly, although I have to fix this manually with my autorandr profile.

This behaviour is consistent with what the other user on the AMD bug described and the developers over there thought this could be a regression with the EDID being processed through the KVM. I also did the same test with kernel-5.16.9-200.fc35.x86_64 and had the same result. My next steps are going to be to try and do bug bisect ( Bisecting a bug — The Linux Kernel documentation ) between 5.15.18-200 and 5.16.1-200. 5.15.18-200 is when the resolution through the KVM is last working and 5.16.1-200is when the resolution through the KVM isn’t working.

2 Likes

Awesome!

I’ve been offline with life for a while. I upgraded to Fedora 36 (still KDE spin) today and my issue is gone with 5.17.6-300.fc36.x86_64, I’ve updated the other bug tickets.