Issues with dual monitor setup

Hello everybody! Happy new year :slight_smile:

I have a problem that only happens in KDE. My setup is a dual external monitor that are both plugged into a Dell Dock (with USB4). After plymouth, on SDDM screen, I have one monitor showing me input and the other shows only the message of “No signal”.

After login, I open KDE configuration page and it shows BOTH monitors: one of them is the one which does not receive signals. It shows as active and I can even configure it (change fractional scaling, change resolution and so on…).

In a terminal session, if I run kscreen-doctor -o it shows:

Output: 1 eDP-2 disabled connected priority 0 Panel Modes: 0:3840x2160@120*! 1:3840x2160@60 2:3840x2160@120 3:3840x2160@96 4:3840x2160@72 5:3840x2160@60 6:3840x2160@50 7:3840x2160@48 8:1920x1200@120 9:1920x1080@120 10:1600x1200@120 11:1680x1050@120 12:1280x1024@120 13:1440x900@120 14:1280x800@120 15:1280x720@120 16:1024x768@120 17:800x600@120 18:640x480@120 19:1600x1200@60 20:1280x1024@60 21:1024x768@60 22:2560x1600@60 23:1920x1200@60 24:1280x800@60 25:3840x2160@60 26:3200x1800@60 27:2880x1620@60 28:2560x1440@60 29:1920x1080@60 30:1600x900@60 31:1368x768@60 32:1280x720@60 Geometry: 0,1006 2560x1440 Scale: 1.5 Rotation: 1 Overscan: 0 Vrr: Never RgbRange: unknown
Output: 2 DP-9 enabled connected priority 1 DisplayPort Modes: 0:3840x2160@60*! 1:2560x1440@60 2:1920x1080@60 3:1920x1080@60 4:1920x1080@60 5:1680x1050@60 6:1600x900@60 7:1280x1024@60 8:1440x900@60 9:1280x800@60 10:1280x720@60 11:1280x720@60 12:1024x768@60 13:800x600@60 14:800x600@56 15:640x480@60 16:640x480@60 17:1600x1200@60 18:1280x1024@60 19:1024x768@60 20:2560x1600@60 21:1920x1200@60 22:3200x1800@60 23:2880x1620@60 24:2560x1440@60 25:1920x1080@60 26:1600x900@60 27:1368x768@60 28:1280x720@60 Geometry: 1440,851 2560x1440 Scale: 1.5 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown
Output: 3 DP-10 enabled connected priority 2 DisplayPort Modes: 0:3840x2160@60*! 1:3840x2160@30 2:3840x2160@30 3:3840x2160@30 4:3840x2160@25 5:3840x2160@24 6:3840x2160@24 7:2560x1440@60 8:2048x1280@60 9:1920x1080@60 10:1920x1080@60 11:1920x1080@60 12:1920x1080@50 13:1920x1080@30 14:1920x1080@30 15:1920x1080@25 16:1920x1080@24 17:1920x1080@24 18:1600x900@60 19:1280x1024@75 20:1280x1024@60 21:1152x864@75 22:1280x720@60 23:1280x720@60 24:1280x720@50 25:1024x768@75 26:1024x768@60 27:800x600@75 28:800x600@60 29:720x576@50 30:720x576@50 31:720x480@60 32:720x480@60 33:720x480@60 34:720x480@60 35:640x480@75 36:640x480@60 37:640x480@60 38:640x480@60 39:720x400@70 40:1600x1200@60 41:1280x1024@60 42:1024x768@60 43:2560x1600@60 44:1920x1200@60 45:1280x800@60 46:3200x1800@60 47:2880x1620@60 48:2560x1440@60 49:1920x1080@60 50:1600x900@60 51:1368x768@60 52:1280x720@60 Geometry: 0,0 1440x2560 Scale: 1.5 Rotation: 8 Overscan: 0 Vrr: incapable RgbRange: unknown

So, three outputs where the first one is my laptop lid (which is disabled on purpouse), and the two other monitors as both enabled and connected.

I couldn’t see any log or anything that would suggest what is causing the problem…

This setup is running Fedora 39 KDE spin up-to-date. Here is some info:

