Hardware: Lenovo Thinkpad T14 Gen 3 AMD with R5 6650U and 660M iGPU. Lenovo Thunderbolt Dock Gen 2 (note - this computer does not have Thunderbolt or USB 4 so it is operating in USB-C mode regardless of OS)
Trying to use 1x 1440p 60hz monitor and 1x 4k 60hz monitor through a single USB-C cable to the dock. When it’s not working, I can sometimes get the 4K monitor working at 30hz but the screen is always black at 60hz.
Works on Windows 11. Works on Ubuntu. Works on the KDE desktop version of the Debian LiveCD. Does not work after installing from that very same LiveCD. Does not work after installing from the latest Debian 12.5 installer and installing either KDE or Gnome desktop as guided by installer. I have non-free binaries enabled. Tried (I think) every possible combination of different ports on the dock for the different monitors, and HDMI vs Displayport for the different monitors.
Any ideas? I would understand if Ubuntu had some special drivers in their version of the kernel because Lenovo officially partners with them to support Ubuntu on this laptop. But it works in the Debian with KDE desktop liveCD! I know the liveCD is not the latest or most official version of Debian so I suppose they turned something on or included some module that the official build doesn’t have. But what is it, and how do I enable it myself?
What does apt-get search firmware return – do you have firmware-amd-graphics, firmware-linux-free, firmware-linux-nonfree and maybe also firmware-misc-nonfree?
Also check the available screen outputs using the LiveCD and xrandr --listmonitors or xrandr --listactivemonitors. (You many be able to create an incantation for xrandr which adds the missing screen at the expected size, scale and refresh rate.)
There might be something funky happening with the USB controllers not advertising or achieving bandwidth needed for these displays, but I don’t know the hardware in your laptop. There will be information in lsusb and watching journalctl -f (forever) when plugging and unplugging devices.
I concur with the poster above. sudo apt update and install firmware-amd-graphics is almost certainly the solution.
I know the liveCD is not the latest or most official version of Debian
As of the Debian 12 (bookworm) release, Debian LiveCDs include non-free-firmware components by default (including firmware-amd-graphics). The LiveCDs with firmware are official Debian releases. There is a big red banner on the unofficial LiveCD pages alerting users that they no longer need those images.
The even before running an update, the recommended search did show:
firmware-amd-graphics/stable,stable,now 20230210-5 all [installed]
Binary firmware for AMD/ATI graphics chips
firmware-linux-nonfree/stable,stable,now 20230210-5 all [installed,automatic]
Binary firmware for various drivers in the Linux kernel (metapackage)
firmware-linux-free/stable,stable,now 20200122-1 all [installed]
Binary firmware for various drivers in the Linux kernel
firmware-misc-nonfree/stable,stable,now 20230210-5 all [installed]
Binary firmware for various drivers in the Linux kernel
When I actually run apt update, I get the following firmware related errors suggesting… something? is still potentially wrong, though some of these “missing” modules are referencing other GPU architectures like vega10 and Navi while this is an RDNA2 architecture GPU so at least some of these errors seem to be irrelevant.
update-initramfs: Generating /boot/initrd.img-6.1.0-22-amd64
W: Possible missing firmware /lib/firmware/amdgpu/ip_discovery.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega10_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_11_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_11_toc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_10_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_10_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/aldebaran_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_imu.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_toc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sdma_6_0_3.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi10_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/smu_13_0_10.bin for module amdgpu
Sadly, double-checking that non-free firmware was enabled (it was) and running apt update did not fix the problem