DisplayPort over USB-C Not working with USB-C Hub
Brief summary of the problem:
I have 2 displays, connected to a Lenovo Universal USB-C dock, plugged into my Lenovo T16 AMD laptop. drm_info sees the displays just fine, but does not drive any output to them in kwin_wayland. Works fine in Gnome/Wayland.
Hardware description:
- CPU: AMD Ryzen 7 PRO 6850U with Radeon Graphics (family: 0x19, model: 0x44, stepping: 0x1)
- GPU: AMD Radeon 680M
- System Memory: 32GB
- Display(s): 2 X LG32GP83B-B.AUS 32" Displays
- Type of Display Connection: DisplayPort over USB-C
System information:
- Distro name and Version: openSUSE Tumbleweed
- Kernel version:
Linux mustang 6.3.2-1-default #1 SMP PREEMPT_DYNAMIC Mon May 15 15:59:38 UTC 2023 (70ea6f6) x86_64 x86_64 x86_64 GNU/Linux
- AMD official driver version: In-Kernel OSS Driver
How to reproduce the issue:
- Connect Displays via DisplayPort cables to USB-C Dock
- Connect Dock via USB-C Cable to appropriate port on laptop
- No Output to Displays connected to Dock
Fix
Setting KWIN_DRM_PREFER_COLOR_DEPTH=24
as an environment variable in /etc/profile.local
fixes this issue, and Dock Connected displays now work properly.
The user that asked me to report this bug, after helping me fixed it suggested: "Maybe we need to expose the bpc setting in the KScreen GUI. It would be best if this can be fixed properly in the driver though, so please report the problem at https://gitlab.freedesktop.org/drm/amd/-/issues"