Linux Follow Up - A Serious Test

So in a follow-up to my recent post about using Linux again, I took advantage of the downtime over Christmas break to spend some time upgrading my primary laptop to Linux Mint 19.1. Sometimes you have to take the plunge to see if you can swim.

This post is a fairly technical overview of how I set up my system. If this sort of thing isn't that interesting to you, I'll be posting a comparison of modern Linux and Windows 10 that might be more interesting to less technically-minded people in the coming few days.

Setup: Attempt 1
To do this without ruining my life, I decided to start with a fresh drive in my Lenovo Carbon X1. I bought a 1TB stick of NVMe storage from Crucial.com and swapped it. This way, if I need to get back to my Windows setup, it's a matter of replacing the original disk and booting. No problem.

Installing most Linux distributions is pretty easy. You download an ISO and flash it to a USB stick. Then you boot the computer off that and it enters a "live" environment- basically, it's an entire installation of Linux that you can test with your hardware. This is where you will figure out if your particular computer has hardware that is not supported out of the box. If something, like a webcam for instance, doesn't work in the live environment, it doesn't necessarily mean you can't get it working, but you'll have to do some post-install troubleshooting. Mostly, you google your particular hardware and the word "linux" and you'll find people who have solved the problem.

Once you're satisfied you want to install Linux, you run the Install Linux program on the desktop of the live environment. This will walk you through a couple of steps like picking your timezone, entering a user account, and other basics. A very important part of this process is choosing how to partition your disk. Here's where I encountered my first problem.

I chose the option to let the Linux Mint installer erase the entire disk and choose the partitions for me. I also let it encrypt the home directory. I figured, this is a fresh, empty disk and I'd let the installer make the decisions. This was a mistake. By default, Mint creates one huge partition for both the system and the home directory, with a tiny vfat partition for the swap. The installation went without a hitch, but once I booted Mint, I had a lot of stuttering and performance issues. I couldn't tell exactly whether it was the partition layout or the full disk encryption, but I decided to start over before I had spent too much time troubleshooting.

Setup: Attempt 2
So I booted from the USB stick again, walked through the installer, and erased the partitions Mint had created the first time. Now, I set up a traditional Linux partition scheme, with the classic /, /home, swap and boot partitions. I also decided against encrypting the home partition. Doing this produced a significant performance improvement, and in fact it's been rock solid from that perspective.

The installation took about 12 minutes to complete each time, so if you make a mistake it's not a big commitment to start over.

Configuring Things, Making Choices
Linux Mint starts up a Welcome program the first time you log in. This program is actually very useful, and it allows you to do some preliminary customization. I highly recommend that you go through every screen here.
Welcome Screen


Modern Linux has a ton of ways to customize the look and feel. In Mint, there's a Themes app where you can change how the icons look, the color scheme, and a bunch of other things. Then there are also "applets", which are handy little widgets that provide additional features. For example, there's a wallpaper-switcher applet called Variety that pulls nature and geometric wallpapers from the internet. Or if you want a little control on the taskbar to switch quickly between workspaces (desktops), that's in there too.

My goal with this build was to see if I could really use this computer full time. Since I use it for work, I have some particular requirements, including the ability to run Windows programs and connect to my office. For this, I simply installed VirtualBox and got a Windows 10 virtual machine (which I already had handy for development and testing) booted up. No problem!
You got your chocolate in my peanut butter!


Installing software for Linux is pretty easy, but you may have to use different software than you do on Windows or MacOS. You'll be able to run most browsers, such as Firefox and Chrome. I happen to use Opera, which is based on Chrome, and this is available for Linux. For email, I use Evolution, which is very full featured but can take some time to customize to work just the way you like. Slack, Skype and Dropbox are all available.
Software Manager


The programs most people have problems with are replacements for Microsoft Office, and Adobe's Creative Suite software. In my case, I can run all of these on my Windows virtual machine. But if you don't have a Windows VM, you'll have to get familiar with programs like LibreOffice and GiMP.

Performance & Stability
My system has been working almost perfectly. Aside from a bug that crashed the desktop shell (listed below), things have been running well.
Normal usage

My Windows 10 VM is allocated 4GB of RAM and 2 CPU cores. so about half of the resources shown in the picture here are to run that single application. Otherwise, I'm running web apps, listening to streaming music from Google Play, and managing email in Evolution, with a few background services like Dropbox. That's pretty good, I think. If I didn't have 16GB of RAM in this laptop, I would have to cut down on the amount I give to Windows, which would affect things.

The laptop boots from cold in about 10 seconds, and wakes from sleep instantly, which is normal for a modern computer running fast storage. Playing a 1080p video from Youtube pegs the CPUs at about 50%, with all this other stuff running.

All of my hardware worked out of the box. The nicest surprise was to see that USB-C Thunderbolt support is very robust in Linux. I have a Thunderbolt monitor that not only works perfectly as a secondary display, but it also a) charges the laptop, and b) provides additional USB ports. I have a webcam running into the monitor, for example, which works on my system passed through the Thunderbolt cable. Nice!

Minor Complaints
There have been a couple of minor issues I've run into.

First, I decided to try using Linux Mint's "modern" taskbar. This provides grouping windows by application and a slightly larger panel size. I ran into difficulties using this, because I would get phantom windows on different workspaces. Meaning, if I opened a program in one workspace and then closed it, the window button would appear on the taskbar of some other workspace, and attempting to close these would crash Cinnamon. I switched back to the traditional panel and I've had no problems.
Modern desk layout gave me trouble
Second, I discovered that the old Logitech wireless mouse I am using isn't supported in Linux beyond the basics. This mouse has multiple additional buttons that I would like to use (such as a Forward and Back) but because Logitech doesn't provide a driver, I can't map them to something useful. It works fine for the normal functions, but the lack of support is a bummer.
Boo, Logitech! Boo!
Conclusion
I've been using my Lenovo Carbon X1 with Linux Mint 19.1 for about a week, including for work. So far, it's been a success. I would say that I probably couldn't switch to this platform full time if my machine wasn't beefy enough to run Windows in a virtual machine with adequate performance, since so much of my job requires Windows-only software. As it is, I've been pretty happy with my experience and will continue testing it.


Comments

Popular posts from this blog

Good News! I Have a Brain

Something about The Carpenters

The Fat Man - A Story