New Workstation

Posted: Jan 6, 2024

Tags: linux hardware wayland archlinux

After a long absence (circa 2006) from using Linux as my daily computing environment, I decided to build a new Linux workstation. I’m extremely happy with how it turned out, so I’m writing this post with some details about the hardware and software I selected and why. The short version is that everything works, including suspend to RAM, GPU drivers, sound, hardware sensors (temperature, fan speed, etc.) and all with no weird patches and only one or two custom settings. Performance is pretty good, as well. In the past I’ve never paid much attention to aesthetics, beyond picking a case I like. On this build, basing it on desktop-class AMD components and a water-cooling setup, I knew I’d end up with a bunch of RGB lighting, which I figured I would turn off. Torwards the end of the build, I decided to embrace my inner bling and leave the lights on, although I did set them all to a single color and turned the brightness down a bit.

Table of Contents

Build Notes

CPU & RAM

My main goals for this build were to get a reasonably high number of fast cores (at least 16) with lots of fast RAM. I looked at the Threadripper lineup, but I couldn’t quite justify the price point for what I needed. The two main options I considered were the AMD Ryzen 7950X and Intel Core i9-13900K. I settled on the Ryzen because:

Both processors support DDR5 RAM and PCI Express 5.0, which were also requirements for this build.

SSD

Not much to say here: I picked the fastest NVMe drive made by a company I had heard of and that was in stock, and ended up with a 2 TB Corsair MP700. Overall, I’m happy with it: performance has been good and I haven’t had any driver or reliability problems.

GPU

I only seriously considered AMD GPUs, due to Nvidia’s poor reputation for Linux driver support. Having CUDA support would have been nice, but AMD has made some strides in bringing ROCm to at least their high-end consumer GPUs. Overall, I’m happy with the Radeon RX 7900 XTX. glmark2 performance is good, and my day-to-day experience has been as well.

