tl;dr Upgrade kernel to 5.13 & upgrade linux-firmware.

Basically, everything works out of the box when installing a vanilla Ubuntu 20.04 (LTS) on the Lenovo Thinkpad X1 Gen9 .

However, the fan control is not optimal which leads to fan noise and slightly higher chipset temperatures.

This issue can be addressed by upgrading the kernel and related firmware:

  1. Upgrade Bios to v1.44 (N32ET68W):
    • use fwupdmgr or
    • manually upgrade from Lenovo’s bootable ISO (n32ur09w.iso)
  2. Upgrade kernel to 5.13.0-1009-oem: apt install linux-image-oem-20.04c
  3. Upgrade chipset firmware
    • Get firmware:
      git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
      

      (master at 168452e at the time of testing)

    • Backup current firmware:
      cp -r /lib/firmware/i915/ /lib/firmware/i915_backup
      
    • Copy new firmware: cp linux-firmware/i915/* /lib/firmware/i915
    • Update initramfs: update-initramfs -k all -u
  4. Reboot

The CPU temperature should now drop from 50 to 40 degrees celcius (if little CPU usage) and enable support for both fans.

Bios info:

$ dmidecode --type bios
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0017, DMI type 0, 26 bytes
BIOS Information
        Vendor: LENOVO
        Version: N32ET68W (1.44 )
        Release Date: 07/16/2021
        ... 
        BIOS Revision: 1.44
        Firmware Revision: 1.27

Fan info:

thinkpad-isa-0000
Adapter: ISA adapter
fan1:           0 RPM
fan2:           0 RPM
CPU:          +41.0簞C  
GPU:              N/A  

According to powertop, the power consumption and battery runtime seem reasonable as well:

The battery reports a discharge rate of 7.95 W
The power consumed was 182 J
The estimated remaining time is 7 hours, 10 minutes