Preabmle: My Linux Desktop History, Likes and Dislikes

Once upon a time I was a Gentoo user. I recall from the time there was a reasonable community overlap with Arch Linux, but when I moved on, I went to Ubuntu and stayed there for a long time, with a small dalliance with Qubes. When I got there they had their excellent Gnome2 experience, which I modded with Compiz and really felt like peak Linux Desktop. Then the dark years happened (2012) and Gnome3 arrived and Canonical launch Unity (IMHO) way too early, so I actually switched to XFCE for 2-3 years. Then Unity became… usable. Then I dabbled in Qubes, and then went back to Ubuntu but they’d dropped Unity and were offering a modded Gnome3 experience that was fine, acceptable. I missed my special desktop effects from Compiz, I lamented home Gnome3 devs kept removing good features, but at least Canonical patched a bunch back in. Most recently I found you can get Wobbly Windows, Fire burn down, and desktop cube as Gnome Shell extensions and that was pretty rad actually. If I’m going to be an open source, nonprofit, privacy and distributed software dev, the least I can get is a desktop that looks like a ridiculous 90s movie.

There are things I’ve grown to like about this setup: I like the sidebar as opposed to the top/bottom bar setup. Vertical real estate is priceless I find, so moving a bar to the side has worked really well for me. On the other hand, I’ve never liked a Mac style global menu, even when often my windows are maximized. When they aren’t I find it incredibly annoying to have to mouse to the top of the screen, so I always disable it.

However, Gnome4 new just makes me depressed. There was the rumor that in Redhat’s pursuit of a containerized desktop they’d gone so far as to flirt with the idea of removing themeing entirely from Gnome4. I think that’s been discarded, but just goes to show the still prevailing priority shift from Gnome2 (pack in good useful features) to Gnome3/4 which feels like remove everything possible. Likewise, Canonical is pursuing it’s containerized desktop plan, with the current 22.04 release having Firefox in a snap, and the next 24.04 rumored to have so many more apps in containers. Thanks, I hate it. Also I’ve found stability again declining in Ubuntu so I was looking for a new OS for my new computer. After looking around I decided to give Garuda Linux a try as their Dragonized KDE variant looked hopefully blingy enough to inspire some joy in me, that has been oft lacking in the last decade.

A Month on Garuda

Install

Garuda (and Arch?) use the Calamares installer. Unlike Debian’s installer, it struggled a bit if you’re setting up a LUKS encrypted LVM drive. To be fair so does the Ubuntu installer, so I’m used to setting it up from a terminal on the install media and then starting the installer. Calamares seemed to struggle a bit harder, it was crucial not to just set up the drives, but also preformat them, and from trial and error and some random blogs it may have finally helped that I had them mounted under /mnt/. Then apparently I installed on the day that a signing key for Garuda’s packages expired so I had to wait a day while they replaced it before I could run updates. Still, once all done I was left with a shiny “Dragonized KDE” desktop.

Booting

Of note, apparently on big corporate backed distros (Ubuntu, RedHat) have modified bootloader spalsh screens that also have a password prompt for LUKS drive passwords. Garuda has a splash screen but you need to hit ESC to get to the password entry. Although this week the splash screen was disable in updates for some reason I haven’t read up on, so kinda simpler, but less shiny.

A Month of KDE

I have a lot of mixed feelings so far about KDE. On the surface, Gnome appears as the more buttoned up, plain, boring, desktop. KDE is supposed to be more customizable, more features, more options, and really more blingy. As I mentioned tho I did find that with some community plugins I was able to get Gnome3 back to a pretty good place. The flip side of this might be argued that Gnome is supposed to be more stable (ironic tho that they seem happy to break API every release so plugins have to be updated most releases to keep working) where as KDE might be argued by some to be less stable. And my experiences have born that out a little.

Early on trying to fiddle with the desktop I accidentally added a second bottom dock. Trying to delete it appeared to crash kwin, causing it to reboot in place, and the second dock remained. The solution was to log out, and use an alt actual console (ctrl-alt-F3) to login and edit ~/.config/plasma-org.kde.plasma.desktop-appletsrc and delete the second dock entry.

A plus was that wobbly windows were either enabled by default or a default plugin I just had to enable (can’t remember). So that was easy and great. I missed the tactile feel they give windows. I really like them. Another nice thing KDE has is transparency tastefully implemented in more places (like when dragging a window) and it includes a proper blur effect making it more practical to use on text heavy windows like a terminal! I could not get the blurred terminal in modern Gnome3 (tho I’m pretty sure I saw it in the compiz/gnome2 days).

Sadly I fared less well with my other classic plugins. Fire burn down for windows was a community plugin for kwin but the way it was implemented it left a blurry rectangle of the window behind until the animation was done and then it whisked away. So I opted for the default shrink in/out instead sadly. There was a Desktop cube plugin but it died or was removed or became unsupported, then there was a new one but it isn’t integrated with the normal desktop switched, it has entirely separate commands to invoke () and it doesn’t handle dual screen as well as the old compiz plugin, instead of a desktop rectangle with both screens together, you get two separate cubes, one per monitor. And I think it too may have disappeared.

KDE themes are many but also mostly small variations on a very small number of themes. It’s weird. Not actually that much variety, especially quality variety (subjective I know).

Other modifications I did were obviously disabling the global menu which was a little pain, I believe I had to add a window rule exempting them all?

One nice thing about KDE bluetooth was that it let you pick the device to connect with after a little fiddling, which was important because the motherboard builtin bluetooth had a driver and registered first, but it was buggy and didn’t connect, and I wanted to use the very well supported bluetooth USB dongle.

