I decided to deploy Debian 12 KDE on my old Yoga 900 ISK2 and ended up deploying it to the ThinkBook 15 ITL Gen2 later.
The Yoga is a battlewagon. What can I say? I’ve had this thing since I filed an antitrust complaint against Lenovo and got the settlement to make them knock it off with the Linux lockout in 2016 and it’s been going ever since then.
Since it’s a backup system, I can use it to explore other Linux distributions that I want to know more about.
The ThinkBook 15 ITL Gen2 is about 4 years newer and a lot faster. For most of the things I do with my computers, Debian 12 is very fast and responsive on both systems.
I got Debian 11 installed on this ThinkBook in 2020 and it worked pretty well, except I ended up backporting too many things to get Fallout 4 and some other games running well. In the end I gave up on it because I was running a “FrankenDebian” with backported kernel, custom Mesa, a custom Wine build I threw just Fallout 4 into, and even ended up having to cherry pick new firmware for my WiFi to get it to stop crashing.
I ended up sticking Fedora on it. Not because I wanted to but because it always has newer components. Well, that didn’t work out so well, leading to a whole series of posts on everything wrong with Fedora and IBM.
Then I went to openSUSE Leap 15.5, that lasted a couple weeks. I think it’s a good distribution, but then I started reading more about SUSE ALP, which is some sort of “container-focused” SELinux-toting thing that is apparently going to take a wrecking ball to Leap in another year or two, and it just sounded to me like either vaporware or Fedora “Silverblue” with extra steps. (Read-only file systems and OS images. Yuck!)
The whole idea of making the / read-only and deploying containers, all-or-nothing OS images, and snapshots, and basically forcing the user to deploy Flatpaks is something I want no part of. Had I read about ALP some more I might have never installed openSUSE to begin with. Not helping their case was some chatter on Reddit from the lead developer who can’t even find anyone who wants to volunteer for this, so the only thing they may end up getting from SUSE is the base system ALP that you don’t even get much software for. And nobody will detail how you’re supposed to run this thing as a desktop user. At least YaST is a known factor.
This morning I got bored and rolled out Debian 12 KDE on it from the Live USB stick I made using Balena Etcher, which is a disk imaging tool available in an AppImage (download and double-click) or native RPM and DEB packages.
AppImages are self-contained and you just shut it off after you make an image. So if you’re going to be dragging this thing around and want to use the same binary, the AppImage is the way to do it.
Frankly, I don’t know and I don’t care about other methods of making a disk image with a graphical program, because Etcher has always worked and you double-click on a thing and press a few buttons and it doesn’t do anything truly stupid with your disk image.
Starting the Debian 12 KDE Live Image.
I was somewhat perplexed to see that the Live environment for the KDE version did not appear to have a graphical setup tool, so I had to turn the computer off and back on again with the “Novo” button (I’ll explain this more later.), and select Start Installer, or something to that effect.
A dedicated installation program walked me through the steps.
First off, let it never be said that Linux has a file system shortage. There were numerous options. Debian 12 even still supports IBM’s old JFS file system, should you want to use it for whatever reason. I don’t really get into odd file systems because you never know what they’ll do with them later when the kernel.org maintainers don’t feel like handling it anymore and the maintainer disappears.
(In the case of ReiserFS, it will be removed soon. IBM JFS has been in mothball mode with one guy patching it now and then, for years. No plans that I know of to get rid of it yet.)
If you want to use Guided Partitioning and take over the entire disk, and put everything under / (which is the most sensible option for a desktop user that doesn’t want to be burdened by advanced file system management later), Debian will deploy the system to the Ext4 file system and it will create a small SWAP partition.
Since I don’t want SWAP, I was going to have to back up and do manual partitioning anyway.
So I went back and selected Manual partitioning, and told it to wipe the data out of the vfat “ESP” (EFI System Partitions use Microsoft FAT32…..meth is a terrible drug).
From there, I told it to reformat the BtrFS partition that openSUSE had made anyway, and mount it on /.
Much to my surprise, instead of asking me about subvoluming, the installer proceeded to copy files over and then prompt me to reboot.
It turns out that Debian actually has a bug on the installer about not offering to create BtrFS subvolumes. You can take a step back and open a console if you want to hack your way into creating some and then the installer will deploy the OS using the subvolumes, but that’s more work than I was willing to go into for subvolumes.
Laptop users really have little use for BtrFS subvolumes anyway, which are essentially logical partitions, which make it easier to snapshot certain parts of the system.
For desktop users with an 8 TB hard disk, file system snapshots might be prudent, especially if you use some crackpot distribution like Fedora that’s constantly bringing in barely-tested new packages that could bring in all sorts of horrible surprises, but if you’re using a long term stable distribution that has a solid reputation for not shoving out broken packages on top of you and having the distribution upgrades fail between versions, snapshots are probably going to be a bizarre and unnecessary thing on a laptop.
Laptops have small SSDs these days. Generally 256-512 GB, maybe 1 TB if you’re really lucky, and the mounting space snapshotting requires and the fact that I’ve never used them in the past and have never needed them since 1998 makes me not really want to go back and set up subvoluming anyway if it’s going to be any extra work.
The short version is: Unless you care about snapshots, this is more of a quirk of Debian at the moment than something that actually matters to you.
The feature of BtrFS that’s actually interesting to me is file system compression.
Ext4 is a fine and reliable file system, and if you have plenty of space you can just roll it out and never think of it again, but uncompressed programs start taking their toll on SSD storage quickly, as do all of the extra writes.
While the problem isn’t as severe as it is on Windows, which is huge and comes with with Microsoft’s 1993 file system whose disk tools frequently corrupt it more by trying to fix it, and whose file system compression is inefficient and stupid, once you start throwing Flatpaks (a “universal”, if somewhat bloated Linux application system) into the mix, and/or have several Web browsers, you’ll definitely want compression.
Thanks to BtrFS’s driver being smart enough to not stand there trying to stupidly compress files that are already compressed, like Microsoft NTFS does, you can opportunistically compress files without incurring a steep performance drag if the file is not going to shrink much. Like compressed music, JPEGs, or video game assets.
So if you never touch snapshots or are willing to take the long way around to get subvolumes, you probably want BtrFS for its compression feature.
I ended up setting things up when I got logged into KDE later and brought up a console.
Debian has btrfs-compsize to make sure the compression has been applied and then I use btrfs filesystem defragment -r -v -czstd / to compress everything else after I modify /etc/fstab to add compress=zstd:1 to the mount options for the BtrFS partition.
Other than the one giant BtrFS volume that I later set up compression on, I just made the EFI System Partition of the recommended size. Again, FAT32. Yuck.
I chose not to use a SWAP partition because I planned to set up ZRam swap later on.
Debian’s installer prompted me with a “Are you really sure you want no SWAP?” style message….LOL
Logging in and using the system. Setting up Wine for Windows programs.
Under KDE in Debian 12, Wayland is the default display system for KWin.
I’m still not a huge fan of it, but trying out Fallout 4 under Wine on KWin/Wayland in Debian 12 on my newer laptop shows that performance seems to be a lot better than openSUSE 15.5 Leap, and Debian 12 appears to actually come with functional media codecs from the Live image now, as all my media files play for the first time on Debian without having to install an unofficial software repository.
So the sound in Fallout 4 was working in Wine (8.0 Stable) without having to stop and figure things out. Which was refreshing.
The game also wasn’t crashing under Wayland during my 20 minutes or so, so far, of messing around, although at this point I know what graphics options make it terribly unstable. You can get away with high quality graphics settings, except for things like “God Rays” which it always seems to want to turn back on, rain occlusion, and a few other things.
It’s possible that Wayland and KWin are not getting along well at all on openSUSE Leap for some other reason, although I plan to return to X11 simply because it is still smoother and allows me to run the game at my native screen resolution.
Installing just the “wine” package only seems to bring in wine64.
It’s likely I did not notice this with Fallout 4 because it’s an x86-64 program anyway.
(This would have left me in a bizarre situation where foobar2000 2.0 “x64” would have worked, but nothing in the Free Encoders Pack would have, because they’re all 32-bit binaries. Except you could just put 64-bit Windows binaries in there for encoders and it would totally work.)
When I ran winecfg, it printed to the terminal that wine32 is missing and I should install it. Likely, Fallout 4 worked because it’s x86-64. It’s odd that Debian splits Wine up this way when most distributions assume you’ll want 32-bit Windows programs working too.
When I typed the entire command it gave me to enable multiarch to get wine32, I got an error that something was holding the lock on Apt, but splitting it to a three part sudo dpkg –add-architecture i386 then sudo apt update then sudo apt install wine32 worked.
Debian is a pure x86-64 OS and unless you start installing 32-bit x86 crap (mostly Windows software), it’ll stay that way. Unfortunately, wine32 brought in over 1.1 GB of installed files. However, BtrFS was able to compress them back down to a few hundred MB.
The x86-64 CPUs can all run 32-bit x86 software, but late in the cycle of the x86 Macs, Apple took the compatibility libraries away and ruined a bunch of software. ðŸâ¢â
This is a variation on that, except that Debian, like most Linux distributions, lets you put them back and keep using the older software.
One more small issue with wine in Debian is that it does not install wine-binfmt, which you will need to install with Apt to register as a handler of Windows programs as a “foreign binary type”. The package description says Debian avoids depending on this because of security concerns with potentially running Windows malware by mistake.
It’s very important that if you run Windows programs, to be sure of what they are, and to scan them for malware with something like the VirusTotal Web site or ClamAV, a Free and Open Source anti- (Windows) virus program for *nix systems. Here’s a tutorial.
(Worth noting that clamscan doesn’t need root permission if all you want to do with it is scan and remove potential Windows viruses you’ve flung into your /home directory.)
It’s worth pointing out that Windows viruses typically expect to find themselves running on Windows. However, it is theoretically possible they could be ransomware and actually manage to encrypt your documents or something, or be aware of Wine users.
So the decision by Debian has some security merit, for sure. Be very careful with Windows software because a significant portion of it does something malicious.
Setting up power management.
These laptops almost never have good power management out of the box.
Fortunately, you can fix a lot of this by enabling powertop as a system service.
sudo systemctl enable powertop.service && sudo systemctl start powertop.service
No need to reboot. It should come on automatically every time you boot the computer and tune your laptop for ideal power management.
Setting up ZRam swap.
This one was pretty easy. Have apt install systemd-zram-generator and then using sudo, open nano /etc/systemd/zram-generator.conf and find “[zram0]“. Underneath that add the line add zram-fraction = 1.00 and exit and save, and reboot.
cat /proc/swaps should show you a /dev/zram0 with a size of your entire RAM, and how much is in use.
There’s debate on what the fraction should be. However, Fedora defaulted to all of RAM and I never had a problem related to this. The overhead is very small. 1 MB of RAM used per GB unless and until something gets paged out, so you’d be saving MB of RAM at best by setting it lower, but with ZStandard compression, I’ve observed that the stuff that ends up in the compressed swap device shrinks by 60-70% sometimes. So it saves more than it costs.
Software selection under Debian 12.
In KDE, the Plasma Discover actually has AppStream Data and can offer the user 2,006 programs, which is the most effort I’ve seen by a distribution to actually make Plasma Discover (and presumably GNOME Software) be a viable package installer.
Debian also has no support for Flatpaks out of the box, and seems to have a lot of the software I want in its own native package format. Fewer Linux distributions are committing to support their own native packages so it’s good that Flatpak is optional and the user is not heavily pressured to use it.
Later on, I suspect Backports of newer software will be available, but as of this writing, there doesn’t seem to be a Bullseye Backports repository for Apt.
What’s an operating system without games?
Debian 12 appears to have games. A lot of Free and Open Source ones and even Retroarch is here. Not even terribly far behind the latest available version as I write this.
Plasma Discover tells me there’s 427 programs in this category as Debian packages (and possibly more that are not listed in Discover because they don’t have AppStream Data).
All of the usual Free and Open Source games are here, including (obviously) many Doom engines. Except….not the GZDoom one I always use. So, we will be installing Flatpak for a few things after all.
I’m certainly glad though, again, that unlike Fedora, Debian is far from abandoning their native packaging format.
I installed synaptic (to get Synaptic Package Manager).
It looks a bit….odd, in KDE, but it will show you what packages are available in Apt but don’t have AppStream Data for Plasma Discover/GNOME Software.
As expected, there are a lot more packages listed here. It’s a shame that they didn’t install it in the KDE desktop version of Debian since I doubt there will ever be all packages listed, for any distribution, in Appstream Data format.
I was skeptical about “Appstream Data” from the start because it’s been many years now and you still need an actual package manager to tell you what’s available aside from some rather superficial sampling of really popular software that someone has displayed in some dumb “store”-like program.
Discussions about earlier Debian releases suggested that Synaptic wouldn’t install anything due to limitations imposed by Wayland on graphical applications and root access. However, it worked for me to install Extreme Tux Racer, so they must have found a way around this problem.
Setting up Flatpak with Flathub in Debian KDE.
Flatpaks are “universal” Linux programs. They can be very large since they have to depend on other flatpaks for “platform libraries”, which is why you may not want to use them sparingly, if at all.
Unlike some other distributions, Debian only comes set up to use the Apt package manager and Debian packages, the native format, so you would need to add support for Flatpak yourself. It’s not difficult.
It’s also possible to list and remove all flatpaks later and then run flatpak remove –unused, remove the Flatpak Debian packages and their dependencies with Apt, and then clean up any remaining Flatpak mess on your system (such as the hidden .var directory in your home directory). That would get you back to a “clean” Apt-only system pretty fast.
The Flathub instructions seem to only acknowledge GNOME users, of course. ðŸËâº
If you want Flatpak support in KDE, the relevant packages to install with Apt are:
flatpak
kde-config-flatpak
plasma-discover-backend-flatpak
Then once you have them, you command flatpak to fetch the Flathub repo:
flatpak remote-add –if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
(You may be prompted to enter your administrative password to add the Flathub repository.)
Restart your KDE session if you don’t see Flatpaks in Plasma Discover or installed Flatpaks don’t appear in your Applications Menu.
I had trouble getting Discover to see any Flatpaks until I installed one using flatpak install lagrange (the Gemini/Gopher browser) in konsole.
The kde-config-flatpak package adds a Flatpak permissions page to “Applications” in the System Settings program in KDE, so you don’t actually need Flatseal to manage Flatpak application permissions.
After setting up Flatpak, Plasma Discover now lists 3,699 graphical applications and 831 of those are games.
So we’ve essentially doubled the available software packages.
I admit I have not looked over them all. Many seem to be emulators for other computers and retro consoles, which interests me.
I also noticed that someone had cloned Space Cadet Pinball, which used to be included with Windows but was dropped when Microsoft looked through the source code provided by the vendor and couldn’t figure out how to get the ball to stop falling out of the pinball machine when they recompiled it for x86-64, so they gave up and deleted it, according to Raymond Chen.
The clone seems to be a fairly accurate remake.
(Running the old 32-bit Pinball binary on 64-bit Windows worked, so they could have just thrown that in. Raymond Chen didn’t touch on why they didn’t.)
Plasma Discover offers Snaps.
Snaps are a competing software packaging format to Flatpak. I recommend not using this at all.
The gist of it is. There’s only one source of applications. Canonical, the company that makes Ubuntu (out of Debian) runs the server and won’t tell anyone else how to make a package repository.
They claim it’s universal, but it’s not. I’ve had problems getting Snaps to run just because I was on Kubuntu, which is Ubuntu with KDE instead of GNOME. GZDoom in Snap on Kubuntu complained that I was not using GNOME.
Since they don’t work right on other destop environments on Ubuntu, they expect me to believe they will work right on other distributions with non-GNOME desktop environments?
Also, there are multiple confirmed cases where Canonical allowed malware (cryptocurrency miners) into the Snap Store. When I had a Reddit account and Alan Pope worked at Canonical, I had previously argued with him that their policies invited malware. He played it off. When it happened, he played it off some more and even argued that they shouldn’t be responsible for removing the applications from affected systems!
He told me they had no mechanism for that. I asked what about pushing out an empty Snap that claimed to be an update and wiped the malware that way. He disappeared.
Later they promoted malware, including a lot of proprietary Microsoft programs that pretty much violate your privacy every way imaginable and bundle adware, such as Microsoft Edge. The Windows browser so bad they have to resort to harassment to get people to give up and use it. See: [1] [2] [3]
Microsoft also ported their usual, awful, security standards to Linux.
Unfortunately, a lot of this proprietary junk ended up in Flatpak too.
That does mean that either one you add to Debian, there will be a listing for “Microsoft Edge” in your Plasma Discover/GNOME Software.
While GNOME Software is overall so much more terrible than Plasma Discover, it does have one setting that I could not find anywhere in Plasma Discover.
“Hide Proprietary Software.”
So if you add Flatpaks or Snaps (eww) look at the “License” before you install it.
It may not be Free Software.
Microsoft isn’t even the one packaging Edge, just like Vivaldi, Chrome, Brave, and Opera aren’t official either.
They’re some sort of “We dumped the binaries out and put them in a Flatpak.” thing, which means someone is doing free work for Microsoft to advertise Edge and trick users into thinking they found a Web browser, not a giant piece of malware.
It’s really sad that large companies have unpaid moles doing grunt work to get them more users to exploit. I could see putting Brave in there since that’s at least under an open source license, but Edge? LOL Come on!
Flathub claims that Microsoft Edge was downloaded a million times. I don’t buy it. I think most Windows users would delete it if they could.
The only browsers which do have an official Flatpak are Firefox and its cleaned up (of Mozilla’s Firefox junk) fork, LibreWolf, which I install.
Setting up KDE:
All the usual little things. I had to set it to never suspend the session when plugged-in, tap to click for the touchpad, clicking on files and icons selects them (never did like single-click), messing around with the themes, and if you are planning to use KWin on Wayland, setting X11 applications to be scaled by the system instead of themselves is better, although they may look slightly fuzzy they’ll at least be the right size.
Also, I like to set KDE to start with an empty session instead of opening the programs I had running.
Other oddities of note.
Debian isn’t like other distributions which do not want you poking around in the root account, so if you make a password for root during install, the user account you make for yourself won’t have sudo (administrative user) access. To fix this, you can log in as root and adduser <your user name here> sudo and restart the computer.
However, if you leave the root password blank, you’ll be in the sudoers file.
Also, Debian on my newer system, the ThinkBook 15 ITL Gen2, alarmed me by saying it was missing a firmware file for my computer. I was able to figure out it was talking about the sound firmware and that it would be available by installing a package later.
However, when I rebooted and logged into KDE, the sound worked. This might have been pulled in when I configured Apt during setup. It’s a good idea to use the “deb.debian.org” instead of a mirror, because this will redirect you to a working mirror instead of placing a specific mirror in your /etc/apt/sources.list and possibly leaving you without a software source sometime in the future.
Even though sound worked, it was too quiet out of my laptop’s speaker until I clicked on the volume applet in the system tray and selected “Raise Maximum Volume”. At 150% it’s loud enough. GNOME had this problem on Fedora.
When I went to check my “Time/Date” settings, the option to have the system automatically set the clock was grayed out.
I looked up the resolution and apparently Debian does not install systemd-timesyncd by default.
Telling apt to install systemd-timesyncd and closing and re-opening the “Time/Date” settings checked the box and it appears to be working.
Firefox ESR (perhaps other browsers based on it) uses xwayland under Wayland and then gets scaled strangely. To fix it, create the file .bash_profile in your home folder (nano ~/.bash_profile) and add the line export MOZ_ENABLE_WAYLAND=1 and hit ctrl+x and hit y to save. Log out and back in and this will force Firefox to use Wayland.
(No harm if you switch to X11 sometimes because once it fails to use Wayland, it will use X11.)
Overall impression.
Debian 12 continues to be easier to install and use than previous versions.
Although I feel that some of these “rough edges” could be, and should be, sanded down, at least I figured out how to fix everything I ran into quickly enough.
Although Debian has a reputation for stability, it does not have the same “hand holding” and “very refined setup” that some other distributions do. If all you want to do is whack your way through default setup options and have an ideal desktop, well, I’m sorry to say you’ll be disappointed, but if you know kind of what you’re doing, it will get you close enough to figure it the rest of the way out at least.
In some ways, setting up and administering a Debian system is quite easy as they don’t inflict all of their own bureaucratic decisions on top of you.
I can set up my system and never use a “security module” like SELinux, which Fedora and Red Hat Enterprise Linux have.
Why do I want that? SELinux is NSA-written (which a recent patch to Linux removed all references to), but that aside it’s just so terrible to write policies for that even if you sort of know what you’re doing, you’ll get things wrong. Fedora is bumping the selinux-policy package all the time and it’s usually because they find that something isn’t working right so they throw another policy package at you and try again. The millionth time is the charm, you know.
20 years ago, SELinux was so horrible that most users turned it off, and Red Hat “solved the problem” by not even attempting to “secure” most of the system with it, because it meant watching your entire machine get killed by “security policies”.
If you want to set up SELinux, good for you.
When it breaks, good for you. I don’t want it! I spent a lot of years on Fedora having to shut this particular pile of crap up over everything, including running Wine programs.
Early on, when it was unbearable, I just unlabeled the file system to turn off SELinux.
Note: I saw some scroll by saying there was no policy for Tomoyo loaded. I might play around with that.
I’d rather have a Linux Security Module from a Japanese phone company than the US NSA, which backdoors everything to help it make people all over the world vulnerable to being spied on by the United States government.
If you want to use an “immutable file system”, good for you. Tell me how fun bringing in thousands of packages in a “OS update image” where one or two of them always misbehave somehow (Fedora) works out. I like installing software that doesn’t _require_ Flatpak or else makes me use some weird RPM overlay followed by a reboot.
Debian adds more software in its own packaging all the time. IBM tossed out LibreOffice, which one-person distributions have.
And there are “Expert installs.” of Debian that have a concept of “Minimal system”, and other distributions are losing this and turning into something more like Windows where they have no idea what components even depend on what other components.
I would say there’s more right with Debian than there is wrong with it. Conceptually.
I can also see how approaching it could be daunting for users who are not computer experts.
My first run-in with Debian was in the late 90s as a teenager and I got a vendor CD that was so broken you couldn’t install a working system if you wanted to. It’s why I chose Mandrake Linux as my first daily driver.
Why can I move between distributions easily?
Well, part of that is the SSD, isn’t it?
It forces me to put space hogs (Pigs in SPAAAAAACE!) on my backup drive anyway, so there’s really not a lot to do except merge all files to be backed up onto the HDD since most of the files are already going there to begin with, and then move everything over to the new operating system.
The only thing that really bothers me is that I have to keep a fine-tipped mechanical pencil around for this because Lenovo made the Novo button (which you have to use on Lenovo laptops in order to get to the boot options to bring up the installer stick) really really incredibly tiny, to the point it’s almost impossible to find anything in the house small enough to press it with.
It’s almost like they don’t want you to kill Windows. ⬆