Linux is still Linux in 2019
The experience of installing Linux and getting it running on a machine is just as inconsistent as a year ago and years before that. There were visible improvements, but still plenty room for improvements compared to Windows and Mac OS. I encountered many issues during my little experiment, I ended up switching back to my old setup at the end.
I had a few days off last week and didn't book any holidays to go anywhere. So the nerd in me thought it would be a great idea to get Windows and Linux dual boot setup on my desktop. I was looking forward to the new improvements which were added in the past year or so. The result is somewhat disappointing, and I ended up switching back to Windows (I use a MacBook Pro for most of my coding tasks). In this post I'll go over some of the issues I faced, hopefully, it will show why I decided to switch back.
Before I get started, I just want to say the following as disclaimer. I ended up struggling with the setup process for 3 evenings in a row, trying to get a good Linux distribution dual booting on my Windows desktop. I have experienced a lot of weird issues and it is frustrating, to say the least. So naturally, this post will contain quite a lot of negative feelings. But I don't want people to think this is me attacking Linux for being worse than Mac OS and Windows. I just had so much hope and expectations going in, it was quite a disappointing experience.
As part of my little experiment, I tried the following distributions:
- Pop!_OS (19.10, released 22nd October 2019)
- Deepin (15.11, released on 19 July 2019)
- Elementary OS (5.0 "Juno", released on 16 October 2018)
- Zorin (OS 15, released on 5 June 2019)
Every distribution has its problems
I tried the latest version of the above distributions, but as you can see from their release dates. They range from Oct 2018 to Oct 2019. These release dates nicely reflected the state of these distributions.
Elementary OS was the most stable one out of all of them, but it also meant there was a lack of new features.
Elementary OS used to be the best-looking distribution a couple of years ago. Since the latest version is from a year ago, all other distributions look more modern and simply better.
- Lack of Chinese Input - This distribution is the oldest out of all the ones I tried. It isn't based on Ubuntu 19.10, therefore, it doesn't have built-in Chinese input. For others, they might not care, but for me, this is also a deal-breaker.
Apart from the fact it was missing all the new features from 19.04 and 19.10 releases, there is little to complain about it. I decided not to go with it because it didn't have native support for Chinese input. Which is a deal-breaker for switching to it completely? When the next version of Elementary OS comes out based on Ubuntu 19.10 or later, then it would be the best choice for me I think.
Note: there are a lot of activities on Github, hopefully, it won't be long now.
A more recent distribution compared to the likes of Elementary OS. But it is backed by a company called System76, who specialises in building and selling Linux laptops. It claims to have very good gaming support out of the box, now with the new Nvidia driver improvements brought in as part of Ubuntu 19.10 (which the latest version is based on), it should be one of the best choices for people.
Notice the keyword "should". I spent the most time trying to get this distribution working because I felt like it was "the one". It got so much right and has so much potential!
- Lack of fractional scaling - Since it uses Gnome desktop by default, this means it doesn't support fractional scaling without turning on beta flag via Terminal. Out of the box a user could choose between 100%, 200%, 300%, etc scaling options. 100% is too small on 4k monitors and 200% is way too big in my opinion.
- Auto power off monitor resets fractional scaling back to 100% - After turning on beta fractional scaling option, I left the machine idling for a bit. After 5 min (system default option) it turned the monitor off when I woke the machine again it changed the scaling back to 100%. The only way for me to work around this is to disable auto turn off the monitor.
- Login screen scaling cannot be changed - No matter what I changed the fractional scaling value to, I could never get the login screen to change from the default 100% scaling level.
- Short scroll - I had really weird mouse scrolling speed. It would take me down 5 lines of text on a 4k monitor at 150% scaling when I'd normally expect the whole screen to be scrolled down. Maybe it could be fixed by changing scroll input values in the Terminal, but I have given up on this distribution at this point.
- No dual boot with Windows - No matter how I configured my BIOS, I simply couldn't get Windows boot option to show up during boot. I even reinstalled both Windows and Pop!_OS multiple times as a result. Maybe this is due to I'm trying to dual boot Windows and Linux on different SSD hard disks. I didn't figure it out at the end.
- Untrusted sources - This is another problem that just left a bad taste in my mouth. After booting into Pop!_OS, I wasn't able to add quite a few sources. Every time I try, I just get the error message cannot look up untrusted sources (or something like that). It seems that 19.10 is so new, there are many packages which haven’t been released yet. Long story short it is not possible to pull these packages down, or at least with everything I tried I was not able to get it working.
Deepin UI looks very sleek, but after trying it out it seems a little too flashy for my taste. The settings menu on the side is not easy to use in my opinion, it should have just kept it simple like the other distributions, but it's just my preference.
A big plus for me is the fact the app store is the best out of all of the distributions I have tried. It had everything I needed, even tools such as
VS Code which 9 times out of 10 I need to manually install in the Terminal.
The OS is customisable, maybe a little too much. Spending too much time and energy means a lot of areas in the OS itself feels very rough around the edges.
- Poor performance - The performance is one of the worst I have experienced on Linux. When opening, hiding and closing apps everything just feels a lot slower than other distributions.
- Confusing UI - The problem of spending too much effort on making everything look too fancy is that as the user you'll sometimes find small UI issues when using the OS normally.
- Inconsistent UX - There are really weird things embedded in the OS, it feels like lots people build different parts then glued it all together.
- Bad Chinese input - this had Chinese input support, but it is so buggy they may as well excluded it. It got to a point where I couldn't switch back to English 🤦♂️
Zorin by far is the best-looking distribution out there in my opinion. If you upgrade to the paid version, then there are even more type of layouts to pick from e.g. Mac dock layout. UI and UX just looking amazing.
- Terrible performance - This is the worst performing distribution out of everything I tried to-date. Even dragging windows around it would lag like hell. It felt like an animation problem, but when I checked GPU settings everything looked fine. It detected by GPU and everything.
- Lack of Chinese Input - Similar to other distributions, this isn't based on Ubuntu 19.10, therefore, it doesn't have built-in Chinese input.
I didn't play around with this distribution enough to find other issues, because of how bad the performance was.
Gaming has always been an issue on Linux. Considering this is a problem for all distributions I thought a dedicated section makes more sense.
Almost every other month I'd read someone writing that they have fully switched to Linux and the gaming experience is much better than before. I could see their point, with tools such as Lutris it is much easier to install games. Unfortunately, it is still no Windows. If you are lucky you might be able to get some game running, but major OS update might break the game and a game update might break the game. There is so much uncertainty when you are you in a mood for gaming you might find yourself doing debugging instead. This is why I wanted to dual boot Linux with Windows instead of switching over completely. The truth is I was right when I tried to get League of Legends (one of my most played game) working on Pop!_OS. I could install and boot into the game with Lutris using Wine no problem, but every time I start playing it would crash. I'm not saying this is not possible to fix, but it is too much for me when I just want to play a couple of games and relax.
The competitions are too strong
I got WSL 2 (Windows Subsystem for Linux) working on my desktop before I tried to do all this. Sure it is not perfect, which is why I wanted to get Linux running on my desktop. Though it is not perfect, and I can see myself running into problems in the future. It is a lot less maintenance than dual booting Linux with Windows.
My perfect development machine is still a MacBook Pro right now. I just find it superior in so many ways compared to Windows and Linux.
To summarise, compared to a year or two ago there have been huge improvements. I'm quite excited about new competitors such as Zorin, Deepin and Pop!_OS. Whilst Linux Mint, Ubuntu, etc are still leading the pack in terms of downloads and interests, I see a lot of potential in these new challengers.
Now, if you are thinking of installing or switching to Linux, my recommendation is to stay put with Mac OS and Windows. Unless you want to tinker with the OS, in my opinions these distributions are not quite ready to be used as Mac OS and Windows replacements for productivity. No matter what I did, I found myself more or less had to settle with some compromises.
I love the fact Linux is open and free. They aren't just Operating Systems on people's personal computers but runs most of the cloud too. Linux has a special place in my heart, it is a rare and positive thing in the world of technology and software development (with all the spying and privacy leaks).
I am still looking forward to switching to Linux one day. Maybe I'll give it another year and try again? We'll see...