~ 
❯ inxi -GCS
System:
  Host: fedora Kernel: 6.6.8-200.fc39.x86_64 arch: x86_64 bits: 64
    Desktop: KDE Plasma v: 5.27.10 Distro: Fedora release 39 (Thirty Nine)
CPU:
  Info: 8-core model: AMD Ryzen 9 6900HX with Radeon Graphics 
Graphics:
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
    driver: amdgpu v: kernel
  Device-2: AMD Rembrandt [Radeon 680M] driver: amdgpu v: kernel
  Device-3: Microdia [] driver: uvcvideo type: USB
  Device-4: Logitech StreamCam
    driver: hid-generic,snd-usb-audio,usbhid,uvcvideo type: USB
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 23.2.3
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: fbdev,modesetting,radeon,vesa dri: radeonsi gpu: amdgpu,amdgpu
    resolution: 1: 1440x2560 2: 2560x1440
  API: EGL v: 1.5 drivers: radeonsi,swrast
    platforms: wayland,x11,surfaceless,device
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.3.1 renderer: AMD
    Radeon Graphics (radeonsi rembrandt LLVM 17.0.6 DRM 3.54
    6.6.8-200.fc39.x86_64)
  API: Vulkan v: 1.3.268 drivers: radv,llvmpipe surfaces: xcb,xlib,wayland

The thing is: I have also a work laptop which runs Ubuntu 22.04. During the day I connect the same dock, with the same connections to its USB-C port and all monitors just work. It runs default Ubuntu (no KDE there) so this is why I am asking here for help…

It MIGHT be a Fedora issue too because of these different setups but I am guessing it is KDE for now.

Thank you all!

More info:

First, my LUKS password input screen for decrypting my disk ONLY shows on the laptop built-in screen.

THEN, after I type the password and it is loading to reach SDDM, it shows the loading on ALL screens…

When I get to the SDDM login page, it reflects my plasma situation. Laptop and one of the extras monitors work but the second monitor does not. What is strange is that it seems to know there are three displays as I can move my mouse to the detected but not showing anything monitor (and the time it takes to come back makes me think that somehow in the software side it thinks the monitor is showing something).

If I turn one of the external monitors off, the other one comes back alive and kscreen-doctor updates accordingly saying there are only two screens…

If it weren’t for a working setup through another laptop, I’d say it is a problem with the dock hardware itself… but I can make all screens work (even through an Android tablet connected through the dock).

After trying many different things, it turns out in my case that to have 2 external monitors connected through Display Port in Dell Dock, it needed both of them to be on the same version of Display Port…

In my case, I had both monitors connected through Display Port ports but one monitor was v1.2 and the other was v1.4… when I’ve switched the monitor with 1.2 DP to HDMI it showed pictures perfectly…

It was strange though that Ubuntu was showing both monitors… the difference being that it used a lower resolution…

All in all still don’t perfectly understand why it was showing in Displays but nothing was being outputted.

I’ll mark this as solved and this explanation as the solution but it is not actually a very deep dive into the issue… maybe I should open a bug in KDE? Not sure…

This sounds like the bandwidth you can push through the dock is at its limit. By turning the DisplayPort version down, you force both to run at 8 bits per color. Same thing with Ubuntu - Gnome only supports 8 bit per color, while KWin tries to use 10 bit per color if possible.

This is something that drivers are supposed to prevent, if bandwidth isn’t sufficient, they must turn down the bit depth. That not happening is a bug, which you can report at Issues · drm / amd · GitLab

As a workaround you can put KWIN_DRM_PREFER_COLOR_DEPTH=24 into /etc/environment. After a reboot the displays should both work even with DP 1.4.

You can also create a bug report for KWin, we should probably expose a proper setting as a better workaround for such issues.

3 Likes

You sir… were spot on!

The environment config was what made it work. Both displays through DP with max res now (though I guess with less colors).

I will open an issue at amd :slight_smile:

Just for the record, it really shocks me as how this would have never happened on any other stack… only a pure OSS operating system made it possible for one of the core maintainers of the display manager to answer about my issue. It is unfortunate that nobody (or at least myself) have no idea who are the people behind Windows/Apple’s display engines…

I really wanted to express my gratitude. Have a wonderful day!

3 Likes