Chris Xiao

Aspiring Software Engineer

Chris Xiao

Aspiring Software Engineer

#SwitchToLinux: My Journey to Linux

How I switched to Linux, and why you should too.

linux SwitchToLinux 
Last updated on April 15, 2019

#SwitchToLinux: My Journey to Linux

Table of Contents


TL;DR

I switched to Linux because I didn't like mandatory updates and telemetry in Windows 10. My journey to Linux started on Ubuntu 18.04, which had some issues on my Dell XPS 15 (9550). I tried Fedora 28 and 29, Ubuntu 18.10, Debian Testing and Antergos, all of which had some issues. Eventually, I settled on Manjaro.


A quick disclaimer

What this article is about

  • Why and how I switched to Linux
  • My experience with a few different Linux distributions
  • Why you should consider switching to Linux

What this article is not

  • A Linux tutorial
  • Distro recommendations
  • Advocating distrohopping

Some may call what I refer to as Linux in this article as GNU/Linux or GNU plus Linux. Please refrain from commenting about this and the GNU/Linux naming controversy. Thank you!


Why I switched to Linux

I’ve been using Windows for many years, and I’ve used every version of Windows since XP. However, this has changed when I decided to upgrade to Windows 10. As an early adopter, its instability didn’t bother me too much (since I can often fix problems myself), but its constant need for mandatory updates and its unprecedented demand for user data made me start looking for alternatives.

I remember playing with Ubuntu 14.04 LTS in a virtual machine a few years ago. At that time, I was amazed by its elegant Unity desktop environment and its stability. I've also worked with a Ubuntu VPS and a Raspberry Pi for a while. With a bit of Linux knowledge and experience, I decided to start using Ubuntu as my daily driver OS. Last July, I dual-booted my only PC, a Dell XPS 15 (9550), by installing Ubuntu 18.04.


First impressions of my first daily-driver Linux distro

Ubuntu 18.04

The Good

  • Everything runs much faster on Ubuntu, compared to Windows 10.
  • Minimal data collection and no more forced updates. Yay!
  • Managing software with a package manager (apt in Ubuntu) is so straightforward.
  • Despite what I've heard about the difficulties of installing NVIDIA drivers, Ubuntu made this process very simple, and Optimus actually works.

The Bad

  • Need to boot live media with nomodeset to actually install, due to issues with GPU drivers.
  • Reboot required to switch GPU.
  • Battery life is horrible on kernel 4.15, even with TLP and bbswitch installed and configured. Newer kernels solves this issue.
  • GNOME 3.28 is very resource heavy and feels slow.
  • Many things are installed as Snaps, which takes a lot of disk space and doesn't integrate with system themes.

The Verdict

Even though I had some issues with Ubuntu 18.04, almost all of them are not Linux's fault. I gave Ubuntu 18.10 a chance, and GNOME 3.30 greatly improved the desktop performance, but I frequently experienced issues with PulseAudio and Snaps are more tightly integrated in the system. I still really like Linux and the many benefits of running it, but Ubuntu just isn't a good choice for me.


The start of distrohopping

I understand that many issues I had may be specific to my hardware, so it's worth mentioning what hardware I have.

Dell XPS 15 (9550)

This is my only PC: a Dell XPS 15 (9550) laptop with

  • Intel Core i5-6300HQ
  • NVIDIA GTX 960M 2GB (Optimus)
  • 8GB RAM
  • 4K touchscreen
  • Broadcomm WiFi card (supported by the kernel)
  • The infamous "nose cam" (LOL)

Based on what I have, here's What I want in a Linux distribution

  • Stable
  • Proper support for NVIDIA Optimus
  • Native HiDPI support
  • Comes with recent software and kernel

I started using Windows 10 as my daily driver again, but I was distrohopping at the same time to find the perfect distro for me.


What I tried

Fedora 28 and 29: High expectations, low appreciation

Pros

  • Painless installation process
  • Comes with bleeding edge software
  • Stable
  • DNF isn't my favorite, but it works fine

Cons

  • Comes with vanilla GNOME, which is resource heavy and somewhat unintuitive.
  • Not really easy to install non-free codecs
  • Difficult to install NVIDIA proprietary drivers
  • No support for Optimus

Debian 10 Buster (Testing): A management nightmare

Pros

  • Comes with somewhat recent software
  • Many supported desktop environments, including resource-efficient and HiDPI-friendly ones like Cinnamon and MATE. I used Cinnamon.
  • Very stable
  • Not difficult to install non-free software and drivers, including NVIDIA drivers

Cons

  • Not easy to dual boot
  • System broken after setting up NVIDIA Optimus

Antergos: From satisfaction to epic failure

Antergos is no longer maintained.

Pros

  • Nice installer
  • Almost all desktop environments are supported. I used Cinnamon and MATE on Antergos.
  • Comes with bleeding edge software (since it's basically Arch Linux)
  • Proper NVIDIA Optimus support with optimus-manager

Cons

  • Not easy to set up optimus-manager
  • Frequent updates
  • An X.org update broke graphical interface

Enter Manjaro: my current distro of choice

4/16/2019 UPDATE: Many has pointed out that the latest versions of GNOME fixed many previous painpoints, such as poor performance and memory leakage. I decide to give it another chance, and I'm amazed by how much GNOME has changed, so I switched back to GNOME.

Here's my setup on Manjaro with GNOME 3.32:

My Manjaro Setup

As of April 2019, Manjaro has been by daily driver operating system for over a month. It's stable, comes with bleeding edge software, and one-click NVIDIA driver installation is awesome.

After my switch back to GNOME, idle memory usage has increased by 300MB to roughly 1.7GB, which is still higher than other desktop environments. However, GNOME is very responsive and customizable with extensions. Compared to Cinnamon, there are many more great features, such as global search, iBus integration, and GSConnect (interaction with Android phones), all of which I appreciate.

Manjaro is not for everyone, though. Manjaro packages update frequently, and you need to keep an eye on what's being updated and be ready to solve issues with the help of the Manjaro Forum, which requires some experience.

Disclaimer: this is not a recommendation of Manjaro. I cannot guarantee that it will work well on your hardware or that it suits your needs. It's just a great distro for me.


Final words: Should you #SwitchToLinux

Yes, but don't ditch Windows if you're not absolutely ready. Switching to Linux does not mean ditching Windows. If there are Windows applications that you must use, feel free to keep Windows around.

Free Software

Linux is all about freedom. It's powered by free (as in freedom) software, and you have the freedom to customize it to your desire. Linux is also a very capable operating system for almost everything.

Linux is not difficult. You don't need to know how to use the Terminal to use most modern Linux distros. In fact, many distros come with beginner-friendly and elegant interface.

Linux Mint and Elementary OS

If you have little or no experience with Linux, start with a beginner-friendly distro, such as Linux Mint and Elementary OS. These distros have graphical interface that guides you through the entire setup process. There are also many free, online resources available to help you. Just remember, Google (or DuckDuckGo/Startpage for the privacy-minded) is your friend.

If you run into issues and need help, many online communities, such as the Ubuntu Forum, Manjaro Forum, Ask Ubuntu, and r/linux4noobs, are friendly and willing to help you out.


CC BY-SA 4.0

This article is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.