Second Display Repeatedly Connects/Disconnects in KDE Plasma (X11)

OS: Debian 12
Graphics Card: NVIDIA GeForce 3080
Drivers: Non-free drivers (525.125.06) though I have also tried the latest Linux drivers from NVIDIA’s site (535.104.05). Currently back to Debian issued driver.
Monitors: 2x ASUSTEK PA278QV

I’ve recently set up Debian 12 with KDE Plasma (X11) and after installing the non-free drivers, everything was going great. However, something has changed and now my second monitor will not activate.

  • When I get to the login screen, both displays are active.
  • For the KDE Plasma splash screen, both displays are active, but then they blank and only one screen is active. This becomes the only display.
  • If I go into the System Settings app, the Display configuration constantly cycles with the banner changing from “An output has been removed. Settings have been reloaded” and “A new output has been added. Settings have been reloaded”
  • I have no opportunity to change any settings as the refresh cycle is every 3-5 seconds. But after the “New output has been added” banner is up, I can see both monitors in the dropdown.
  • The above behaviour seems similar to how the monitor behaved on Windows when Windows went into standby. I’d constantly get the “device disconnected/reconnected” sounds and the monitors would flash on the same frequency as the dialog appears to be refreshing.
  • No issues with GNOME.

I’m very new at troubleshooting under Linux, so any suggestions on what I can look into is much appreciated.

xrandr does show both monitors:

Screen 0: minimum 8 x 8, current 2560 x 1440, maximum 32767 x 32767
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+  74.92  
   2560x1080     59.98  
   2048x1152     60.00  
   1920x1200     59.88  
   1920x1080     59.94    50.00  
   1680x1050     59.95  
   1600x1200     60.00  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x800      59.81  
   1280x768      59.87  
   1280x720      59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94  
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected (normal left inverted right x axis y axis)
   2560x1440     59.95 +  74.92  
   2560x1080     59.98  
   2048x1152     60.00  
   1920x1200     59.88  
   1920x1080     59.94    50.00  
   1680x1050     59.95  
   1600x1200     60.00  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x800      59.81  
   1280x768      59.87  
   1280x720      59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94  

I’m hoping this is something that can be fixed as I much prefer KDE over GNOME. But I’m also getting the feeling that this is yet another annoyance from my Asus monitors. The monitors try to auto-switch to active displays after a very short period of time, and the behaviour of the Display Configuration dialog seems to indicate that may be happening (though the monitor itself is not flickering and is just in a standby state)

Is there any sort of configuration file that I could modify to try and force the second monitor out of this loop? Are there additional logs that would be helpful to troubleshoot this issue?

Thanks!

Try to run kscreen-console in a terminal. It should show you the settings of all of your screens, and then just wait for changes - see if it keeps seeing new changes to the configuration. If so - paste some of that here so we can enjoy that as well :slight_smile:

Thanks for the starting point!

I ran the kscreen-console command as requested, and sure enough it kept refreshing every few seconds. I tee’d the output to a file for about 10 cycles.

I can’t paste the content here due to character limits, but I’ve put the output on my Google Drive here: kconsole.out - Google Drive

It’s definitely clear that inputs are appearing and disappearing, though I don’t know what the next step would be. Hopefully you’ll be able to help :slight_smile:

The DP-4 (4th DisplayPort) is definitely disconnecting and reconnecting - you can see in the output that it is sometimes “uknown” and sometimes you get the full report.

I think the reason GNOME doesn’t give you grief is that it does not continuously monitor the status of the screens because it does not actually react to hardware screen changes (unlike Plasma that has screen priorities and can move the primary screen with the main panel depending on what screens you have connected and your set priorities). GNOME is a much simpler beast and it has one primary screen where your dock lives and everything else can get connected and disconnected and it doesn’t bother it.

To me it sounds awfully like a hardware problem - I would try to replace the cable.

I think this is definitely a hardware problem, but it’s not likely the cable. (I did try replacing it–no change :frowning: )

No, these monitors are apparently well known for being a bit annoying from the perspective of their auto-switch functionality. As soon as the monitor doesn’t detect a signal, it switches to another input within 3-5 seconds. Makes it very difficult to get to a BIOS screen if there’s another active input on the monitor, for example.

