New system

After years using an Apple Laptop as my main work machine I started to grow annoyed by the frequent power up of the ventilation inside the laptop. I also noticed some bugs within the OS that would trigger impromptu restarts, network issues that would require me to restart the system to get things back to order. And lately, with the additional integration of iCloud within the system, while very practical, it got me to wonder how much I wanted to be tied up with Apple software.

Most of my work is Ruby based for one side, and the other is all Linux already with containers and remote sessions. So after looking at the pricing of decent hardware I decided to look for parts compatible with GNU/Linux and what I would do with it.

I do have use cases where I have to use Apple stuff, but that's not what I do the most. So for most of my work I could go with Linux happily. It would also give me more need to work out details to do some things like backups and secure storage properly. It also pushed me to look into setting up private git repositories hosting.

Figuring out the options

I already have a host that is fairly recent under my desk. It's built last year but I did not really looked too much in the details when I did. I needed a way to replace an aging host that had several memory modules dead. This host's role is to serve data out of a couple of drives. For that host I went with an AMD APU, 16GB or RAM and an M.2 drive. Both AMD APU and the M.2 drive were discoveries for me, good stuff. The install went pretty straightforward and I didn't think much of it. I only needed SSH, docker, and LVM.

Then, I had a look at which Linux distribution I could use. I usually go with Debian or Ubuntu based ones, so this time I wanted to check if there was anything good with Arch as it seems popular. To my delight I found Manjaro Linux and its handful of desktop versions including Gnome and XCFE ones. The install iso can be easily turned into a live usb stick to test it out. I wanted to be sure I could : use my Schiit DAC and a recently purchased Magic Trackpad 2. Well, surprise : both worked out of the box. Big surprise.

As for the hardware I wanted to have 32GB of RAM, at least 6 cores and a good GPU. Friends told me the AMD GPUs are pretty well supported so I looked that way.

As for the form factor of the case : I thought a bit about it and tried to look for nice looking small ones, under 15 liters. They do look great but they are mostly difficult to find, especially in those times of confinements. I toyed with the idea of waiting a bit and so on. At some point I did decide to get a more regular case because you get more for less money. Most mini itx cases in the 20 liters range are affordable, some are pretty well conceived with good ventilation and will let you put plenty of stuff in there.

The choice

Here are hardware specs :

  • NZXT H210 case : nice case with a practical take on cable management allowing to keep the main volume mostly free of cable thus improving airflow. It also has space for a water cooling radiator up to 240mm in length and several 120mm ventilators in other places of the case
  • Corsair ATX power brick : a semi modular one
  • Motherboard is ASROCK B450 GAMING-ITX : mostly because it has a thunderbolt 3 / usb C port and supports 32GB of RAM
  • CPU is an AMD RYZEN 5 2600
  • GPU is a Radeon RX 570 8G
  • CPU cooler is a NZXT KRAKEN X52
  • a 250GB M.2 NVME drive is used for the OS
  • a small 1TB hard drive is used for additional storage

I could go for bigger but this already above the 1000 EUR mark and for what I do, it would be hard to see the limits of this hardware already. I mostly want a system that can go along for 3 to 5 years and then get refreshed.

I went with a water cooling kit mostly to test it out. I plan to replace it in 2 years or before if I see signs of trouble. The other host is using a fairly large Noctua air cooler and it works like a charm, keeping everything cool without issues.

The fun

Handling all the parts and assembling them is always very fun. As usual plugging the little cables here and there on the motherboard can turn into a game of patience and endurance. Keeping cables out of the way to keep the case looking neat is another challenge. Finally, setting the CPU cooler is always a bit worrying as you never know if you have left too much slack or tied the screws too much.

Linux starts

The next challenge is to get the system to boot and install Linux. Few surprises there again and I was quickly greeted with a fresh install of Manjaro GNOME Desktop.

Out of the box :

  • wifi works
  • GPU is recognised and works
  • suspend and hibernate work
  • front audio port works

After a bit of digging I got several pieces of software installed and tweaked to :

  • control the Kraken X52 colors (works well enough)
  • monitor the system (CPU, RAM, drives, temperatures)

The opinion

I am fairly happy with the results. The setup was easy, fast and I don't have to look too long for plenty of additional tools. I found a good alternative to Alfred (Albert) and it works nicely enough. I can script my way around just like with MacOS, but with the knowledge that if I need additional software it's usually just at my fingertips through a package or two. And this is actually helping me a whole lot to look further than my immediate needs. As software that I can use doesn't come with a price tag I feel a bit more free to venture out and make stuff.

Being back on a Linux system encourages me to use OpenSource tools rather than rely on the proprietary ones. On a Mac system the proprietary ones are usually the ones that are the most integrated in the system. On a Linux it's quite the opposite.

As I work mainly with Ruby, Python, containers and the web all that is working well with Linux out of the box.

I left Linux years ago because I wanted to use a laptop as my primary computer, to work from wherever I am. While the Mac laptop can totally do that I have found that I prefer to be quite stationary, working from home most of the time. So having a laptop for this isn't ideal.
Now I have discovered that Linux has matured well and all the features someone would want out of a desktop system are present and well handled. I can switch the system to sleep at night or during long breaks without wondering if the system will restart properly. I don't have to fiddle for hours to get the GPU to work properly (even games on steam work well) and my mouse and trackpad work ok out of the box. No issue with audio either.

So I will keep the laptop, as I will still move around a fair bit to meet my clients and work with people. I also do some audio recording on the go with hardware from MOTU and it's easier to use a laptop for this. I might go lighter though, and replace it with a MacBook Air at some point.

Some food for thoughts

I guess Linux has been a proper Desktop solution for a few years now. By the look of it there are few things one would miss on such a system nowadays.
I wonder how much refinements it still needs to get "regular" people to use it but it has everything everyone would need. The setup is pretty straightforward and so are the first steps to use it. Adding software is also simple enough. At least that's what I see on Manjaro but I know from experience that's the case with Ubuntu and it's probably the same with every other major Linux distros.

So, a big big applause and thanks to all the community involved. I went to walk on the dark side for some years and I am pretty astonished by the progress and evolution of Linux desktops. One just had to be a bit more patient.

Need help ?

We specialise in helping small and medium teams transform the way they build, manage and maintain their Internet based services.

With more than 10 years of experience in running Ruby based web and network applications, and 6 years running products servicing from 2000 to 100000 users daily we bring skills and insights to your teams.

Wether you have a small team looking for insights to quickly get into the right gear to support a massive usage growth, or a medium sized one trying to tackle growth pains between software engineers and infrastructure : we can help.

We are based in France, EU and especially happy to respond to customers from Denmark, Estonia, Finland, France, Italy, Netherlands, Norway, Spain, and Sweden.

We can provide training, general consulting on infrastructure and design, and software engineering remotely or in house depending on location and length of contract.

Contact us to talk about what we can do : sales@imfiny.com.