The last thing of note starts in the pros but might lead into the next con section. Under Ubuntu and Gnome Shell, I’ve been using Wayland for the last 4 years. Managing windows wise I’ve had no complaints from it, but it does mean that when trying to share screen, a lot of apps can only share a subset, presumably ones still using Xorg protocol and bridging to wayland. And when I ran some Steam/proton games, there was on occasion so weird glitchy pop through. Going back to straight Xorg mean all windows were shareable over video streaming and playing games on Steam/Proton was absolutely perfect.

Increasingly Weird Bugs and Tuning

This is where KDE and Garuda got weird. The vm.swappiness setting of the distro was set to 120. I noticed this because swap allocation was keeping pace with memory allocation, even on my 64GB machine, which seemed not ideal. Looking at the docs, it seems like vm.swappiness should only have values between 0-100 so 120 seemed an error from my reading. But even manually setting it lower didn’t seem to help to much. Really can’t explain what was going on there.

More alarmingly, once the system had been running a few days, maybe 4-7, KDE would start rendering new windows blank sometimes. Especially noticeable for popups and menus. Often reprompting them, reopening them would get them to render eventually but this would get worse and quickly make the system unusable and require a reboot. Perhaps tied to this, the KDE dock on the bottom would stop hidding, covering the bottom of the screen permanently, but still allowing windows to go under it, making a maximized terminal nearly useless. I mitigated this eventually by moving the dock to the side and keeping it always on emulating Ubuntu’s UX a bit more.

Another issue I encountered that seems to go under xorg tuning as it’s not something I observed under the last 4 years of wayland, is that I noticed video playback could become a little choppy. This one stumped me for a bit until I looked at CPU usage and some Firefox tabs were using a CPU or two (I have 20 cores). Somehow this appeared to… I don’t know, maybe be overloading a bottleneck in Xorg? or something? but after using the Firefox task manager to kill a few top using CPU threads video playback returned to smooth. Again, this is something I haven’t seen in a long time, and haven’t seen recently on much lighter hardware.

Spectacular End of the Experiment

One day last week KDE started up it’s not rendering new windows (menus, popups, windows when resized) so knowing I had to reboot, I installed updates and rebooted.

And Garuda couldn’t boot. It stalled once the kernel was loaded. It asked for the LUKS password and then didn’t boot. The Garuda boot process isn’t exactly one for giving feedback. Using Grub, you can edit boot commands which I did and removed the -quiet -quiet. After rebooting I again got the LUKS password prompt for my drive and then init showed it was stalling on waiting for trying to mount /dev/mapper/crypt-root.

Long story a bit shorter I spent a few hours hopping back into the install live USB, successfully luksOpening the drive, and moutning root and garuda-chrooting it and trying to adjust things, rebooting, and getting the same stall.

After a few hours in the middle of a work day, this plus the previously mentioned reoccurring glitches made it very apparent Garuda (and KDE?) was not going to work for me going forward for a reliable work machine.

Conclusion

I write to you today from the same machine, now running Debian stable (bookworm) and XFCE. It’s still a little early to give a full report, with an uptime of only 3 days, the KDE missing window rendering really starting kicking in in the 4-7 day range, but to be honest, I’m not expecting it.

It’s a little unfair in this review on KDE as it’s tied up in a review of Garuda, presumably some bad tuning and packaging, but I likely won’t be giving KDE another try terribly soon. I keep wanting to like it because it purports to have the shiny features I want but each time I engage, glaring bugs slowly over shadow that. Again, this time it’s hard to pull apart the experiment and determine where the blame lies, but the experience was poor enough I’m not eager to try KDE again somewhere else.

As for Debian, well I booted into the default Gnome Shell for a minute, and wow, props to the Canonical team, stock Gnome Shell feels very painfully unusable to my tastes. Even workspace switching was only moving one of my two screens. Apparently there is an option that is off by default I can find to “fix” that? But that just exemplifies the modern Gnome experience to me, limited features by default, a very narrowly defined and prescribed experience. I can barely theme it, at least in Ubuntu it’s patched to have a selectable flair color for window decorations and hilighting UI elements.

So I bounced quickly to XFCE. It’s not flash like I could eventually with enough configuration and plugins make Gnome Shell (esp more easily on Ubuntu) or KDE, but I think it will be stable, which is what I need more.

And it’s not bad. It has a little compositor of it’s own now with some nice little things, you get light opacity (configurable) for window move and resize, which I like. I immediately installed the whisker menu, moved the bottom dock to the side, and it all works fine. I finished out the work week no problem.

Finally, here is a window manager that remembers that there can be more fun and customization to window boarders than just button placement and a color or gradient choice:

nu XFCE violet theme: raised dark window corners with buttons and a lowered shorter long pink middle with window title

nu XFCE violet

mecha hacking green: green wires detached from the window but surrounding it, rising at the top left corner

mecha hacking green

Postscript

I started writing this review on Garuda with KDE, and finished it on Debian with XFCE. In the end, I don’t have all the special effects I wanted but I have a cute look, and so far, stability.

It really feels like we’re still in the tail end of a holding pattern on the Linux desktop, waiting for a new generation to be born, with things still in early development, like Wayfire, and Cosmic coming sometime and Budgie undergoing a more substantial rewrite for its 11th version. And possibly a reminder I should be more adventurous, I think I may experiment with Cinnamon sometime, and maybe Linux Mint some day.

In the mean time, I can do my work and still get a smile looking at my layered dark and pink window borders. What is the point of all this computing power and knowledge if it can’t make me smile once in a while.