I have a love-hate relationship with Linux. Ten years ago, it was my operating system of choice, but in the years since, I've almost exclusively used MacOS, and when I can't avoid it, Windows. But after all this time, is Linux worth a second look? That's what I aimed to find out this week.
Back in 2010, I kicked my aging copy of Windows Vista to the curb and went all in on Linux, or more specifically, Ubuntu 10.04 Lucid Lynx. I'd been using various Linux operating systems for years, but Ubuntu 10.04 was the first release that I felt comfortable using as my daily driver.
For those that don't know, Linux is a broad category of open source, unix-like operating systems. Linux is the dominant operating system for most data center and cloud deployments today, but remains relatively obscure when it comes to the consumer market.
I continued to run Linux exclusively until 2012 when I was handed a 2011 MacBook Pro on lease from my university, and I made the switch to MacOS. However, to say I haven't looked back wouldn't exactly be accurate. I've been running Linux in various forms since then, but almost always on a headless server or in VMs in the cloud.
That changed when I picked up a Raspberry Pi 4 on a whim last fall. Rasbian, or Raspberry Pi OS as it's now known, is a fine if bare bones implementation of Debian. Ubuntu 20.10 offers a much more polished desktop environment, but with just 4 GBs of RAM and no high-speed storage, that's asking an awful lot from the Pi.
While it is certainly possible to run desktop linux on a Pi, it wouldn't be my first choice. And after much experimentation, I decided to install Ubuntu 20.04 server edition and turned my Pi 4 into a Plex media server.
Undeterred and perhaps just a little nostalgic to relive my Linux days, I started researching decommissioned corporate desktop PCs on the recommendation of Patrick from Serve the Home.
These 1-liter PCs are roughly the size of a Mac Mini and can usually be had on eBay for between $200 and $400 depending on the configuration.
Initially my plan was to buy one of these small form factor PCs for a home server project and build or buy a gaming PC to run Windows and Linux. But, as you probably already know, high demand coupled with a semiconductor shortage has made this prohibitively expensive.
So, I figured one of these corporate desktop PCs could pull double duty until GPU pricing falls below the stratosphere. I won't be playing any AAA games at high settings, but its more than enough to play older, multiplayer titles.
I ended up grabbing an HP EliteDesk 800 G3 with 8 GBs of RAM, a 256 GB M.2 SSD, and a 6th-generation Intel i5 clocked at 2.5 GHz for $200. After confirming the computer was in good working condition, I ordered a second 8GB SODIMM and installed a 1 TB WD Green SSD in the empty 2.5-inch drive bay.
If I were to do one thing different, I might have opted for a WD Blue over the DRAM-less WD Green. For $10-$25 extra, the Blue offers far better performance.
- Intel Core i5 6500T 4C/4T
- 256 GB Samsung M.2 SSD
- 1 TB WD Green Sata SSD
- 16 GBs of ADATA 2400MHz DDR4 Memory running at 2166 MHz.
- Windows 10 Pro
This I have connected to a 28-inch Samsung 4K monitor.
Up and running
The PC came preinstalled with a fresh copy of Windows 10 Pro on the the M.2, which I promptly wiped and reinstalled for good measure.
When it came to choosing a Linux distribution to install, that was a little more challenging. I ultimately settled on Pop!_OS, an Ubuntu-based distro from the folks over at System76. I could have gone with plain old Ubuntu, but I've never been a fan of their desktop interface vastly prefering Gnome, more on that later.
I briefly debated installing Fedora or Manjaro, but it's been much longer since I've messed with Arch or RHEL, and figured I'd stick to what I know.
Getting Pop!_OS installed was just as easy as I remembered. Download the ISO, flash it to a USB stick using BalenaEtcher, and boot into the installer.
I created three new partitions — boot, swap, and root — on the SATA SSD and clicked install. After about five minutes, it rebooted and prompted me to create an admin account. So far so good.
Getting reacquainted with Pop!_OS
Like many Linux distros, Pop!_OS ships with the Gnome desktop environment.
While somewhat reminiscent of MacOS at first glance, Gnome offers a rather unique user experience. From the desktop, you'll find just a solitary menu bar containing the "Activities" launcher and app menus on the left; the clock, time and notifications drop down in the center; and your volume, display brightness and session controls on the right.
Head into the Activities launcher and you'll find something akin to Mission Control in MacOS or Task View in Windows 10. Activities is essentially your home base for managing open applications, creating virtual desktops and launching applications.
Activities also features a search function which can be used to quickly surface applications or documents.
Gnome does take some getting used to, but once you do, it's actually a pretty slick desktop environment that has come a long way since I last used it regularly in 2012. It's no wonder that System76 went with it over the more Windows-esque KDE environment.
It's never that simple
Unfortunately, before I could start using Pop!_OS, I needed to fix a couple of problems. In my experience, desktop Linux rarely just works. There is usually something broken, and this time was no different.
Out of the gate, everything seemed to be running fine until I moved a window and the screen was filled with graphical glitches. Sorry, I didn't grab a screenshot of these. It turned out that Pop!_OS wasn't playing nice with the Intel HD 530 graphics in my system. It was time to investigate.
It didn't take long before I'd discovered a solution. One of the nice things about Linux is the community. It's pretty rare to run into a problem that hasn't already been solved by someone else.
I needed to manually create a configuration file for the integrated graphics. The good news is this is pretty simple. I just hopped into the terminal, navigated to the appropriate folder, created a new file, pasted in the recommended configuration and hit save. After rebooting the glitches were gone. Hooray!
How I fixed the graphics glitches in Pop!_OS
If you're running into a similar problem in Pop!_OS, here's what I did.
Open the terminal and enter the following commands. You can ignore anything after the # symbol, these are just comments explaining what the command is doing.
sudo mkdir -p /etc/X11/xorg.conf.d #This creates a new folder cd /etc/X11/xorg.conf.d/ #change the directory to the new folder sudo gedit 20-intel.conf #open a new config file in gedit
A text editor will open and you'll want to paste the following:
Section "Device" Identifier "Intel Graphics" Driver "intel" # Option "AccelMethod" "uxa" Option "TearFree" "true" # Option "TripleBuffer "true" EndSection
Once complete, hit save, and reboot your system.
While this was a simple fix, it illustrates one of my biggest complaints about Linux. Whether you want to or not, sooner or later you're going to have to learn to use the terminal.
A HiDPI headache
Another challenge I ran into briefly was with HiDPI scaling.
Despite Apple's best efforts to popularize HiDPI — AKA Retina —displays about a decade ago, it's taken a while for most Linux desktop environments to catch up.
For a long time, using Linux on a 4K monitor either meant living with unbearably small windows or fighting with the operating system to get it to scale gracefully.
This is one of the reasons I gravitated to Pop!_OS over Manjaro or Fedora. Pop!_OS uses a tweaked version of the Gnome desktop environment which has native support for fractional scaling.
That's not to say it's perfect. On top of a noticeable performance hit — probably on account of the rather anemic integrated graphics — I also had some trouble with screen tearing.
The aforementioned graphics driver tweak appears to have resolved the latter issue, but the performance degradation is still there. I suspect if you're using a system with newer or dedicated graphics, you likely won't run into this issue, but it's hard to say. Just search "fractional scaling Linux" in Google and you'll find no shortage of forum posts.
One of the things that I loved most about Linux was just how customizable it is. You can really tailor your desktop to work and look exactly the way you want it to.
Back in my early days, I used to spend hours tweaking my desktop to perfection. I even devised scripts to automate the process for when I inevitably broke something and had to reinstall.
So, with Pop!_OS working as intended, I decided to make a couple of tweaks. I started by installing a new theme and icon pack, which I'd found over on OMG Ubuntu.
I started with the Sweet GTK theme and icon pack, which you can download from Gnome-look.com. Since the Sweet icon pack only includes a handful of file system icons, I paired them with the Papirus-Dark icon pack.
Finally, I swapped the wallpaper for something a little less Pop-y, and installed the Dash to Dock Gnome extension, which adds the Activities dock to your desktop.
Here's the final result:
This of course isn't the end of the story. Over the next few weeks, I'll be putting Pop!_OS through its paces to see how far the Linux desktop has come in the past decade.
Here's a sneak peek of what I'll be looking at next:
- What does the software ecosystem look like on Linux today?
- Is Linux a viable option for photographers?
- And in conclusion, what I think it will take for Linux to see mainstream adoption on the desktop.
If you have suggestions for things you'd like me to test, or software that you think is particularly notable, please drop a comment in the section below.
If you liked this post, you might enjoy these too:
What do you think? Share your thoughts in the comments below:
- What is your experience with desktop Linux?
- Do you have a preferred distro?
- Is there any software or scenarios you'd like me to test?
- Would you like to see more posts like this one?