On Thu, 18 Feb 2021 at 11:06, Craig Ringer <ringerc@ringerc.id.au> wrote:
Hi all

I'm trying to get HDMI hotplug working on my Lenovo T15g laptop with Optimus graphics. HDMI works when plugged in at boot, but does not work when hotplugged after boot, or when hot-unplugged then re-plugged. The external display is not detected, its status remains 'disconnected' in sysfs, and the display stays in what looks like DPMS-off state.
[snip]
I'll attach a detailed lspci, bigger excerpts from demesg, etc in a followup to make sure I don't upset any mail filter.

Detailed PCI info and trimmed dmesg uploaded to a GDrive since I don't really want to send all that to the whole list. Files here:

https://drive.google.com/drive/folders/1oE3ow7d8N6npDNbL8vqHYjbAvvJCUcPN?usp=sharing

Contains:

$ sudo lspci -vvvvnnnnPPq | sed '/Device Serial Number/d' > pci.list

$ sudo dmesg | egrep -v 'e1000e|nvme|BTRFS|audit:|SELinux:|systemd\[1\]|thunderbolt|cfg80211|WiFi|Bluetooth|battery|iwlwifi|uvcvideo|usbcore|zram|iTCO_wdt|snd_hda_intel|squashfs|EXT4-fs|iSCSI|wlp0s20f3|IPv6|\<bridge\>|\<tun\>|virbr0|rfkill|nf_conntrack|psmouse' | sed 's/SerialNumber.*$/SerialNumber REDACTED/' > dmesg.out

$ sudo dmidecode | sed '/Serial Number:/d;/Asset Tag/d' > dmi.dump

$ sudo cat /sys/kernel/debug/vgaswitcheroo/switch
0:DIS: :DynOff:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0
2:DIS-Audio: :DynOff:0000:01:00.1

I can provide raw or decompiled ACPI DSDT and SSDTs on request, as well as kernel logs with higher log levels, a nouveau module debug string, info from /sys/kernel/debug, 'perf' runs, etc.

There's also some nouveau info in /sys/kernel/debug/dri/1 .

Also, I note that

    echo 'on' > /sys/kernel/debug/dri/1/HDMI-A-1/force

does not appear to have any effect when the display is plugged in and turned on, but not being detected by nouveau. Also true for other ports DP-1, DP-2, DP-3, eDP-2.

--
Craig Ringer