Dual monitor setup broken after Fedora updates

Hey guys,

I’ve been struggling with this all day and I’m not sure what else to try.

My dual monitor setup completely broke and I need help figuring out what went wrong. I have an AMD Radeon RX 6700 XT with one monitor connected via DisplayPort (2560x1440) and an HDMI TV (3840x2160). Both were working perfectly this afternoon then I turned off my PC and everything stopped working when I turned it back on.

When I plug in just the DisplayPort cable, everything works fine. When I plug in just the HDMI cable, the TV shows nothing (black screen, no signal detected). But when I plug both cables in, the DisplayPort monitor starts blinking on and off constantly, losing connection every few seconds and becoming completely unusable. The HDMI TV still shows nothing.

Looking at my update history, I found a system update from today that included display and window manager components:

Kernel: 7.1.9 → 7.2.5
KDE Plasma: 6.7.4 → 6.7.5
kwin (window manager): 6.7.4 → 6.7.5
kscreen (display manager): 6.7.4 → 6.7.5
kwayland: 6.7.4 → 6.7.5
libwayland (all): 1.25.0 → 1.26.0
KDE Frameworks: 6.29.0 → 6.30.0

I also upgraded from Fedora 43 to Fedora 44 today hoping it would fix the issue, but it didn’t help.

When I run xrandr with only DisplayPort connected:

Screen 0: minimum 16 x 16, current 2560 x 1440
DP-3 connected primary 2560x1440+0+0
2560x1440    164.85*+

When I plug in both cables:

Screen 0: minimum 16 x 16, current 3840 x 2160
HDMI-A-1 connected primary 3840x2160+0+0
3840x2160     59.98*+

The DisplayPort monitor completely vanishes from xrandr when HDMI is connected, and it’s constantly blinking while the TV receives no signal even though the system shows HDMI as active.

My system information:

  • Fedora 44 KDE Plasma (Wayland)

  • GPU: AMD Radeon RX 6700 XT

  • Kernel: 7.2.4-200.fc44.x86_64

  • KDE Plasma: 6.7.5

  • kwin: 6.7.5

  • Mesa: 26.1.8

  • OpenGL: 4.6

  • AMDGPU driver loaded and working correctly

Hardware verification:

lspci | grep -i vga
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT]

glxinfo shows:
OpenGL renderer: AMD Radeon RX 6700 XT
OpenGL version: 4.6 (Compatibility Profile)

This isn’t a hardware limitation because it was literally working 2-3 hours ago before I rebooted.

At first sight, it sounds like similar to this user’s problem.

Do things improve if you boot back into the previous version of the kernel?

Thanks! Unfortunately my old kernels are already gone (auto-deleted after the Fedora upgrade) :cry:

I don’t know how related our two problems are.

Very similar display cards (not identical) and both apparently broken by a driver change that happened somewhere between kernel versions 6.19.14-200 and 7.2.4-200 (but if we both have the same issue and if I understood you correctly, the relevant change was from 7.1.9 to 7.2.4).

(In my thread I didn’t mention that I first did the step of preparing to upgrade from 43, which changed the kernel to 7.2.4-200 and broke the third monitor, then thinking forward was better than backward, I completed the upgrade to 44, getting kernel 7.2.5-100 with the third monitor broken).

Just now (by accident while trying something else) I changed the refresh on the non working display from 60 to 30 (it is a 4K display) and that made it start working. I verified it does fail when changed back to 60 and works again when changed to 30.

Over the years and OS’s I’ve used with this (cheap crappy) 4K display, some OS versions only offer 30 hz, while others offer both 30 hz and 60 hz. I can’t actually see the difference when changing between them, but I always selected 60 when it was available. Until today, 60 (if offered) always worked.

Hard to guess what driver change occurred. Maybe it never really was 60hz (maybe the display configuration thought it was setting 60hz and the driver was silently giving me 30 instead, but now the driver gives the refresh rate it is asked and the card can’t support that as a third monitor). Maybe the new driver somehow configures the card less efficiently so it could support 60hz on the 3rd monitor under the previous version, but now it can’t.

It is harder to see how that fits your symptoms. But try lowering the refresh rate (of the HDMI) (Which now that we know the nature of the bug, the lower rate may sidestep the bug of the driver configuring the signal in the wrong format).

I’m pretty sure kernel 7.1.13-200 will work for you (It does eliminate the need to reduce refresh rate for me). You don’t need to have kept that kernel nor even to ever have had it:

1st for safety in case things go wrong in the attempt, edit the file /etc/dnf/dnf.conf

You need root priv to edit that, kwrite requests that automatically, other editors need sudo (which you can’t use with kwrite).

In that file, I added installonly_limit=4 (2 might be enough, but I wanted more margin for error).

Next go to https://koji.fedoraproject.org/koji/buildinfo?buildID=3091612

scroll down to the x86_64 section. Download at least the kernel, kernel-core, kernel-modules, and kernel-modules-core files all into a directory that has no other files named ker*

Open a cmd prompt in that directory and type:

sudo dnf install ./ker*.rpm

Wait for it to finish (it will seem to be hung at a few points, but give it another few minutes).

Reboot, make sure grub is selecting that kernel.

See that the display problem is fixed.

Hope the real issue is fixed soon because you won’t want any more kernel updates until it is.

BTW, should any expert want to offer corrections to this post, please do.

The above is what I did and it worked (first time I ever downrev’ed a kernel this way). But I expect my instructions are still imperfect. I’m confident you should try 7.1.13-200. I’m not confident I gave best instructions for doing so.