Ubuntu 20.04.1 LTS on Lenovo X1 Extreme Gen 2
Specs
HW: Lenovo X1 Extreme Gen 2
- CPU Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
- Memory 48 GB DDR4 2666MHz
- Storage
- NVMe 1: 512 GB PCIe SSD (Ubuntu)
- NVMe 2: 2000 GB
- Graphics
- Intel Corporation UHD Graphics 630 (Mobile)
- Nvidia GeForce GTX 1650 Max-Q 4GB GDDR5
- Display Type 3840×2160 (16:9) IPS, anti-glare with Dolby Vision
- Battery
- Up to 14 hours*, 4 cell, 80Wh (Reality: 7-8 hours)
- Supports Rapid Charge with 135W AC adapter
- Audio
- Dolby Atmos® speaker system
- Dual 360° far-field microphones
- Security
- Fast Online Identity (FIDO) authentication capabilities
- dTPM 2.0
- Match-on-Chip Touch fingerprint reader
- Windows Hello with facial recognition software (requires optional IR Camera)
- ThinkShutter
- Kensington® lock slot
- Ports/Sots
- 2 x USB 3.1 Gen 1** (one always on)
- 2 x USB 3.1 Gen 2 Type-C / Intel Thunderbolt 3 (Power Delivery, DisplayPort, Data transfer)
- SD card reader
- HDMI 2.0
- Smart card reader (optional)
- Headphone / mic combo
- RJ45 via Ethernet Extension adapter (sold separately)
- Kensington® lock slot
- Connectivity
- Intel® Wi-Fi 6 AX200 802.11AX (2 x 2) with vPro™
- Bluetooth® 5.1
- RJ45 via Ethernet Extension adapter (sold separately)
- Camera IR & 720p HD
- Fingerprint reader
- Keyboard
- Spill resistant
- Backlit with white LED lighting
OS: Ubuntu 20.04.1 LTS
Installation
Start with Try Ubuntu…
Install Ubuntu on encrypted BTRFS volume. This type of installation make 2 subvolumens: @ and @home. They are mounted on / and /home. We need to make other subvolumes before restart and edit /etc/fstab on new system with hardening and SSD optimization options.
Custom partitioning and BTRFS installation.
Part | Size | Mount point | type |
---|---|---|---|
1 | 512M | /boot/efi | EFI |
2 | 2048G | /boot | ext4 |
3 | ~500G | LUKS crypt |
Subvolume | Mount point |
---|---|
@ | / |
@home | /home |
Post installation – add more subvolumes to match this schema.
/dev/mapper/nvme1n1p3_crypt – BTRFS subvolumes
Subvolume | Mount point |
---|---|
@ | / |
@home | /home |
@opt | /opt |
@var | /var |
@var_log | /var/log |
@var_log_audit | /var/log/audit |
@var_tmp | /var/tmp |
@backup | /var |
Create BTRFS subvolumes.
mount /dev/mapper/nvme1n1p3_crypt /mnt
cd /mnt
btrfs subvolume create @opt
btrfs subvolume create @var
btrfs subvolume create @var_log
btrfs subvolume create @var_log_audit
btrfs subvolume create @var_tmp
btrfs subvolume create @backup
Move files to new subvolumes.
umount /mnt
mount -o subvol=@,ssd,noatime,space_cache,commit=120,compress=zstd /dev/mapper/nvme1n1p3_crypt /mnt
mount -o subvol=@home,ssd,noatime,space_cache,commit=120,compress=zstd /dev/mapper/nvme1n1p3_crypt /mnt/home
mkdir /mnt/var2
mount -o subvol=@var,ssd,noatime,space_cache,commit=120,compress=zstd /dev/mapper/nvme1n1p3_crypt /mnt/var2
mv /mnt/var/* /mnt/var2/
mkdir /mnt/var2/log2
mount -o subvol=@var_log,ssd,noatime,space_cache,commit=120,compress=zstd /dev/mapper/nvme1n1p3_crypt /mnt/var2/log2
mv /mnt/var2/log/* /mnt/var2/log2/
Edit /mnt/etc/fstab to match your UUID and partitions.
/dev/mapper/nvme1n1p3_crypt / btrfs defaults,subvol=@ 0 1
UUID=12345678-1234-1234-1234-123456789012 /boot ext4 0 2
UUID=SOME-UUID /boot/efi vfat umask=0077 0 1
/dev/mapper/nvme1n1p3_crypt /home btrfs defaults,subvol=@home,ssd,noatime,space_cache,commit=120,compress=zstd,nodev,nosuid 0 2
/dev/mapper/nvme1n1p3_crypt /opt btrfs defaults,subvol=@opt,ssd,noatime,space_cache,commit=120,compress=zstd,nodev,nosuid 0 2
/dev/mapper/nvme1n1p3_crypt /var btrfs defaults,subvol=@var,ssd,noatime,space_cache,commit=120,compress=zstd,nodev,nosuid 0 2
/dev/mapper/nvme1n1p3_crypt /var/log btrfs defaults,subvol=@var_log,ssd,noatime,space_cache,commit=120,compress=zstd,nodev,nosuid,noexec 0 2
/dev/mapper/nvme1n1p3_crypt /var/log/audit btrfs defaults,subvol=@var_log_audit,ssd,noatime,space_cache,commit=120,compress=zstd,nodev,nosuid,noexec 0 2
/dev/mapper/nvme1n1p3_crypt /var/tmp btrfs defaults,subvol=@var_tmp,ssd,noatime,space_cache,commit=120,compress=zstd,nodev,nosuid,noexec 0 2
/dev/mapper/nvme1n1p3_crypt /backup btrfs defaults,subvol=@backup,ssd,noatime,space_cache,commit=120,compress=zstd,nodev,nosuid 0 2
Now reboot.
Configuration
Nvidia
Install Nvidia proprietary driver.
sudo ubuntu-drivers autoinstall
Now we can use hybrid (Prime) setup.
Power Management
To save power use integrated Intel GPU. In Nvidia configuration select “Nvidia (on-demand)” or Intel.
tlp
Install tlp tlp-rdw
sudo apt install tlp tlp-rdw
sudo reboot
powertop
Install powertop.
sudo apt install powertop
Calibration to prevent inaccurate measurement
Note: Calibration will toggle various functions like backlight or wifi. Thus, it may turn your screen black for some time, lose your connection, and so on. Do not touch the machine during the calibration.
powertop -c