Today, I will tell why openSUSE Tumbleweed is the best distro you can use on your desktop. And why I recommend it to both newbies and pros instead of Ubuntu or Fedora. Without further ado, let's first see what's the problem with Ubuntu and Fedora.
Most people would tell you to go for Ubuntu if you aren't familiar with Linux yet, due to its popularity within both desktop and server markets alike. In this sense, its large user base really helps a lot, as you would find official support from third-party developers, tutorials, tips, and tricks.
However, it doesn't mean that Ubuntu will actually work on your hardware. In fact, it's unlikely to work at all, especially, if you're a laptop user whose his/her laptop is not on the certified list. Even then, the list itself represents only a very small fraction of all available laptops in the consumer market. Moreover, Ubuntu ships an older kernel compared to Fedora or openSUSE Tumbleweed, so there's a high chance that your laptop, that would otherwise work with newer drivers that are packed within newer Linux kernels, will not work at all on Ubuntu. Of course, you can try the OEMKernel on a non-certified device also, but it's not guarantee to work without issues. Therefore, you might have a better chance with a newer kernel on other distros.
I used Fedora 36 for 3 months before I moved to openSUSE Tumbleweed. Well, if you look for productivity, you should look elsewhere. Fedora's restricted policy is better for business environment use cases, it's great for RHEL, but worse for most consumers who use their PC for productivity. Sure, you have new and updated drivers and packages compared to Ubuntu, but you're unable to
modprobe any kernel module that's not in the main kernel, thus not signed. For instance, I couldn't use v4l2loopback to make use of my mirrorless camera as a webcam through gPhoto2. There could be many more use case issues that I didn't face myself. But be aware that this restriction is there in place, so if you bump with it, you either have to disable secure boot (and having to remember BIOS password) or move to another distro/OS altogether, considering that letting your OS breaks your tools now and then is not an option.
I see many influencers nowadays saying that Fedora is a new Ubuntu. While I can get it, why they're saying this now, but considering the restriction, I think there's a better choice than Fedora.
I am not using Linux because it's cool. I tried it recently because I have limited resource on my laptop. It's 2022, and I only have 8 GB of RAM on my laptop. Booting Windows 11 eats 4 GB of my RAM. Opening Facebook in Chrome for another 1 GB. Well, almost up...
I recommend at least 16 GB of RAM if you're going to develop something using Windows in 2022.
I can do much more on Linux, with zRAM enabled, I rarely filled up my RAM like I would on Windows.
However, I have to admit that Windows manages OOM (Out Of Memory) situation much better than Linux. That's why there's a
systemd unit called systemd-oomd in Linux land now. It first ships with Fedora 34, then Ubuntu 22.04 LTS, but there are issues reported by their users, which is a good thing to have feedback from the large user base. While openSUSE is making the way to add systemd-oomd soon.
And it's not just my limited resource that made me switch to Linux, I also use many open source software in my workflow. Most of them work better on Linux than on Windows.
It wouldn't be reasonable to review anything without listing the pros and cons first. Here are what I found by using openSUSE Tumbleweed for a month.
- Works with secure boot.
- An ability to
modprobea kernel module without signing.
- The rolling release model that provides stable updates.
- Using the up-to-date kernel, drivers, and packages.
- The solid installer that makes use of BTRFS snapshot and rollback, with full disk encryption!
- The solid default BTRFS snapshot configuration that would never ever fill up your drive with useless snapshots.
- YaST, a GUI app for all the admin tasks.
- Nice mascot 😂
- The installer is not user-friendly.
- The default installation installs many bloatware without a clear menu to opt out.
- Doesn't enable zRAM by default.
- Doesn't enable BTRFS transparent compression by default.
- The package manager (Zypper) doesn't work in harmony with GNOME Software (PackageKit).
- Non-functional out-of-the-box Flatpak integration.
- Low popularity.
One key element of choosing a desktop OS for me is, it has to support secure boot, i.e. a UEFI (The Unified Extensible Firmware Interface) firmware security feature that ensures only immutable and signed software are loaded during the boot time. Love it or hate it, as a laptop user who doesn't want any hassle from disabling secure boot in the BIOS, I will only use and recommend the OS that support this feature, period.
Even if I don't dual booting Windows-Linux, I still don't want to disable secure boot, as having to remember the BIOS' password is not an option for me.
If you want to use a rolling release Linux distro, I recommend openSUSE Tumbleweed any day of the week, even though Manjaro seems to be a more popular choice among Linux users, but I can't recommend it due to its incompatible with secure boot. You can also use Arch if you want to mess around very much with your computer, but I don't and therefore I chose openSUSE Tumbleweed.
It's no secret why I moved away from Fedora, and why I don't use Ubuntu. The flexibility to
modprobe any custom kernel module without signing on a rolling release distro that provides stable updates to the kernel, drivers, and packages. It couldn't get any better than this.
Moreover, you don't have to worry about a major point release upgrade that might break your system or your workflow. This is due to the linear upgrade of the rolling release model, in which shocking changes don't occur to the user all at once, contrary to the point release model that usually changes or breaks many things in a new release. Therefore, people on Ubuntu usually stick themselves to LTS version for as long as possible, the same can also be said for Fedora where users often stick to 1 release behind.
However, the problematic part about using a point release distro is when it meets EOL (End of Life). It becomes hard or impossible to upgrade to the next release if you're out of the upgrading window.
It was impossible for me to upgrade my Raspberry Pi 4 server running on an EOL Ubuntu because I forgot to upgrade it in time. But for another one of my EOL Ubuntu server (non-ARM), I could upgrade it successfully using the instruction on this page. You can see the EOL date of many Linux distros here.
If you're on openSUSE Tumbleweed, you automatically save yourself from this EOL hassle.
With openSUSE installer, you can enable BTRFS snapshot with a rollback system, which is essential for a rolling release distro. Even if it's rare for a stable update to break the system, it won't be impossible to happen. Therefore, having a rollback system in place is a must, it saves time.
Yes, while you can get this system easily in openSUSE with just a few clicks, it's not available in Fedora's installer. Therefore, you will have a hard time setting this up manually on Fedora.
And while this feature is also presented in Ubuntu's installer if you choose to install with ZFS filesystem, but there's no GUI app to manage your snapshots, and to rollback from those snapshots, like YaST on openSUSE.
Nonetheless, most people won't have to deal with any configuration of the complex filesystem on openSUSE at all. Since the default snapshot configuration will never ever fill up your drive with useless filesystem's snapshots.
Lastly, openSUSE installer also have full disk encryption feature built-in, just like Ubuntu and Fedora. On Windows, you would get this feature with BitLocker, which is not available in Windows Home Editions that's pre-installed on most laptops. Therefore, you will have to buy Windows Pro to use this feature. (Here's my secret: it's free on Linux!)
There's one thing that I believe everyone would've noticed after moving from Windows to Linux. Well, you need to open terminal a lot more that you would need to open command prompt on Windows.
For instance, if you need to setup your firewall on Linux, most likely, you would be suggested to use command line. Of cause, there's Gufw for ufw. And there's Cockpit to manage firewalld. However, it is not included in the OS, contrary to Windows which has a GUI app to manage firewall pre-installed by default.
What is the point of inventing all the good features if they are hidden deep in Google search queries?
Most people would easily miss all the Linux goodies. But this isn't true with openSUSE, since it pre-installed YaST that has many module to manage your admin tasks through GUI, firewall included. File sharing setup? Yep. Want to check your hardware info after upgrading your wireless card? Yep. Manage your packages? Yep. Your systemd services? Yep. Manage your BTRFS snapshots? Why not!
With YaST on openSUSE, you just do your work, stop wasting your time to hunt for a specific command / third-party app, especially, when you don't use it very often. YaST is there for you!
With all that said, let's see some of the downsides of openSUSE that might keep people away from this great OS.
The installer didn't detect my wireless card that Ubuntu and Fedora installer could detect without any issue. And there's no easy way to install with the minimal option that's one click away on Ubuntu and Fedora installer. I hate to uninstall Sudoku and the like, the apps that I don't need at all, after the installation.
The installation is the first gate for any app, let alone the OS, to introduce their users the first impression. I hope openSUSE, or rather SUSE, improves on this aspect a lot in the future. The installer should be made to self-explain its features. The docs should be there as an optional source, not mandatory.
zRAM AKA free RAM, and BTRFS transparent compression AKA free disk space, should be enabled by default
zRAM was enabled by default since Fedora 33. It has always been in the kernel for a long long time, in which considered stable since kernel 3.14. ChromeOS enabled zRAM by default. Android had it enabled since KitKat. Basically, it's a free RAM that should be enabled on any system for a long time now, unless you have like 64 GB of RAM or above. Some conservative people might say that it uses CPU resource to compress and decompress data. However, it's hardly debatable because the CPU in your Android or even in your TV can handle it fine, there shouldn't be any problem to enable it in your computer, especially when OOM situation is considered, the gains outweigh the losses.
Fortunately, it's very easy to enable zRAM on openSUSE by:
sudo zypper install systemd-zram-service && sudo zramswapon
You will have to make
zramswap service start on boot, by opening YaST Services Manager, and set the start mode of
zramswap service to On Boot.
Also, BTRFS transparent compression should be enabled by default. According to Intel, you could also get performance benefit by enabling it. Here's how to enable BTRFS transparent compression on openSUSE (you need to use BTRFS filesystem):
nautilus admin:///in the terminal.
- Go to
/etc/and edit your
compress=zstdBTRFS mount option to the
subvol=/@/home. It compresses at level 3 by default (you get level 1 in Fedora -
compress=zstd:1), which works fine (recommended level 1-5). Your
fstabshould look something like this:
/dev/mapper/cr_root / btrfs defaults,compress=zstd 0 0 /dev/mapper/cr_root /root btrfs subvol=/@/root,compress=zstd 0 0 /dev/mapper/cr_root /home btrfs subvol=/@/home,compress=zstd 0 0
Recompress existing data in
sudo btrfs filesystem defragment -rvf -czstd / sudo btrfs filesystem defragment -rvf -czstd /root sudo btrfs filesystem defragment -rvf -czstd /home
You can't specify the compression level in this step, though, therefore you should do this as soon as possible if you want to make the most out of this feature.
Reboot your PC. You should have all the data compressed automatically in the background (transparent compression).
You can use the tool called compsize to check how much disk space you have saved just by enabling this feature (I've saved a few hundreds GB). You can easily install this tool by opening YaST Software Management app, and search for the name.
On one side we have Zypper, which is openSUSE's package manager. On another side we have PackageKit, which is the package manager backend of GNOME Software. In fact, both package managers need to work together in harmony, but unfortunately, Zypper won't work when PackageKit is running. See SUSE's Bugzilla Bug #1202796.
Fortunately, we have a workaround for that. If you want to perform Zypper operations while PackageKit is still running, you can manually stop PackageKit first by:
sudo systemctl stop packagekit
And when you're done with Zypper, you can start PackageKit again by:
sudo systemctl start packagekit
Moreover, if you can't add Flathub's repository for some reasons, please uninstall
flatpak package first, then delete all the contents in
/var/lib/flatpak/repo/, and re-install Flatpak again. Now, you should be able to add Flathub's repository, and get tons of Flatpak apps.
One thing that I noticed regarding Flatpak's situation on all major Linux distros is that, no distro seems to get it right. Even on Fedora, the users have to manually add Flathub's repository since Fedora's Flatpak repository doesn't have all the apps that Flathub has. This is very confusing to the newcomers. Ubuntu doesn't have Flatpak by default. I didn't try Arch / Manjaro, though.
Yes, I tried to convince myself that I am not alone using openSUSE. At least, the supermarket near my home uses SUSE in their cashier PCs 😂
When you use an unpopular OS, you may have a hard time finding support from software developers. For instance, if the app doesn't pack in a more modern packaging format like Flatpak, Snap, or AppImage, and that app is not available in your OS's repository, you will have to compile the app yourself 😱
It's not like the compiling itself is hard, but to meet all the dependencies is... sometimes, hard. Because some packages / dependencies have different names on different distros. Sometime, it's not just the name, but things that's packed inside the package can be differenced.
If you ever have this issue, pkgs.org website is your best friend. You can search for any package to see what's inside them, then search for the contents inside, the website will list all the packages that provide the same content, but under a different package name. This is how I solved the dependencies issues on Fedora and openSUSE alike.
It's quite rare to face with a Linux app that can't really be installed on openSUSE. However, I hope SUSE will do better in the marketing aspect of the distro.
In the end, users lead to communities, communities lead to demands, and demands lead to markets, all related markets, whether direct or indirect markets. Please see why there's a free MS Office 365 for schools and students.
I think, this is it for today. I hope you have a good read, enjoy! And don't forget to leave a comment down below. Thanks for reading, bye 💨