GLmark2 2023.01:
    pts/glmark2-1.4.0 [Resolution: 2560 x 1440]
    Test 1 of 1
    Estimated Trial Run Count:    1
    Estimated Time To Completion: 6 Minutes [19:17 UTC]
        Started Run 1 @ 19:11:35

    Resolution: 2560 x 1440:
        26738

    Average: 26738 Score

    Comparison of 96 OpenBenchmarking.org samples since 17 March 2023; median result: 3715 Score. Box plot of samples:
    [ |--############!######################*######*#---------------*-----*-----*--------|                                   *]
                                                                                                          This Result: 26738 ^
                     AMD Radeon RX 56: 8902 ^  XFX AMD Radeon RX 6950 XT: 16776 ^
                                         XFX AMD Radeon RX 6800 XT: 15456 ^
                                          AMD Radeon RX 6800: 14249 ^
                      AMD Radeon RX 6800 XT: 10485 ^

The Case and Power Supply

Since the case sits on my desk, I wanted something that looks good, is easy to work on, and has good airflow – the Fractal Design North case was the best option I could find. Overall, I think it is a great case, especially for an air-cooled build. The case is beautiful, and, overall the build quality is very high. I did find the holes that were punched in the side covers for the thumbscrews were too small, leading the thumbscrew threads to bite into the covers and gall, so I drilled those out slightly. Cable management in the case is excellent – there is plenty of room in the power supply tunnel for PS cables, and there is a void behind the motherboard tray for additional cable management/routing. That gets a little tight, but everything fit nicely. The wood front panel comes off, giving easy access to the front fans.

The power supply is a Corsair RM850e. I picked it because I’ve had good luck over the years with Corsair power supplies and had good efficiency, being rated 80 Gold Plus.

Water Cooling

While it is completely unnecessary, I wanted to do a water-cooled build. I had never done one before and wanted to try it out, and see for myself if I could get a quieter PC with good thermal management properties. I used EKWB Quantum components for the cooling loop.

The North case really isn’t designed for a custom water cooled loop with a large radiator (nor does Fractal market it for such purposes,) and I had to make a few modifications to get everything to work:

After living with the water cooling setup for a few months now, I’m happy with it, but not happy enough to spend another $800 the next time I build a computer. The gains just aren’t enough to warrant the cost. Air cooling has gotten really, really, good, even on high-TDP components like the ones I’m running. Maybe if I was overclocking everything it would be worth it, but I’m not.

LEDs

My original plan was to turn all the LEDs off. But, while fiddling with the case, I decided I wanted bigger thumbscrews, and the ones I found that could be shipped quickly were anodized purple. So, I decided to turn all of the LEDs the same purple with OpenRGB. I also bought some purple power cables to complete the look. In for a penny, in for a pound, and all.

Operating System

The very first Linux distribution I ever used was Slackware 2.3, back in the mid 90s. For this build, I decided to give Arch Linux a try, and I have to say, compared to Ubuntu, Arch feels like an old friend. The package management system is minimalist, but very functional, and I like have a ports-like community system (AUR) to draw from.

In my absence from the Linux desktop, I largely missed out on a few major controveries: Systemd and Wayland. In 2023, I didn’t find either of them onerous to use, although I think the Systemd journal is a little wonky compared to regular old text log files. My Wayland perspective is probably shaped by the fact I’m using an AMD GPU (I understand Nvidia Wayland stability is not quite there yet) and Sway, which seems to be a very stable Wayland compositor. I played around with Plasma for a few days, and it seems to work pretty well, too.

I was more worried about having to chase a bunch of random hardware issues, stuff like power management and sound that might work like 95% of the time, but thankfully, I haven’t had to deal with much of that. Everything, and I mean everything, works, including:

I don’t have a swap partition – I don’t see the need with 64GB of RAM, and frankly don’t want to waste SSD write cycles on it, so I haven’t tested and don’t have an opinion of how well hibernate would work with this setup.

Workarounds

The two tweaks I had to make were:

GRUB_CMDLINE_LINUX_DEFAULT="usbcore.autosuspend=-1 quiet"
options nct6683 force=1

That’s it. Those are the only hardware-related issues I’ve run into.

Desktop

I wanted a very focused desktop without any distractions, so I decided to give Sway a try, and it has worked out very well for my needs. My main stack is:

There are two things I wanted that this stack didn’t accommodate, at least to my needs: screen savers and suspend to sleep. It doesn’t support screensavers at all, and I wanted suspend to sleep to monitor both Wayland idle time and terminal idle time, so if I’m ssh’d in, the Wayland idle timer doesn’t put my machine to sleep. Towards that end, I wrote idlewatcher that monitors both Wayland and all logged-in terminals to calculate an idle time and manage sleep. I haven’t worked on the screensaver problem yet.

Bill of Materials

ComponentPart #Price1Source
CaseFractal Design North ATX Case$139.97Newegg
Power SupplyCorsair RM850e ATX Power Supply$119.99Newegg
MotherboardASRock X670E Steel Legend$279.99Newegg
CPUAMD Ryzen 7950X$598.99Newegg
RAMG.SKILL Trident DDR5-6000 64GB Kit$209.99Newegg
SSDCorsair MP700 PCI-Express 5.0x4 NVMe SSD$259.99Newegg
GPUASUS TUF Radeon RX 7900 XTX 24GB GPU$1,079.99Newegg
Thermal CompoundCorsair XTM50 5g$14.99Newegg
Water CoolingEK Quantum Power^2 P360 Kit for AM5$636.62EKWB
Water CoolingEK Quantum Power^2 GPU Water Block$257.99EKWB
Water CoolingEK Quantum Torque Compression Fittings (qty 2)$13.74EKWB
Water CoolingEK Quantum Drain Valve$21.49EKWB
Water CoolingEK Quantum Torque Extender - 7mm$5.15EKWB
Case HardwarePurple Anodized Thumb Screws$15.98Amazon
PSU Extension CordsAsiaHorse ATX Extension Cords (purple) qty 2$42.22Amazon
GPU StandoffTelescoping GPU Standoff$9.99Amazon
$3,707.08Grand Total

This certainly was not intended to be a budget build, but I’ll point out a few things you could change to get a great workstation with the same daily-driver-Linux-compatibility benefits for a significantly lower cost:

With those two simple changes, this is a $2,150 workstation build.

I already had a keyboard, mouse, and monitor to use, but of course you’d need those if you didn’t already have/want to reuse those components. The rest of the setup looks like this:

ComponentPart #Price*Source
MonitorLG 34WN80C-B 34" Widescreen monitor$599.00Amazon
KeyboardErgodox Moonlander$365.00ZSA
MouseRazer Basilisk v3 (wired)$58.99Newegg

  1. As of January 2024 ↩︎

Name: This will be displayed with your post
Email: This isn't visible to or shared with anyone except me (the site owner)
Comment: