blog/content/posts/2024/p14s/index.md

268 lines
13 KiB
Markdown

---
title: "Experience with running Fedora Linux on a Thinkpad P14s Gen 5"
description: "Everything works out of the box with KDE Plasma, but the keyboard and the battery leave something to be desired."
date: 2024-08-05T21:00:00+02:00
ShowLastmod: false
draft: false
toc: true
scrolltotop: true
tags:
- Fedora
- F40
- KDE
- Linux
- NVIDIA
- Thinkpad
---
I have recently acquired a Lenovo Thinkpad P14s Gen 5. As of the time of writing
-- summer of '24 -- these machines are brand new, and so is their architecture:
Intel Core Ultra (Meteor Lake) with a dedicated NVIDIA GPU. Here I report my
experience with running Linux with the [KDE Plasma][] desktop on this machine.
My previous daily driver was a T480s (see my old blog post over at [xltoolbox.net][]
for a report). I also administer two different X1 Carbons (5th generation and
9th generation), however, I don't use these very often myself.
Here are the specs (the 1 TB SSD has been swapped for a Samsung 990 PRO with 2 TB).
```plain
daniel@seppel9 ~> fastfetch
.',;::::;,'. daniel@seppel9
.';:cccccccccccc:;,. --------------
.;cccccccccccccccccccccc;. OS: Fedora Linux 40 (KDE Plasma) x86_64
.:cccccccccccccccccccccccccc:. Host: 21G3S00A00 (ThinkPad P14s Gen 5)
.;ccccccccccccc;.:dddl:.;ccccccc;. Kernel: Linux 6.9.11-200.fc40.x86_64
.:ccccccccccccc;OWMKOOXMWd;ccccccc:. Uptime: 1 hour, 47 mins
.:ccccccccccccc;KMMc;cc;xMMc;ccccccc:. Packages: 4338 (rpm)
,cccccccccccccc;MMM.;cc;;WW:;cccccccc, Shell: fish 3.7.0
:cccccccccccccc;MMM.;cccccccccccccccc: Display (LEN8AB1): 3072x1920 @ 120 Hz (as 2048x1280) in 14″ [Built-in]
:ccccccc;oxOOOo;MMM000k.;cccccccccccc: DE: KDE Plasma 6.1.3
cccccc;0MMKxdd:;MMMkddc.;cccccccccccc; WM: KWin (Wayland)
ccccc;XMO';cccc;MMM.;cccccccccccccccc' WM Theme: Breeze
ccccc;MMo;ccccc;MMW.;ccccccccccccccc; Theme: Breeze (Dark) [Qt], Breeze [GTK3]
ccccc;0MNc.ccc.xMMd;ccccccccccccccc; Icons: breeze-dark [Qt], breeze-dark [GTK3/4]
cccccc;dNMWXXXWM0:;cccccccccccccc:, Font: IBM Plex Sans (10pt) [Qt], IBM Plex Sans (10pt) [GTK3/4]
cccccccc;.:odl:.;cccccccccccccc:,. Cursor: breeze (24px)
ccccccccccccccccccccccccccccc:'. Terminal: konsole 24.5.2
:ccccccccccccccccccccccc:;,.. CPU: Intel(R) Core(TM) Ultra 7 155H (22) @ 4,80 GHz
':cccccccccccccccc::;,. GPU 1: Intel rc Graphics @ 2,25 GHz [Integrated]
GPU 2: NVIDIA RTX 500 Ada Generation Laptop GPU
Memory: 9,13 GiB / 62,29 GiB (15%)
Swap: 302,50 MiB / 104,00 GiB (0%)
Disk (/): 18,77 GiB / 146,59 GiB (13%) - ext4
Disk (/home): 524,56 GiB / 1,55 TiB (33%) - ext4
Local IP (wlp0s20f3): 192.168.3.114/24
Battery: 93% [AC Connected]
Locale: en_US.UTF-8
```
## Difficulties and finally success with installing Linux
At first, I was totally unable to install [KDE neon][], my preferred Linux distribution,
on this system. I freaked out. (I don't care if it's officially a 'distribution' or not.)
The live CD just would not boot. It did work in safe graphics mode, but when I installed
the system onto the laptop, I was once again unable to boot into Plasma.
(I already posted in the [KDE forum][] about this).
At some point it occurred to me that I may need to try a distribution, so I tried [Fedora][]
-- and it worked!! In order to boot the live CD, I also had to choose basic graphics mode
just like with KDE neon (which is Ubuntu under the hood). Once I had the live desktop up
and running, I could enable the NVIDIA repositories, so that the NVIDIA drivers were
included during system installation. Luckily, the Fedora Project provides a [KDE spin][]
so that I could continue to use my favorite desktop environment.
## Hardware
Except for the initial difficulties getting this system with a dedicated NVIDIA GPU
to run Linux, everything else just works out of the box. Nice! :-)
The **trackpoint** works as usual. This is really the main reason why I keep buying
Thinkpads. A laptop without trackpoint is a no-go for me. In fact, I did consider buying
a MacBook Pro, but the absence of a trackpoint and the uncertainty whether I could do
my beloved Linux foo with MacOS made me stick with a Thinkpad.
The **fingerprint scanner** is integrated into the power button. While not essential, it's
a nice gimmick and KDE Plasma provides a pretty UI to set it up. Currently, logging
into the system after booting is not (yet) supported, but unlocking (e.g., after resume
from sleep) works very well.
The 3k **screen** is really good, it's very bright and super crisp. At 100%, the
user interface is quite tiny. Luckily, with Wayland, fractional scaling is now
easy to accomplish and reliable. With a scale factor of 1.2 (120%), I am very happy
with my P14s' display. Interestingly though, the corners are rounded, even though
the laptop frame has sharp corners. I tend to think: If you have enough time wondering
about something like this, it's probably time to take a break and do something else
for a while.
Unfortunately, the **keyboard** is the worst that I have ever had in any Thinkpad.
It feels like typing on jelly. Luckily, for most of the heavy-duty work, I connect
the laptop to a Thunderbolt dock with a proper mechanical keyboard attached.
I wonder why Lenovo does not equip this machine with the same keyboard as in the
other models -- given the price tag of this machine, the extra bucks surely cannot
make such a big difference?
**Camera**, mike, and speakers just work. No problem running Zoom. I have not yet
tried out Teams.
## Form factor and weight
The P14s is somewhat bigger than the old T480s and certainly somewhat heavier.
Before deciding on the purchase, I carefully thought about my use cases and decided
that I can live with an extra 200-300 grams that I mostly only carry onto and
off from the commute train, as well as on my bicycle's rack. Therefore, I made a
decision for the extra performance (with dedicated GPU, which the alternative
models, i.e. X1 Carbons or T14s's do not offer).)
Lenovo [says][p14s-weight] the P14s starts at 1.6 kg, which compares to a MacBook Pro's
nominal weight. On our kitchen scale, my P14s weighs 1.74 kg.
In real life, the laptop's body is somewhat bigger than the actual casing, because
it has a very long "foot" underneath it. This ensures proper ventilation, because
the two fans blow out the warm air underneath the laptop. While this "foot" makes
the P14s rather thick, it turns out that this also provides a good grip when pulling
it ouf of a bag or carrying it around.
I have yet to come to terms with the new camera casing that all new Thinkpads
seem to have nowadays.
{{< figure src="p14s-camera-casing.jpg"
alt="A photograph of the camera casing of a Thinkpad P14s Gen 5"
caption="The camera casing. It disrupts the smooth surface of the Thinkpad.">}}
{{< figure src="p14s-foot.jpg"
alt="A photograph of the 'foot' underneath a Thinkpad P14s Gen 5"
caption="The 'foot' underneath the P14s makes it thicker, but also provides a good grip on the machine.">}}
## Performance
Compared to the old T480s, the performance gain of the Intel Core Ultra and the
dedicated NVIDIA GPU is very noticeable. Whether I compile R packages or analyze
clinical data with ~80k subjects in [RStudio][], develop RAW images in [Darktable][],
or work with Office in a VirtualBox-hosted Windows machine, everything is very
snappy. For instance, a typical RAW image is now processed in under 1 second, as
opposed to ~10 seconds on the T480s.
The machine wakes from sleep (suspend to RAM) extremely quickly, I guess this is due to
[novel suspend mechanisms][s3]? On the other hand, boot times are rather slow
(34-40s on AC power, T480s on battery 31 s!!).
## Fan
The fans spin up quickly, but the noise is not unpleasant. Maybe I can tweak the
fan control in order to have them spin up a little more lazily. But when I had both
my old laptop and the new one side by side, I realized that the T480s' fan noise
drowns the P14s' fan noise. Notably, the P14s was running on AC power, while the
T480s ran on battery. In fact, even the T480s with built-in graphics had its fan
running most of the time when I was working with it (academic work, researching,
writing, data analysis etc.).
## Energy consumption
The P14s' battery has much more capacity than the T480s' one, 75 Wh vs. 42 Wh.
However, with my normal work load, the battery drains rather quickly. The
following screenshot shows the charge level over time as I sat outside,
editing a manuscript with Word running in a virtual machine (VirtualBox
with Windows 11 guest) and doing some internet research in a browser. The
screen brightness was set to 100%. After some 3.5 hours, it's time for a
break...
{{< figure src="p14s-battery-drain.png">}}
## Making the switch from Ubuntu to Fedora
When I downloaded the Fedora [KDE spin][], I was admittedly a bit anxious.
I had been working with Ubuntu and KDE neon, which is based on Ubuntu,
for many years, and I wondered if Fedora would be very different.
It's not.
The three things that are really different from my perspective:
- To install something on the command line, use `dnf` rather than `apt`:
```bash
sudo dnf install good-stuff
```
- Removable disks (USB drives) are mounted on `/run/media/<USER>` rather
than `/media/<USER>`.
- More up-to-date kernel and software
## Conclusion
All in all, I am quite happy with the P14s. In the past couple of weeks, it has
already proven to be a reliable work horse, and this is what I need. The
keyboard really should be better, but hey, life is not perfect, is it?
-----
## Update 2024-08-14
Two important things to add:
1. After a recent system update, **suspend (sleep) stopped working**. First I
suspected the NVIDIA driver to be responsible, it had been upgrade to version
560. However, when I downgraded the driver, the problem persisted. Finally I
found a [thread][] on the Fedora Discussion forum which suggested to disable
ethernet in BIOS. Tada! That was it. Hopefully, with a future kernel or
firmware upgrade, I will be able to use ethernet again, as I prefer to have
cable-bound internet at home. The current linux kernel is 6.10, upgraded from
6.9 just recently.
2. Here's another [interesting report][techtipsy] from someone running **Linux on a P14S**,
albeit Gen 4 (mine is Gen 5) and with AMD and integrated graphics (I have
Intel with dedicated NVIDIA GPU). The author (Herman) also notes the battery
drain (even with AMD and iGPU) and the build quality which is somewhat below
the T series. Herman has also posted about [controlling fan speed with a simple
script][fancontrol], and I think I am going to tinker with it in the future,
because the following works on my P14s Gen 5 with Intel CPU and NVIDIA GPU:
```bash
# This is just a proof of concept, spin up the fan and spin it down again
# Run as root
echo level 7 > /proc/acpi/ibm/fan; sleep 5; echo level 1 > /proc/acpi/ibm/fan
```
## Update 2024-08-22
Fedora installs only free software by default, which means that [Kdenlive][] and
other multimedia software will have trouble using H.264 and H.265 video codecs.
A free version of [ffmpeg][] is installed by default. This is what I did to
replace `ffmpeg-free` with the non-free `ffmpeg` on F40:
1. Enable the non-free [RPM Fusion][] repositories as written on the [RPM Fusion
homepage][]:
```bash
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf config-manager --enable fedora-cisco-openh264
```
2. Remove `ffmpeg-free` in favor of `ffmpeg`:
```bash
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
```
After doing that and restarting Kdenlive, I was able to render my project using
the H.264 and H.265 codecs as I used to be able to do with Ubuntu-based systems.
[Darktable]: https://darktable.org
[fancontrol]: https://ounapuu.ee/posts/2022/09/26/minimum-viable-fan-control-script/
[Fedora]: https://fedoraproject.org/
[ffmpeg]: https://ffmpeg.org
[KDE forum]: https://discuss.kde.org/t/unable-to-start-kde-neon-plasma-on-core-ultra-nvidia-rtx-500-ada/18578
[KDE neon]: https://neon.kde.org
[KDE plasma]: https://kde.org/plasma-desktop/
[KDE spin]: https://fedoraproject.org/spins/
[Kdenlive]: https://kdenlive.org
[p14s-weight]: https://www.lenovo.com/us/en/p/laptops/thinkpad/thinkpadp/thinkpad-p14s-gen-5-(14-inch-intel)-mobile-workstation/21g2002cus#tech_specs
[rpm fusion]: https://rpmfusion.org
[rpm fusion homepage]: https://rpmfusion.org/Configuration
[rstudio]: https://posit.co/products/open-source/rstudio
[s3]: https://en.wikipedia.org/wiki/ACPI#S3
[techtipsy]: https://ounapuu.ee/posts/2024/04/12/lenovo-p14s-gen4/
[thread]: https://discussion.fedoraproject.org/t/suspend-failure-and-degraded-performance-after-failed-suspend-on-kernel-6-10-3/128299
[xltoolbox.net]: https://www.xltoolbox.net/blog/2018/08/exit-thinkpad-t430s-enter-thinkpad-t480s.html