Distro Hopping: openSUSE Tumbleweed
Ramadan kareem,
It’s already the beginning of March which means it’s time to take a look back at my two month experience with openSUSE Tumbleweed.
Where should I start from?.. I’ve recently watched a Solar Sands monumental video on Monumentality. The video, amongst other, features a string of reflections on what it takes to know something. What it takes to know your home, your city .. your planet?
What does it take to know an OS? Typical desktop OS is made of dozens of services, hundreds of packages, thousands of files, all semantically entangled, and each hiding a world on its own inside.
In the early 2000s Kris Kaspersky wrote that the modern OS reminds a big city where a malware code can easily hide amongst skyscrapers. He probably referred to the Windows XP and compared it to DOS. Well, Windows XP was just a small and cozy rural town comparing to Windows 11 or any modern desktop Linux.
I obviously couldn’t learn everything about Tumbleweed in two months (or even in two years). My experience is more like a two-weeks trip in a tourist bus through the Europe (few hours per city). As an example, today I opened the built-in KDE Kate editor to write some ad-hoc note, and realized that I didn’t even have time to take a close look on Kate. It seems like a powerful editor, supporting LSP and plugins. Can it be a viable replacement for the VSCode? Who knows. And this is only one example. There are too many topics about Tumbleweed that I didn’t touch … But anyways, below is my collection of notes and holiday photos taken from the bus window.
Travel Notes
My overall impression is very, very positive. Of course any Linux by the most part is made from “lego bricks” of various standard components, and I can’t really say how much I need to credit openSUSE for my experience and how much, for example KDE. But at least its amazing stability I can definetely attribute to the openSUSE itself.
Even the “rolling” flavor (Tumbleweed) that is supposed to routinely break things, turned out to be more stable than LTS Ubuntu that I keep using at work. It’s normal when small things break on any Linux that regularly receives update, but on openSUSE things break less often and less serious than on Ubuntu. I can only wonder how good Leap or Slowroll would be.
zypper
Theater begins with a hanger, and a Linux distro begins with a package manager. When you are working with container images, that might be the only difference you see between distros, after all 😂
I already had some experience with zypper
, but didn’t know much about it (except the funny name and zypper in
). For whatever reason zypper
always felt more weird and inconvenient compared to apt
or dnf
. If you know apt
, switching to dnf
is a no-brainer and vice versa, but zypper
always gave me hard times.
Maybe the reason is that zypper
likes to abbreviate all commands as two or three letters: in
, lr
, rr
, dup
and so on, which makes understanding and remembering examples more difficult. Like dup
… is it distro-update, distro-upgrade, duplicate, dependencies update … who the heck knows?
Even after two months I still have some unanswered questions about zypper
, e.g. what is a proper replacement of apt-cache search
? On RockyLinux or Ubuntu I always have a straightforward way to figure out what is the name of the package I need to install to get X On Ubuntu you even have a web search engine that lets you to look through the files in all ever existed Ubuntu versions! But with zypper
I’m still struggling to answer “in which package the command hd
resides”. The best option so far is to Google and Stack Overflow.
Btw, the first thing you learn about zypper
through man zypper
is how to properly install individual rpms (ones, not coming from repos, but manually downloaded).
When I wanted to install Chrome I carefully followed the steps … only to discover that it was waste of time, because Chrome’s rpm sets up the repo automatically as a part of installation. The same happens with NVIDIA drivers, wiki suggests “an easy way” with zypper
… that simply doesn’t work 🤷.
Btw, It’s my personal impression in general: openSUSE documentation has way too much outdated or misleading information, so RTFM-ing on openSUSE feels almost as an antipattern.
Couple of good thing about zypper
that I liked are zypper shell
and zypper ps
.
Okay, bottom line. zypper
is usable, but I’m not sure what is the benefits comparing to let’s say dnf
. And btw, you can use openSUSE with dnf
instead of zypper
! Of course it’s not out of the box and I didn’t bother to figure out how to switch and what is the hidden cost of it.
Installation
openSUSE offers a user-friendly graphical installer. Compared to Ubunut it gives more possibilities to turn from the straight way and apply some non-standard options, but if you are not interested in it, you don’t have to. The whole process can be reduced to pressing the “Next” button until it’s done.
The default tech offered is more advanced than on Ubuntu. For example, it has LVM, btrfs for the root partition and xfs for the home. On Ubuntu the best you can have is ext4, despite it’s officially deprecated nowadays in favor of xfs. The only exception that I can think of is that Tumbleweed by default comes with X11 instead of Wayland, but I don’t mind personally.
Another nice feature of Tumbleweed is the option to select which desktop to use (Ubuntu is Gnome only, Ubuntu with KDE is a separate distro, not maintained by Canonical). I’ve chosen KDE as my DE and it was probably the best decision in my Linux life in the past 10 years ✨ But let’s talk about it a little bit later.
The First Problems
Don’t expect openSUSE to work smoothly out of the box. For some reason (more about in the next section) openSUSE is very picky which software to include in the repos, and as a result it doesn’t include any proprietary drivers you might need for a stable (or even working) system.
For example, it doesn’t have the option to install NVIDIA drives out of the box (it comes with a nouveau driver) and my first crash happened in about 2 minutes after the installation when I tried to make a screenshot of KMajong.
Sometimes KDE refused to show up after the startup. Most of the time it crashed out of the blue after 5 minutes of work. This repeated until I installed proprietary drivers, so at least this was easy and obvious to solve.
The much bigger problem was with Sleep / Hibernation. By default, KDE is configured to hibernate after a period of inactivity. And the first time it happened I discovered that my PC couldn’t wake up from the sleep. It simply stopped reacting to the power button 💀
Usually if you make a long press it triggers some low-level code that bails you out and restarts the PC even if your kernel hangs. But not this time. After openSUSE hibernated my PC turned into a brick and did not react to any interaction or showed signs of life.
Honestly, I almost shit my pants (did I brick my PC after 5 minutes of using openSUSE?!). I needed to switch the power unit completely, waited about a minute, then turned it on again and the power button started to work. Probably it needs time to reset data in the RAM? I don’t know what is the reason (missing drivers?) and I have no skills to debug this issue.
This behavior is a real shit. Imagine you are 14 y.o. and your mom buys your first PC. Of course you immediately tell her that Windows sucks, then you erase the hard drive and install Linux… to discover that your PC bricked and you can’t power it on again 💀
This bug is the reason I won’t install openSUSE on my work laptop, because if to revive it I need to completely disconnect power, the installation of openSUSE most probably will end up in visiting the service center (I don’t like to tell “Sorry, boss, I’ve disassembled my laptop and couldn’t assemble it back”).
Obviously, for the same reason I don’t recommend installing openSUSE as your first Linux distro 👎
Software-That-You-Cant-Name
As I just mentioned, openSUSE is waaaay more picky which software to include in the repos, and on top of not including any propietary software it doesn’t also include many of the FOSS software that is common to see in the “normies” distros like Ubuntu.
I have no clue why, and especially what is the problem with things like ffmpeg and x264. openSUSE has a huge list of software that is not on the repos and can’t be included. Furthermore, they can’t even tell you why exactly they can’t include it:
This page just lists the applications and does not explain the reasons as even that could be used in court against us.
Complete mystery. I don’t know what’s so special about openSUSE comparing to other distros. Why Ubuntu / Red Hat derivatives can include this software and openSUSE can’t? On the other distros it’s mainly about the ideology, but it seems that openSUSE has some legal concerns in mind. Maybe the reason is that SUSE is a German company and Germany has some weird laws different from the other world (knowing Germany it can be)? On the other hand, what is the connection between openSUSE and SLES? Isn’t openSUSE community-driven and has no direct relation to SLES?
Anyways, don’t be upset. They can’t sell you drugs, but they can tell you where to buy them.
The two names you need to remember are Pacman (not related to Arch package manager) and opi.
Pacman is mostly for libraries (e.g. x264 comes from there) and opi for various popular software like Visual Studio Code, Telegram and Chrome.
Again, I don’t understand what is the reason to have these complications and 3rd party tools. For example Pacman is also community-driven and Germany-based. But yeah, you can say “ass” and “hole” on TV separately, but not one followed by another 🤷
KDE v.s Gnome
Most of my Linux life (except very old times) I spent on Gnome and didn’t question much if it’s good or bad. There were many annoying things, but when you don’t know alternatives, you can’t realize how annoying they are.
KDE is a different, much better world that changed my daily life after I stepped in, and now I can’t stop feeling pain every time I need to deal with the Gnome.
First, Gnome is so fucking slow. Browsing a local folder (on SATA3 HDD) with 16k images feels like browsing through a network share … over a dial-up connection 🤢
TODO: here should be a video of Nautilus struggling to load image previews for 5 minutes
Compare how fast it works in Dolphin.
TODO: here should be a video of Dolphin (spoilers, it’s instantaneous)
Second, the default Gnome applications are mostly bloatware that lacks any useful features except the barest possible minimum and sometimes it lacks even the barest minimum.
Compare for example Gnome’s Screenshot and KDE’s Spectacle. You don’t need much from a screenshot utility, but Gnome’s one misses the ability to draw annotations. I rarely need to simply screenshot an app, most often I need to at least draw an arrow, blur something, or write a comment.
But it’s not in Gnome Screenshot, so for Gnome I need to use 3rd party Flameshot … that has its own problems and I end up sometimes using Gnome Screenshot and sometimes Flameshot. Ocular, on the other hand have everything I need in one place.
I already complained about the speed of Nautilus compared to Dolphin, so you might think that it happens because Nautilus has some sort of advanced features … but it’s the opposite! Nautilus is the dumbest, most minimalistic graphical file manager that you can imagine.
On the other hand, Dolphin out of the box has awesome features like built-in terminal that is synchronized with the folder view:
It’s so convenient in the everyday work, that even if it was the only benefit of KDE over Gnome I’d already consider switching.
Another nice feature of Dolphin is the two-panel mode:
It can feel old-school, but when you regularly work from the 14 inch laptop with no external display it’s a lifesaver (for the same reason I use Commander One on my MacBook Air).
I think it’s the modus operandi of Gnome, to remove features until you left with a Potemkin Village that from a distance looks neat, but when you come closer it falls apart.
And last but not least, KDE has fewer bugs (haha, despite having more features). For example, adjusting screen brightness never worked for me on Ubuntu + Gnome, but it works on openSUSE + KDE despite no propietary drivers.
It’s crazy that Gnome, which is the default DE on so many commercial distros and which gets so much money and effort, achieved such poor results. I can’t express how angry I am for the maintainers of Ubuntu and RHEL for putting Gnome as the default desktop and having no option to switch to KDE.
But I would even like to go further. KDE is so amazing that it’s not only better than Gnome, it’s better than any contemporary Desktop, including Windows and macOS!
I don’t like FMO, so I keep using Mac and Windows laptops on a weekly basis and at least I keep an eye on what happens in those ecosystems. Windows went through so many stages of enshitification that by default is almost impossible to use nowadays. macOS desktop is very solid and stable, but it’s even more limited in features than Gnome. So again, if you want an awesome desktop experience out of the box, try KDE.
These two months of KDE returned me the joy and happiness of having desktop that the last time I felt around Windows 7. It also improved my day-to-day productivity as a developer and I can’t wait to switch my work laptop to something KDE-based.
TLDR; If you work on a desktop and haven’t tried KDE, try it immediately.
Documentation and Community
It’s not a surprise that compared to Ubuntu every other user community feels small. openSUSE is not an exception. It’s much less common to find questions that focus on doing some generic stuff under openSUSE and the answers are mostly toxic “man zypper
is as good as always” and “RTFM”. I think it’s quite ironic because as I already mentioned, openSUSE documentation is often outdated and misleading.
Btw, one cool thing about openSUSE Tumbleweed is that it ships both POSIX man pages and GNU man pages, e.g. man 1 ls
is for the GNU coreutils ls
and man 1p ls
tells about POSIX-compatible ls
. It’s fun to compare them from time to time.
Closing Notes
I said in the beginning that in two months it’s impossible to learn everything about a Linux distro, especially if you are not doing some systems programming or porting software from one distro to another. I’m not sure how much a regular user would feel e.g. the difference between an OS with systemd-resolved
(Ubuntu) vs. OS without (openSUSE).
Some caveats and problems on Tumbleweed started to appear only by the end of the second month, simply because before I didn’t need to use some features. For example, just a week ago I discovered that it couldn’t automatically detect my printer (haha, such a classic Linux problem).
But my memories of Tumbleweed will stay very warm. From the first days I felt that I would miss it and the chances are good that I will return one day ❤️. But now it’s time to hop to the new distro!
It will be … or better I leave you a hint and you try to guess it yourself 😄 See you in two month soon! 😇