I recently got a Lenovo Thinkpad P1 gen 2 laptop and an accompanying Lenovo Thunderbolt 3 docking station. Windows 10 came preinstalled, and I promptly carved out space for a Debian partition.
Debian installed flawlessly - it went *much* more smoothly than when I set up my previous Thinkpad! The only thing that didn't immediately Just Work on the laptop itself was the wireless ethernet adapter, which required me to install a 5.4 kernel, and that got it working with no further issues. (Side question: Is there any virtual package I can install to automatically get updates to the 5.4.x kernel line? linux-image-amd64 is no help here, since that's tracking 4.19.x instead of 5.4.) So then it was on to the docking station, which also mostly Just Worked with charging, ethernet port, and a USB mouse running through the dock. But I am having no luck with getting an external monitor to work. The monitor I'm currently using for testing is connected via HDMI (but I could also use DisplayPort if that would make things easier) and it worked immediately when connected in Windows, but Linux just does not want to see it - no matter how many times I've gone round and round with nvidia-driver and primus, including installing both from backports, xrandr continues to insist $ xrandr --listproviders Providers: number : 1 Provider 0: id: 0x43 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 1 associated providers: 0 name:modesetting and sees only the laptop's built-in screen: $ xrandr -q Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm (list of modes omitted) I suspect that at least part of the problem may be an overly-new graphics card, as nvidia-detect says $ nvidia-detect Detected NVIDIA GPUs: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1fb9] (rev a1) Checking card: NVIDIA Corporation Device 1fb9 (rev a1) Your card is only supported by the updated drivers from buster-backports. See https://backports.debian.org for instructions how to use backports. It is recommended to install the nvidia-driver/buster-backports package. ...even though... $ sudo apt-get install nvidia-driver/buster-backports Reading package lists... Done Building dependency tree Reading state information... Done nvidia-driver is already the newest version (440.59-1~bpo10+1). optirun/primusrun are also currently nonfunctional, as primus conflicts with the nvidia-driver metapackage. Specifically, primus : Breaks: libgl1-nvidia-glvnd-glx (>= 0) but 440.59-1~bpo10+1 is to be installed Breaks: nvidia-driver-libs (>= 0) but 440.59-1~bpo10+1 is to be installed When I choose to let those packages be removed so primus can install, optirun/primusrun still fail, due to not being able to locate libgl.so.1. So I'm pretty much out of ideas here. Does anyone know what I need to do to get this working, or at least what the next step would be for me to make some progress? Finally, just for the sake of completeness: $ lspci 00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07) 00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07) 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile) 00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07) 00:08.0 System peripheral: Intel Corporation Skylake Gaussian Mixture Model 00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10) 00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10) 00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10) 00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller (rev 10) 00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10) 00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port (rev f0) 00:1b.4 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port (rev f0) 00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port (rev f0) 00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port (rev f0) 00:1d.6 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port (rev f0) 00:1e.0 Communication controller: Intel Corporation Device a328 (rev 10) 00:1f.0 ISA bridge: Intel Corporation Device a30e (rev 10) 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10) 00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10) 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10) 01:00.0 VGA compatible controller: NVIDIA Corporation Device 1fb9 (rev a1) 01:00.1 Audio device: NVIDIA Corporation Device 10fa (rev a1) 02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981 04:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 05:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 05:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 05:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 05:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06) 06:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06) 07:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] (rev 06) 08:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] (rev 06) 08:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] (rev 06) 09:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] (rev 06) 52:00.0 Network controller: Intel Corporation Device 2723 (rev 1a) 53:00.0 SD Host controller: Genesys Logic, Inc Device 9755 -- Dave Sherohman