7

I have a brand new Lenovo T14, and I've installed Ubuntu 22.04 on it. The computer has an HDMI output, which does not show up in xrandr at all. xrandr does show my eDP-x outputs, and using a USB-C->HDMI cable does work.

In the Lenovo BIOS, I am able to choose to use an External Display instead of the laptop screen, and when I do that, the HDMI port works until Ubuntu starts loading, at which point the output dies.

My Ubuntu is as up-to-date as I know how to get it. Here are some diagnostic outputs:

xxxxxxxxx@xxx-xxx:~$ cat /proc/version_signature 
Ubuntu 5.15.0-43.46-generic 5.15.39
xxxxxxxxx@xxx-xxx:~$ lspci -k | grep -A 2 -i "VGA"
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
    Subsystem: Lenovo Device 22e8
    Kernel driver in use: i915

This is the output of xrandr with a working external display connected with USB-C:

xxxxxxxxx@xxx-xxx:~$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 2280, maximum 16384 x 16384
eDP-1 connected primary 1920x1200+0+1080 (normal left inverted right x axis y axis) 302mm x 188mm
   1920x1200     60.00*+  59.95  
   1920x1080     59.93  
   1600x1200     60.00  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1600x900      59.95    59.82  
   1280x1024     60.02  
   1440x900      59.89  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      59.97  
   1368x768      59.88    59.85  
   1360x768      59.80    59.96  
   1280x800      59.97    59.81    59.91  
   1152x864      60.00  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   800x512       60.17  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   720x450       59.89  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   680x384       59.80    59.96  
   640x400       59.88    59.98  
   576x432       60.06  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
   1920x1080     74.97*+  60.00    50.00    59.94  
   1920x1080i    60.00    50.00    59.94  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x960      60.00  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1440x576      50.00  
   1024x768      75.03    70.07    60.00  
   1440x480      60.00    59.94  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)

Does anyone have any ideas? It seems like it's probably some kind of driver/kernel issue, but I'm stumped...I'd really like to use the HDMI output, and I know it physically "works" because setting it as the primary display in the BIOS works until Ubuntu starts up.

I'm happy to provide any additional information upon request. Thank you for your help!

-----EDIT 1----- This is the output of lspci (there appears to be no mention of Nvidia):

xxxxxxxxx@xxxxxxx:~$ lspci
00:00.0 Host bridge: Intel Corporation Device 4621 (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 02)
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
00:07.0 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 02)
00:07.2 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #2 (rev 02)
00:0a.0 Signal processing controller: Intel Corporation Platform Monitoring Technology (rev 01)
00:0d.0 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller (rev 02)
00:0d.2 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 (rev 02)
00:0d.3 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #1 (rev 02)
00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)
00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01)
00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (16) I219-V (rev 01)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
  • 2
    Thinkpad T14 has hybrid graphics (Intel + Nvidia). Most similar laptops only enable the HDMI ports (often other external ports as well) when running with the discrete graphics. So, assuming you have correctly installed the Nvidia drivers, open Nvidia X Server Settings, change the profile to Nvidia , reboot and try again. – ChanganAuto Aug 04 '22 at 18:08
  • @ChanganAuto Thank you for your reply! I didn't realize that there was Nvidia tech in there. I don't have the Nvidia drivers installed, so that's probably the issue. I have added the ppa:graphics-drivers repo to apt, but I'm not sure which driver version I should use. There are about 15 different nvidia-driver-xxx options; how can I know which to install? – filthywabbit Aug 04 '22 at 18:32
  • 2
  • You should have realized when you payed for it ;) Any Intel or AMD only integrated graphics costs about half that price! 2. No, you don't need the PPA, remove it. Simply 2.a. Disable Secure Boot in UEFI and 2.b. Boot Ubuntu and open Software & Updates > Additional Drivers, select and apply the recommended version which likely is the latest. Reboot and follow the rprevious instructions to select it, reboot again.
  • – ChanganAuto Aug 04 '22 at 18:37
  • 1
    @ChanganAuto Secure Boot is disabled in the BIOS. I have removed the PPA. When I open Software & Updates -> Additional Drivers, it searches for a moment and then says that there are no additional drivers available. – filthywabbit Aug 04 '22 at 18:44
  • So check UEFI again as it may have the dGPU disabled (or the iGPU selected instead of dGPU or "auto" which is the same at the end of the day). – ChanganAuto Aug 04 '22 at 18:45
  • @ChanganAuto I was unable to find any such configuration setting in the BIOS. I am including a couple pictures of what I could see: Secure Boot Display Config Security Main Menu – filthywabbit Aug 04 '22 at 18:58
  • Please run lspci and check if there's a reference to Nvidia. Googling again showed that the Nvidia is optional. – ChanganAuto Aug 04 '22 at 19:01
  • @ ChanganAuto I have edited the original post with the output of lspci. There appears to be no mention of Nvidia. – filthywabbit Aug 04 '22 at 19:05
  • Indeed, I'm sorry for leading you to a wrong path. With only the iGPU any output is managed directly by the Intel graphics. Now, what could be happening is some toggle/switch (usually an F key) that needs to be enabled when the OS is running to toggle to both or external only). Also check system settings > screens. And, of course, this may well be caused by some firmware issue. Updating UEFI is recommended now more than ever. – ChanganAuto Aug 04 '22 at 19:11
  • @ChanganAuto I am aware of the relevant F-key on the laptop, it's Fn+F7 to switch display modes. With a monitor connected through USB-C, that key cycles between Join, Mirror, Single. The effects of these settings are reflected on the USB-C monitor, but they have no effect on the HDMI monitor. – filthywabbit Aug 04 '22 at 19:25
  • I'm out of ideas, sorry. – ChanganAuto Aug 04 '22 at 19:26
  • Thanks for trying! I'm really perplexed by this. – filthywabbit Aug 04 '22 at 19:28
  • I have the same problem on a new T14 gen 3, contacted the Lenovo support and they want to replace the HDMI port but i don't really think that's going to solve it. Seems more a software issue BIOS or OS. I also came across this thread, https://gitlab.freedesktop.org/drm/intel/-/issues/5531 that suggests there is something wrong with the port mapping and changing one line in the kernel could fix this. But I have no idea how or what to do to make this change. I also have the issue that after I put the laptop is sleep mode the screen stays black after wake-up. They seem to be related issues. – dazz Aug 28 '22 at 12:36
  • 1
    @MacRusher They're gonna release a BIOS update very soon which will fix this issue. See my answer below for details. – filthywabbit Aug 29 '22 at 15:00
  • @dazz They're releasing a BIOS update very soon which will fix it. – filthywabbit Aug 29 '22 at 15:26