[qubes-users] Lenovo Thinkpad P16; external HDMI is blank or fails to connect. Until shutdown.

Hardware: Lenovo Thinkpad P16
Graphics Card: NVIDIA RTX A2000 / Intel UHD Graphics

CPU: Intel Core i9 (12th Gen) 12950HX / 2.3 GHz (5 GHz) / 30 MB Cache

Specs here: Buy Lenovo ThinkPad P16 Gen 1 16" .. | 21D6003UUK

I got Qubes installed but when I plug in an external monitor, it either comes up blank/blank or it says no HDMI signal. There’s a single HDMI output on the back of the laptop. When I shutdown though, the screen will start working around when the Qubes shutdown progress bar displays…

Some notes about the setup:

  • running latest kernel 6.1.12-1.fc32 because the Installer Live CD wouldn’t boot without it

I tested a few configurations and sometimes it seems to connect but goes blank. Other times, there’s no signal at all

  • With no change to grub params, and with the HDMI display plugged in, when the LUKS passphrase prompt displays the HDMI screen wakes up but stays blank/black. The LED remains on so it’s ‘connected’ as far as I can tell. Continuing on, once you login the HDMI signal gets lost and the screen enters powersaving mode.
  • Opening Display or xrandr --listmonitors shows only my built in laptop display.
  • With nouveau disabled via Grub the screen doesn’t power on at all at the LUKS prompt. Opening Display or xrandr --listmonitors shows only my built in laptop display
    Disabled by putting rd.driver.blacklist=nouveau nouveau.modeset=0 in the grub boot line

  • Tried attaching another screen (HDMI->DVI to an older screen), no change

  • The screen and cable are in use with another laptop normally (Qubes 4.0) so I’m happy they are working

I feel kinda silly asking but, the computer has two graphics cards, and one HDMI power. Can both graphics cards use that single port? Or is it going to be tied to the Intel graphics card most like? When I disable nouveau the HDMI no longer ‘connects but stays blank’ suggesting it’s managed by the nouveau/graphics hard somehow.

Please let me know what you think, or if some logs would assist debugging

lspci | grep VGA:
00:02.0 VGA compatible controller: Intel cCorporation Device 4688 (rev 0c)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 25ba (Rev a1)

sudo dmesg | grep VGA
pci 0000:00:02.0: vrgaarb: setting as boot VGA device
pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=mem,locks=none
pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
fb0: EFI VGA framebuffer device
i915 0000:00:02.0 vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=mem
VGA switcheroo: detected Optimus DSM method _SB_.PC00.PEG1.PEGP handle

I attach the output from dmesg, journalctl, and lspci, and my Xorg.0.log if that helps

Xorg.0.log (71.1 KB)

(Attachment lspci.txt is missing)

(Attachment journalctl is missing)

(Attachment dmesg.txt is missing)