How I Switched to Linux
I’ve grown up on Windows 7 and 10, and for the most part, I’ve had no issues with them. However, recently I’ve been lucky enough to frequent communities where Linux was practically everyone’s daily driver, and it sort of began to rub off on me. At some point, I got bored of Windows and finally decided that I should try Linux for myself.
I spent a few days trying out different distributions. I wanted something practical: something less spoonfeed-y than Windows, but nothing that would be a nightmare to get into or troubleshoot. Towards the end of my trial process (which was neither systematic nor robust — I tried out only a small handful of distributions and judged mostly by first impressions), two distributions caught my eye: Solus and Zorin. In the end, I decided to go for Zorin, mostly because it was Ubuntu-based and so I expected that apps and support for it would be abundant.
It took me a moment to appreciate GNOME. Once I accepted that I wouldn’t be able to theme it to look like Windows 10 (I really liked sharp corners), it didn’t take all that long for me to warm up to it. The filesystem structure was a bit new to me, but I grasped it quickly and found a new workflow in a matter of days. Zorin wasn’t perfect by any means and I had to spend some time fixing various issues, but I liked it overall.
A year or so later, I gradually started questioning Zorin. There was nothing noticeably wrong about it at first, but the glacial pace at which it moved became more and more apparent as time moved on. Zorin is built upon Ubuntu LTS, meaning that it only gets a new release when a new LTS comes out: once every two years. That’s an abysmally long time, especially in the world of software. Zorin’s tendency to be constantly behind began to be irritating, and so I started looking for something new.
Shortly before I started considering switching distros, a friend of mine took the plunge and swapped out Windows 10 for Fedora Workstation. Furthermore, Fedora cropped up often in online discussions and was ultimately recommended to me by another friend. Needless to say, it caught my attention. After a bit of research, I decided that it was exactly what I was looking for: it was up-to-date, widely-supported and still user-friendly. I also considered Arch, EndeavourOS or Solus, but I didn’t want to make anything more difficult than it needed to be nor did I want to risk things with rolling releases. In short, Fedora was a perfect match.
Next, I needed to pick a desktop environment. GNOME was an obvious candidate, but KDE caught my eye thanks to its reputation as being heavily configurable, pretty and lightweight. I also wanted to try out Cinnamon, but the moment I booted up a Fedora KDE LiveCD, I knew that this was the one. KDE greeted me with the beloved Windows-like taskbar layout, and the default file manager, Dolphin, completely blew Nautilus and Thunar (the file managers on Zorin Core and Zorin Lite, respectively) out of the water. With that, I was set to switch once again.
The switch from Zorin to Fedora KDE felt even bigger than the
switch from Windows to Zorin. Features that needed GNOME extensions under Zorin were built into KDE, and I liked KDE’s
sharper, denser interface in comparison to GNOME’s lofty buttons and overweight corners. Fedora’s package manager
(dnf
) also felt friendlier and more complete than Ubuntu’s (and by extension, Zorin’s) apt
,
and I no longer had to deal with Snaps since Fedora’s package repositories are impeccably up-to-date, sometimes even
surpassing Flathub.
One thing that I’ll admit Zorin did better was the initial installation and setup process. Fedora 38’s installer was somewhat confusing (thankfully, as of this writing, there should be a new and improved one coming out soon — if it isn’t out already). I also had to manually add/install Flathub, NVIDIA drivers and WINE, which wasn’t hard but was still something Zorin did for me (or let me do with a single click). I also set X11 as the default window system since I didn’t want to deal with yet another thing that could make stuff break. Just like on Zorin, a few residual issues remain, but otherwise, the process went very smoothly.
There were some hiccups, but despite that, Linux, Fedora, KDE and the things around them are phenomenal pieces of software; ditching Windows is probably one of the best decisions I’ve ever made. It’s been and continues to be a wild ride that never fails to teach me something new. If you, dear reader, are on Windows and are getting bored of it, why not try something new? Linux won’t disappoint.
Here follows a list of Windows-specific software I have (or haven’t) found Linux alternatives to, in case someone might find it useful.
- Paint.NET: Replaced by GIMP. I only do minor edits/make memes so GIMP is a bit overkill, but it gets the job done if I do a bit of Googling.
- Logitech G-Hub: It doesn’t look to be coming anytime soon, but there are some open-source alternatives. Personally, I just use the on-board profile on my mouse and plug it into a Windows machine whenever I need to change anything (which is once in a blue moon anyway).
- ScreenToGif: No alternative found. As of this writing, Peek is discontinued and Kooha doesn’t work (at least not KDE).
- HWiNFO: The functionality I needed — checking temperatures — was filled in by various taskbar-based extensions/widgets. These were System Monitor + Freon on GNOME (Zorin Core) and System monitor Sensors on KDE. Honestly, taskbar-based monitoring graphs are one of my favourite Linux features to date.
- VSDC Video Editor: Replaced completely by Kdenlive.
- Foxit PDF Reader: Replaced completely by Okular.
And last but not least, the complete list of things that I’ve stumbled upon that needed some fixing. In general, these are things that didn’t or don’t work as expected on Linux compared to Windows (10) and are in no particular order. I’ve tried to detail what I’ve attempted and what worked for each issue.
You may notice that this list is fairly long and includes a non-negligible amount of items marked as "ongoing". However, do not take this as an indication that the Linux experience is janky; the positives far outweigh any drawbacks.
-
ONGOING | #8 (Some) Flatpaks don’t use the system cursor theme
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
This is caused by the Flatpaks not having the permissions to read the cursor files. The fix should be simple: just grant Flatpaks the permissions to access cursors. However, certain Flatpaks, such as Discord or the Minecraft launcher, still fail to work on Fedora/KDE (at least). I’m going to guess that it has something to do with these apps mainly being designed for Ubuntu and related distros.
-
ONGOING | #20 Spotify doesn’t let me specify the offline download location.
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
I’m pretty sure the Flatpak version of Spotify has a bit of trouble with this. At some point I got it working, but I don’t remember which packaging I was using. Nowadays, I just use the default download location.
-
ONGOING | #24 The ‘Recent’ tab in the file explorer is sub-par
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
By sub-par I mean that it 1) doesn’t show folders and 2) doesn’t show up in the ‘Save File’ dialog.
1) is less of an issue on Fedora as Dolphin has both a ‘Recent Files’ and a ‘Recent Locations’ tabs. However, the folders in this tab seem to be sorted solely by when and not by how frequently they were accessed, which limits its convenience. 2) remains unresolved. Nevertheless, I have mostly become accustomed to this one particular limitation.
-
ONGOING | #32 WINE applications have crackle-y audio
- Fedora/KDE
This bug has been reported as pipewire/pipewire#3098. I’m currently using the workaround described here and here; that is, creating
~/.config/pipewire/pipewire-pulse.conf.d/20-pulse-properties.conf
with the following content:pulse.properties = { pulse.min.req = 512/48000 pulse.min.frag = 512/48000 pulse.min.quantum = 512/48000 }
Note that I’m using
512
instead of256
as the latter still caused issues. Also, remember tosystemctl --user restart pipewire pipewire-pulse
to apply changes (or just restart the entire PC). -
ONGOING | #34 Launching certain applications (e.g. NVIDIA X Server Settings, certain WINE ones) turns off the blue light filter
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
This seems to have been reported here. Strangely, that bug report was filed against Ubuntu, which uses GNOME, not KDE. Nevertheless, the symptoms appear identical to what I’m experiencing and the problem is probably caused by the same underlying issue in both cases.
-
ONGOING | #38
os-prober
does not detect Windows 10- Fedora/KDE
I have a copy of Windows on a separate 128 GB SSD for when I have no other option but to deal with a Windows-only app. However,
os-prober
does not detect it and so it is not added to the GRUB boot menu automatically, which means I cannot programmatically reboot into Windows.The internet is littered with many similar questions, many of which have never been resolved.
grub-mount
ing the Windows EFI partition works without issues, but whether it’s mounted or not changes nothing. The most common solution seems to be adding a menu entry manually, which is what I ended up doing anyway. I added the following to/etc/grub.d/40_custom
(remember to replace848F-AF37
with your own UUID):menuentry 'Windows Boot Manager' { search.fs_uuid 848F-AF37 root hd0,gpt1 chainloader /EFI/Microsoft/Boot/bootmgfw.efi }
Credit goes to these two posts. Of course, don’t forget to run
sudo grub2-mkconfig -o /etc/grub2.cfg
to apply changes. -
RESOLVED | #39 The GRUB boot menu is occasionally skipped when restarting
- Fedora/KDE
Oftentimes, when rebooting my PC, the GRUB menu doesn’t come up at all despite the fact that I’ve explicitly enabled it and gave it a long timeout in
/etc/default/grub
. This issue frustrated me quite a lot since I wasn’t able to consistently reproduce it; sometimes the menu would be skipped (especially after using the PC for a while) and other times it wouldn’t.After some digging around in the generated GRUB config file, I found out that this is the result of Fedora making this change; for single-boot systems (GRUB thinks my system is single-boot; see #38), the GRUB menu is automatically skipped after a "successful boot", which, according to this FAQ, is defined as a boot lasting more than 2 minutes.
The solution (i.e. disabling this feature) is given by this answer:
sudo grub2-editenv - unset menu_auto_hide
. I just wish it was better documented. -
RESOLVED | #36 Can’t fine-tune the time and date format in KDE
- Fedora/KDE
KDE uses the current locale to determine the date and time format and I wasn’t able to manually set it to ISO 8601. Thankfully, this has been asked about and answered here — the solution is to set the locale to
en_SE
.This is the only time I’ve seen KDE fail in terms of configurability.
On a related note, Nextcloud also has this problem. Setting Nextcloud’s locale to
en_SE
works, but causes relative time to be shown in Swedish. -
RESOLVED | #35 Dolphin hides
.old
and.bak
files- Fedora/KDE
As pointed out by this question post, this is a side effect of this feature request being merged. As mentioned on the feature request page, the behaviour can be reverted by disassociating
.old
and.bak
files from theapplication/x-trash
mimetype, creating a new one (e.g.application/x-backup
) and associating the file extensions with it.Also, see this discussion post.
-
RESOLVED | #33 Discord doesn’t stream audio when screen-sharing
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
This is a rather well-known limitation of the official Discord client on Linux, and is mostly Discord’s fault. The solution is to use one of the many alternate clients or to use this Firefox extension, open Discord in the browser and stream from there.
-
RESOLVED | #29 Black screen after logging out
- Fedora/KDE
Probably-related reports/posts/questions are this one, this one, this one, this one and this one. For me, making SDDM use X11 instead of Wayland fixed the issue. However, from the looks of the other reports, other workarounds may work as well.
-
RESOLVED | #28 NVENC breaks on suspend
- Zorin 16 Core
- Zorin 16 Lite
If something was using NVENC when the computer went to sleep, NVENC would break until the next reboot. Apparently, this was a pretty common issue — see this question and this Reddit post. As mentioned in the linked issue, this caused issues with OBS and Sunshine.
Initially, I set up a script that
pkill -x obs
’d before every suspend. However, if I recall correctly, I ended up fixing the whole problem using these steps. Additionally, I don’t recall having this issue on Fedora at all. OBS still breaks if it’s recording during a system suspension, but that’s a separate and much more minor issue. -
RESOLVED | #1 PC wakes up immediately after being suspended
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
See this Reddit post. The solution is to “disable GPP0 wakeup”, whatever that means.
-
RESOLVED | #3 Colours are rendered incorrectly sometimes
- Zorin 16 Core
- Fedora/KDE
For example, my signature red, #FF3232, gets rendered as #FF093A. Certain applications display it correctly, but others don’t.
I spent a non-negligible amount of time trying to figure this out. The closest that Google got me to the solution was this Reddit post. I tried fiddling around with monitor settings, the NVIDIA control panel, different GPUs, and even different monitors to no avail. Some faint memory told me that I had a similar issue under Windows 10 and fixed it then by changing some setting about the color format or whatnot, but that didn’t work here.
This took me a while to figure out and it had nothing to do with the monitor or the GPU. First, I narrowed the issue down to only Electron apps, like VS Code and Discord. Then, I found out that Linux has this setting called ‘Device Color Profiles’ and my monitor had a default profile applied. I just removed it and the colours started rendering correctly after a restart.
-
RESOLVED | #4 Bluetooth doesn’t work on my laptop
- Zorin 16 Core
- Zorin 16 Lite
I just needed to point Linux to the correct firmware.
-
RESOLVED | #5 My secondary disk is mounted under
/media
and has an unmount button.- Zorin 16 Core
Setting the mount point to a folder under
/mnt
wasn’t a hard fix. However, I wasn’t able to hide the unmount button only for that disk without hiding the disk itself, so I just disabled the ‘Removable Drives’ menu in the system tray.Fedora, on the other hand, was smart enough to not prompt me with an ‘unmount’ button in the first place.
-
RESOLVED | #6 Desktop notifications show up top centre instead of bottom right
- Zorin 16 Core
Install the Panel OSD extension.
Not an issue under KDE.
-
RESOLVED | #7 Can’t open WebP images
- Zorin 16 Core
- Zorin 16 Lite
Install aruiz/webp-pixbuf-loader.
Not an issue under Fedora/KDE.
-
RESOLVED | #9 Black screen on laptop wakeup
- Zorin 16 Lite
My laptop screen occasionally remains off after waking up from sleep. I’m pretty sure something about how it’s put to sleep triggers it, but I haven’t been able to figure out what exactly.
A possibly related bug might be this one. At first, I used this workaround, but the last time I used Zorin, just closing and re-opening the lid worked to fix it basically every time.
-
RESOLVED | #10 No Power Off/Restart buttons on the lock screen (only Suspend)
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
I found out this is Linux’s stricter equivalent of Windows’ “other users may lose unsaved work” prompt and can’t really be “fixed”.
-
RESOLVED | #11 Audio occasionally breaks (turns into static)
- Zorin 16 Core
This stopped happening at some point and thus became a non-issue. Nevertheless, when it happened, I found that restarting PulseAudio fixed it. However, restarting PulseAudio broke Spotify and other apps that depended on it, so I made a little script to restart everything:
# Audio breaks sometimes and resetting PulseAudio seems to fix it. # Spotify also needs a restart to work after PulseAudio is restarted. function restartpulse() { pulseaudio --kill pkill -x spotify nohup spotify > /dev/null 2>&1 & disown $! }
-
RESOLVED | #12 The login screen uses different system settings
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
This mostly affects things like mouse speed, cursor icon, background, theme and so on. It happens because the login screen is ran under a different user. To change the mouse speed for GDM (the login manager in Ubuntu, Zorin, etc.), see this Reddit post. To change other things such as the GDM background, see this article. In KDE, these settings can be changed in System Settings.
-
RESOLVED | #13 Can’t change the audio output device from the system tray menu
- Zorin 16 Core
Install the Sound Input & Output Device Chooser extension.
Not an issue under Fedora/KDE.
-
RESOLVED | #14 No “Open In Code” context action in the file explorer
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
- Nautilus (Zorin Core): Install this extension.
- Thunar (Zorin Lite): Add a custom action.
- Dolphin (Fedora/KDE): Install an extension from the software store.
-
RESOLVED | #15 The file explorer doesn’t understand
.code-workspace
files- Zorin 16 Core
- Zorin 16 Lite
Register a custom MIME type. My
x-code-workspace.xml
file looked like this:<?xml version="1.0"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-code-workspace"> <comment>VS Code Workspace</comment> <glob pattern="*.code-workspace"/> </mime-type> </mime-info>
Fedora/KDE is not affected.
-
RESOLVED | #16 Discord and VS Code have ugly topbars
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
VS Code can hide the system topbar by changing the
window.titleBarStyle
setting. Discord, of course, doesn’t have such setting, but it’s honestly not that bad anyway. -
RESOLVED | #17 Discord doesn’t display the notifications badge on the taskbar icon
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
Looks like an issue with Discord. As of , on Fedora/KDE, using the RPM packaging of Discord and installing
libunity
fixes this issue. I haven’t verified it myself but it looks like it should work in the Flatpak packaging too. I dunno about GNOME. -
RESOLVED | #18 Discord
/Spotify /etc. don’t automatically open on boot - Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
Tweak the "Startup Applications" system setting.
-
RESOLVED | #19 Spotify doesn’t save volume
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
This fixed itself at some point.
-
RESOLVED | #21 Spotify exits if it’s closed (instead of sitting in the icon area)
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
This is on Spotify’s end and has been requested many times. There are also many articles with "solutions" that either don’t work at all or are more inconvenient to set up and use the convenience issue they are fixing. For a while, I simply moved Spotify into another workspace which worked quite well. However, it looks like Spotify finally decided to fix this, and as of a few months ago, Spotify does have a system tray icon it can minimize to.
-
RESOLVED | #22 Spotify cannot open links in the app
- Zorin 16 Core
- Zorin 16 Lite
- Fedora/KDE
Clicking on a Spotify link launches a new broken instance instead of redirecting the existing one.
In the past, solved this using sp, a custom Spotify launcher (requires editing Spotify’s
.desktop
file) and a Firefox extension.Nowadays, I find that using this extension in conjunction with this one (to close opened tabs) is sufficient. It still leaves Firefox focused, but it’s good enough for me.
-
RESOLVED | #23 Image thumbnails have ugly white borders in Nautilus
- Zorin 16 Core
I found this article, but doing what it says doesn’t work. Another answer here involves recompiling Nautilus, which is too much effort for thumbnail borders. I eventually got used to it.
This is no longer an issue after I switched to Dolphin (Fedora KDE’s file manager) which is better anyway.
-
RESOLVED | #25 Folders don’t preview their contents in their icon.
- Zorin 16 Core
- Zorin 16 Lite
See this question. One often-suggested solution is flozz/cover-thumbnailer, but I have never tried it myself.
This issue was resolved when I moved to Fedora; Dolphin doesn’t only preview folder icons, but also animates them (both for folder contents and for videos) when you hover over them.
-
RESOLVED | #26 Thunar (Zorin Lite file manager) doesn’t show the size of the current selection
- Zorin 16 Lite
-
RESOLVED | #27 No “copy file path” context option in the file explorer
- Zorin 16 Core
- Zorin 16 Lite
The clipboard is context-sensitive; no fix is required. Additionally, Dolphin does have this menu option.