It was something that I saw in Windows; occasionally when the computer tried to sleep the monitor would go into one of these loops (and driving me nuts with the disconnect/reconnect sound)

I was hoping there might be a way to work around this as I don’t really want to replace the monitors yet as they’re only a year or two old.

It is strange that it worked up until the first time the computer went into standby though. (I think that’s when the behaviour started, but I could be mis-remembering)

Regardless, thank you for the insight on why this might be happening!

Did you try to power cycle your monitor (i.e. disconnect from power and reconnect)? Did you try to see if it has a setting for not auto-scanning for input signal (fixed port)?

Yes, and yes. When the constant “doobleydoop” connect/disconnect sound started happening in Windows a few months ago, I looked into it (and am re-looking into it right now in case there is a firmware update) and there’s no indication that it can be disabled.

I’ve been through the full OSD menu and haven’t been able to find any customization options. (I’d really like to have set up two inputs that I could switch back and forth between with one button, rather than the 7+ button presses it takes to switch to my work computer for example)

Maybe you want to see about disabling the KScreen daemon under Background Services. Possibly - I’m not sure - without it running, Plasma wouldn’t be bothered by the screen flaking.

Your suggestion worked!

I disabled the KScreen 2 Daemon under Settings > Startup and Shutdown > Background Services and logged out/logged back in and now my second display is working.

So the question now becomes: 1) What am I going to be missing with this service disabled and 2) Is this something that should be reported as a bug to the KDE Team, or is it likely too specific to be affecting other people?

Spoke too soon. Let the computer go into standby and now it’s the other monitor that’s not working. :man_facepalming: Same thing; display settings constantly refreshes between one and two monitors.

At this point, I feel we don’t have enough information about this issue to create a bug report.

There’s another bug report, created recently, which could be related (I believe): 473807 – Plasma is initializing a new display output when restarting monitor

In both cases - a screen disappears only to reappear and cause display reset with bad effects. Maybe these issues can be dealt in the same way?

I would appreciate feedback from KDE developers on this - lets see if I can summon @ngraham or @David_Edmundson ?

Hmm, this suggests a driver or hardware issue. @Zamundaaa

Indeed; probably some setting that KScreen applies triggers a monitor bug. To test that theory you could rename (not delete!) ~/.local/share/kscreen to get back to default settings

I tried switching back to KDE after using Cinnamon for a bit to try out your suggestion, but to my surprise, both monitors were working.

I tried to force the issue by restarting the machine, which still worked, then I tried putting the computer to sleep, which typically causes the issue to happen. No change. Things are still working.

The only changes that have been made that I can recall are:

  • I downloaded a bunch of dev packages to try and build Wine.
  • I installed VirtualBox
  • I resized the root volume of my LVM setup as it was down to 1GB free.

Otherwise, it’s been general usage.

I’ll have an opportunity to test it out a bit more later. I’ll try things for a few days and will update here if the monitor stops working again.

Thanks for all of the help so far!

Some updates:

  • KDE on my machine doesn’t seem to like coming out of standby. When I do get it to come out of standby, the screen remains black with a pointer on it.
  • Each time I log in, the display settings appear to be reset. Traversing from the Right monitor to the Left monitor requires me to move to the opposite edge. (IE, they’re backwards) It’s easy enough to change, but I’ve had to do it each time I’ve logged in now.
  • On the most recent standby did only populate one monitor, but I had to log out to recover my screen and both monitors came back after I logged out/logged back in.

Is there any log file that I could check after the computer fails to come out of standby that might help me look into what’s happening there?

I would check the user Journal. Running journalctl --user -b0 will get you all the Journal events since the last boot. You can then search (*) for “kscreen.kded: Resumed from suspend, checking for screen changes” then scroll back until you see a time jump.

There should be a bunch of interesting logs from before KScreen gets triggered, including things like kwin_core: Reading output configuration for KWin::DrmOutput(0x55f6b7508650, name="eDP-1", geometry=QRect(0,0 1920x1200), scale=1)

*) The pager should be less, so hit the / key to open the search input at the bottom of the screen, n for next match or N for previous match, otherwise arrow keys and PgUp/PgDn should work as expected, possibly mouse scrolling.