Setting up my Linux PC
Lesson for Mac users getting a new PC
I have been a Mac user for more than 30 years but as I prepare for my retirement, I decided to invest in a PC for gaming and Linux software testing and evaluation. Here are some lessons learned after successfully setting up a dual-boot dual-drive PC with Windows 11 and Linux.
Buying a Windows PC is similar to buying a Mac. You choose the specifications and the machine will be delivered to you properly configured. But if you want to use Linux with your Windows, you are on your own. You might pay someone to customize the environment for you, but if you are a little tech-savvy, you can save this cost and build your own Linux environment on a Windows PC. I initially approached a custom PC reseller for my requirements and was told that they could not do it. Hence, I went on this path to set up myself; I bought a Windows PC and then add the Linux environment.
First, what kind of PC do you need? There are tons of choices available and depending on your requirements, you are going to have an interesting time choosing. For me, I have decided that my PC will be used to play games and let me evaluate and test software, especially open-source software in Linux environments. So my key requirements are running both Windows and Linux, GPU (for gaming), multiple CPU cores to set up many virtual machines (as many cores as possible), and high memory to run many virtual machines (as many GB as possible). But I also wanted a small chassis to place the PC on my desk (together with my other computers). And this is how it looks:
You can find more information about how I chose my PC here.
Second, you need to formulate your account strategy. On the Mac, we have a single iCloud account for everything, for iPhone, iPad, MacBook, and Mac machines. I do not suggest that you use the same iCloud account for your PC. I use a Google account instead and designate my iCloud account for personal use and the Google account for gaming and software evaluation. If you are going to set up virtual machines to run and test software, you will also need a naming and password strategy. Otherwise, when you set up many virtual machines, you either have a compromised situation where all passwords are the same or you need perfect memory to remember all the host names, account names, and passwords.
Third, you need to decide on the Linux distribution (distros) to use. There are many distros to choose from and there are many opinions on which is the best. I have evaluated a few distros: Ubuntu 24.04 LTS, Ubuntu 22.04.4 LTS, Linux Mint 22, Arch Linux, CentOS Stream, and Zorin OS. My opinion is Linux distros for desktops are not able to meet my desktop needs. Many popular attached hardware like speakers, mice, and keyboards do not have Linux versions of software. Many of these devices still work in Linux but you would still need security patches and firmware updates. Although there are open-source equivalents for some of them, I would still prefer vendor-provided software for my monitor, keyboard, mouse, speaker, webcam, and controller. I did my evaluation via the use of VMware Workstation running on my PC Windows environment and after much testing, I chose Zorin OS 17.1 for my PC. I think Zorin OS Pro is a great choice. With this paid version of Linux, you not only have premium layouts, but you also have bundled access to professional-grade creative software. More information on this release is available here. I especially love the “Jelly” appearance effect in the windowing system. You can see a short YouTube video here. There are also desktop themes that mimic the Mac look and feel, which just make me more comfortable.
Next, you need to decide on your storage layout. Modern PC games consume a lot of storage. And if you install many different Linux software for evaluation, you will need a lot of storage in Linux as well. And so I decided to have two separate SSD drives and configure them to support dual boot from the Linux drive. This is because Windows is usually not friendly with sharing the PC with Linux distros, and you can find the latest saga here which I also encountered recently. Technically you could have one large drive and create partitions for multi-boot options. But I prefer to keep the environments separate in case one corrupts the other.
Here is the article I referenced to build the Linux environment on my PC. It is important to have a backup of your Windows environment before doing any installation. Here is the article I referred to do my PC backup. I chose this method as it allows me to recover from a badly screwed-up disk and no dependence on Microsoft backup services. The backup process takes quite a long time, so be prepared to wait.
After my Linux environment is set up and has been used for a while, here are my opinions on some of the good and bad stuff with Linux.
First, Linux is free, or almost free (if you choose to pay for support and patches). For the functionalities you can get as a desktop operating environment, free is good. Furthermore, it works well with older hardware. For folks who are retiring and want to reduce spending, using Linux for computing is very cost-effective.
Second, Linux is very popular. It is open-source software and many cloud services are based on open-source and Linux. Knowing Linux will help you with familiarity with command line tools, packaging tools, and general Linux operations. This also means that many software are available to run on Linux. In the past, Windows was the king of software platforms, especially in the commercial or enterprise space. But now with the popularity of cloud services, many software are available on Linux platforms as well (not just Windows and other UNIX).
Third, Linux is hardware platform independent. This means that Linux can continue to be available as new hardware platforms appear. Today we are seeing Apple Mac hardware doing very well with the ARM hardware platform. Microsoft just re-released Surface laptops with ARM (together with other hardware manufacturers), and we are seeing distros ported to support ARM and RISC-V. This would mean your investment in Linux skills can stand the test of time.
However, there are also some issues with Linux. The latest features are usually not available with Linux. Certain basic features that you expect may not be available. For example, I expect to be able to make my Linux environment sleep (suspend, not hibernate) and it cannot wake up normally (black screen appeared when woken, and all fonts disappeared). This problem has been observed with some Linux many years ago and still has not been fixed. I don't have the time or interest to try to solve the problem myself. I just expect something like this to be working as many Windows and Mac computers don't have such a problem. My solution is not to suspend my Linux PC and shut it down for a prolonged break.
Linux is sometimes not friendly to users, especially those from Mac and Windows backgrounds. There are a lot of text-based configuration files to meddle with and most administration is done with command line tools.
Also in Linux, sometimes there are multiple ways to do the same thing. Just look at the packaging tool war. There are so many package management tools: RPM packages (.rpm), Debian packages (.deb), TAR archives (.tar), TGZ archives (.tgz), and GZip Archives (.gz). And then there are the application installation tools and formats: snap, flatpak, apt, yum, and AppImage. Choosing a distro might help you avoid the problem of choosing the packaging tools.
That’s all for now. I’ll be doing more work on my Linux PC as I set up virtual machines and experiment with open-source software like Kubernetes and others. Hope you have enjoyed reading this article.