Posted: Sep 21, 2025
Introduction
I was thinking about getting a de-googled Android or Ubuntu tablet for around the house, as I found myself doing a lot of stuff on my phone and it's just not always fit for purpose. Perhaps something with a Bluetooth keyboard. I started shopping around and was pretty underwhelmed with the range of options and price vs performance. I've got my PC I'd rather use instead of my phone a lot of the time, but my son hogs it, so I started looking at small used laptops that could run Linux, then found the ThinkPad Reddit community and started looking for a good deal on a used T14 Gen 2, as that looked like the sweet-spot for what I have in mind for this thing (a little bigger than I had in mind, but nice specs, touchscreen and keyboard).
TLDR: I selected Rocky 10 as the OS because I want something that's going to last me 10 years without having to deal with significant changes. I also wanted something with limited apps to reduce distraction, but I failed on that front pretty quick after I discovered how to enable Flathub. If you want full background, read on. Otherwise, skip to the setup instructions.
My Background
I've had positive experiences with Linux on Lenovo in the past, I migrated my parents Xubuntu install from their Toshiba Satellite (circa 2009) to an IdeaPad a few years back because 32bit (that laptop was otherwise still going strong). I was amazed and impressed that Lenovo included a cable for an additional SSD drive that allowed me to recylce a small spare SSD I had lying around as the main drive for Xubuntu 22.04, with /home partition using half of the included M.2 drive for a while until we confirmed Windows was unnecessary (then we just nuked Windows and expanded home to fill the whole drive). I figure this layout will make it easy to replace the OS in future without losing data if it ever has issues. This installation went fairly smooth. I did tweak power management settings in the BIOS and disabled power management entirely in Xubuntu due to some errors. Now it's just running in eco mode permanently, which is fine for what they use it for and will probably help it last over a decade like their old laptop. I couldn't be bothered tryng to resolve it properly. Other than that, there was a minor conflict between systemd-networkd and NetworkManager (probably because I used the Ubuntu Server ISO, then installed xubuntu-desktop). I was very impressed that a budget consumer laptop had the user-servicable SSD slot and even included the cable.
The other thing that's going on for me at the moment is the need to upgrade my PC to Windows 11, which I'm not thrilled about. When Windows XP hit EOL, I fully switched to Ubuntu on all of my devices. Back then, Ubuntu was easily configurable and fully customisable to fit your own workflows and preferences for anything you wanted to change. But Wayland was looming on the horizon, so after a few years of setting up the most productive desktop environment I've ever known, Canonical broke it all and upgrade after upgrade thwarted my attempts to restore my desktop environment to it's former glory. I eventually retreated to Xfce and just left it pretty much default, because why bother building something amazing if it's going to get rugged by Canonical and the desktop environment development communities that all seemed to want to go all in on this "Symantic Desktop" concept, which seemed to me to be about setting up some kind of hive-mind, homogenised desktop experience culture, totally stripping your ability to customise things in a unique way specifically tailored to how your own mind works. Exactly why I couldn't stand MacOS when I tried it. That all came to a head when Windows 10 added a Ubuntu terminal, which I started using at work. Then I found I actually had a better time bending Windows to my will and keeping any customisations, and with the terminal, I had no reason to keep using Linux at home.
Just over a month before Windows 10 EOL, I decided to sort this situation out. My PC CPU is one generation too old for Win 11, but it's a high-end CPU. I've decided I'm going to upgrade Windows 11 anyway, but setup a Linux and locked-down Windows 10 if needed to run anything that doesn't work on either Win11 or Linux. So first step, I got myself a much larger system M.2 drive for the PC, and kept the old drive for upgrading the ThinkPad. Having a one month windows for all this is perfect for the Macrium Reflect trial license required to move partitions around (I had to clone to an SSD so I could then clone that to the new M.2). I've put Pop!_OS on there, thinking it would be better for gaming support, but I'm not so sure about that any more. Having tried Rocky 10, I feel like I might be able to get a more stable longer-term gaming experience. I didn't realise how much software was actually readily available on a RHEL-based build these days. As seen below, you can install Steam and Heroic to access your GOG, Epic and Amazon games libraries. Though many games may be a little glitchy or unplayable, this just showed me it's possible, and with a little determination, you can probably get any game that can run on Pop!_OS to play just as well on Rocky. Maybe I'll create a Rocky partition for comparison and benchmarking between the two. That said, the latest Pop!_OS is well overdue, so maybe I'll be pleasantly surprised when that one comes out.
I've probably been too stubborn, I feel like switching back to Gnome from Xfce is well overdue. This time I'm just going to accept the UI provided as much as possible and learn to live with Wayland. I didn't like Wayland, I don't like that it's trying to provide an environment that's safe for untrusted slop. As a software developer and power-user of my own machine, I love writing slop for personal use. For a long time, the other problem has been all the untrusted slop doesn't support it and the apps that picked it up early were the well established ones that everyone trusts. I don't like that I can't automate the crap out of my desktop workflows any more with scripts that I used to be able to relatively easily cobble together. Maybe there is a way of tapping into accessibility features? If so, I fear anything that works now could be viewed as backdoors and closed later, so what's even the point of trying to own your desktop if the developers will just take it away from you in the name of security later down the track? I remember the Plover project had such issues with OSX and eventually had to drop support. I'm going to look into it, but it's frustrating building up a wealth of knowledge that just becomes worthless. I'm bitter about it because it keeps happening. It's a similar issue with Android over the years. I owned the first Android because it was user-hackable, but they locked it down over time. Samsung stopped giving out developer keys that allowed for some really powerful APIs. Same is now happening with Android in general and I'm sure Pixel phones will become less and less developer friendly now. So, what's this Grampa Simpson rant got to do with Rocky? Well, it's going to keep getting updates for 9.5 years, so whatever I do decide to do with it isn't likely to break at the whim of any developers for quite some time.
Setup Instructions
Write the Workstation ISO (with Gnome) using Rufus to a USB
This process was far longer than the actual installation due to slow write speeds - for this reason I recommend using a USB 3.0 device.
There are plenty of great videos and instructions elsewhere on how to get through the setup process. Official documentation here: https://docs.rockylinux.org/guides/installation/
The setup process was painless, I selected a Workstation install with some software development options. Pick whatever appeals to you. I setup my own partition scheme using ext4, so I'm not sure what options you get with LVM. Make sure you have enough swap space equal to your RAM (as I intend to upgrade to 16GiB, I set mine to 16GiB now so I don't have to resize it later).
Rocky 10 Post-installation Notes
Do the Tour
Customise appearance (Settings)
Install Hide Top Bar extension: https://extensions.gnome.org/extension/545/hide-top-bar/
Set custom keyboard shortcuts (Settings)
Install everything interesting that's currently available in the Software app
I'm used to "apt" and "yum". "dnf" is new to me, but same/same: https://docs.fedoraproject.org/en-US/quick-docs/dnf-vs-apt/
sudo dnf update
sudo dnf upgrade
Add EPEL repository for more packages...
sudo dnf install epel-release -y
sudo dnf update
sudo /usr/bin/crb enable
Add Flathub (vastly increase the apps available in the Software app)
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Setup sensors
dnf install lm_sensors -y
sudo sensors-detect
sudo sensors
Check for bottlenecks during boot (create an image file you can use to find potential issues)
systemd-analyze plot > boot.svg
Shave 4 seconds off boot (based on analysis of previous command)
sudo systemctl disable NetworkManager-wait-online.service
sudo systemctl mask NetworkManager-wait-online.service
Enable Linux Vendor Firmware Service from Software app (Ctrl+.)
Look for firmware upgrade (this allowed me to apply a critical ThinkPad firmware update that was failing under Windows)
sudo fwupdmgr get-devices
sudo fwupdmgr refresh
sudo fwupdmgr refresh --force
sudo fwupdmgr get-updates
sudo fwupdmgr update
sudo dmidecode -s bios-version
Gaming (optional):
Get Heroic and Steam from the Software app (need to allow unverified apps)
Login screen displays last login and last failed login information, which delays the login process by around 9 seconds
Create a new authselect profile based on the default...
sudo authselect create-profile quiet-login -b sssd
sudo nano -wc /etc/authselect/custom/quiet-login/postlogin #change line 3...
Change line 3 to suppress messages...
session optional pam_umask.so silent
session [success=1 default=ignore] pam_succeed_if.so service !~ gdm* service !~ su* quiet
session [default=1] pam_lastlog.so silent nowtmp
session optional pam_lastlog.so silent noupdate showfailed
Apply...
sudo authselect select custom/quiet-login --force
sudo authselect apply-changes