Debian on a Lenovo ThinkPad P15 Gen2

My first ThinkPad was the 600e with 128 MB of RAM. In 2000 I wiped out Windows NT that came with it and installed Mandrake. A couple years later I switched to Debian and I’ve been using that as my preferred OS ever since. My most recent ThinkPad is the P15 Gen2. As of this writing there is not a Wikipedia page for it. This is a brief record of my experience getting Debian running on the P15.

A lot has changed in the past two decades. For starters, my 600e has just 0.2% of the memory my P15 has. Unfortunately, some things have remained the same. As you might expect, a network install of Debian 11 (bullseye) stable was not quite as seamless as we might like. Furthermore, there remains a couple of outstanding hardware-related problems. The situation has markedly improved since the turn of the century, but I wouldn’t recommend this setup to first-timers.

As I did 20 years ago, I removed the OS supplied by default without even having booted it once. To install Debian, or practically any other distribution for that matter, the first and most important step is to disable “Secure Boot” in the UEFI BIOS so that your system is “allowed” to load systems other than Windows. I was able to boot and begin the install using the Debian netinst image. So far so good.

Installing over the network worked fine, as long as I used the wired Ethernet port. The following non-stable packages along with the stable version of firmware-iwlwifi were sufficient to get most of the hardware running (e.g. sudo apt-get -t release package_name):

    firmware-amd-graphics [testing]
    firmware-linux [testing]
    firmware-linux-nonfree [testing]
    firmware-misc-nonfree [testing]
    linux-image-amd64 [experimental]

There are two lingering issues. First, with the combination of packages above, audio through the built-in speakers does not function. It will work through a Bluetooth headset, but this is still an annoying inconvenience. I’ve tried tinkering with some of the alsa driver module options, but I couldn’t find a way to make this work. I am hoping a solution will eventually present itself. Second, there appears to be no convenient way to keep Bluetooth disabled in the OS by default across reboots.

March 2022 update: At some point since the install, presumably an update to the OS since this original posting, audio through the built-in speakers began working. However, I have not been able able to get the built-in mic from working. In addition, Bluetooth will now stay disabled during a reboot, but will become enabled after waking from sleep mode, even if it was previously disabled.

For the time being I’m using the default and free Nouveau drivers with the BIOS graphics card set to Hybrid mode, which seem to be fine. There are non-free NVIDIA drivers that may offer some advantage, but unless or until I find I need them I couldn’t be bothered to install them. I was most pleasantly surprised to find that fwupd makes updating the firmware directly from Debian a snap. I’ve never been able to update the BIOS directly from Debian on my laptops before and this seems like a big step forward. There are likely some quirks or things I still need to work out, partially because I have not run into every possible scenario that might reveal some looming issue. For the most part, OS installation and setup seem less painful than I remember it on the 600e. Installing Debian stable on new laptop hardware still requires some fiddling, but this time it was sufficiently and reasonably painless. Where perfect is the enemy of the good enough, I’m satisfied with this setup.