Building a new Killer Box for Linux (?) development - Part 1
The first Killer box for Linux development is now already six years old. It has by and large been a success. It indeed facilitated my migration from OS X to Linux and it is now my main machine on which I write code.
It is still serving me well, but looking at the latest Geekbench 5 benchmarks of machines in the same price range of around €5000, I noticed, that I should be able to get more than two times faster build times now. And two times faster build times, that’s where I know: It’s time to buy a new work horse.
Review of the old Box
What has been good and not so good about the old box ?
|CPU||2x Xeon E5 2660 V3|
|Cooler||2x Enermax ETS-T40 Cooler|
|RAM||32GB Samsung DDR4-2133 M393A1G40DB0-CPB|
|32GB Kingston DDR4-2133 9965604-026.D00G|
|GFX||GeForce GTX 970|
|SSD||2xSamsung XP941 Series SSD, PCIe M.2 Typ 2280|
|and some other Samsung ATA SSDs|
|Power||Be Quiet Dark Power 650 W|
|Case||Phanteks Enthoo Pro|
Mainboard / CPUs / RAM / Coolers
Initially I didn’t know, that a dual board is like a siamese twin. Each CPU has its own BIOS, so you see a BIOS menu twice during boot. And each CPU has its own RAM, that isn’t shared with the other CPU. In a single-CPU configuration I could very well have lived with the 32GB I bought initially .
But a llvm build taught me, that each CPU only has access to 16GB.
That was not enough to link
clang with debug symbols and without swapping.
So I had to double the size of memory.
Everything is stable. I can’t remember ever having something like a kernel panic in the last years. The hardware is super solid. My Mac Mini at work is comparably flakey, with a few kernel panics per year.
While the machine makes a little bit of fan noise, the only time I notice it, is when writing an article about the machine and I wonder, if there is fan noise. But I am not overly sensitive, if the noise is quiet enough I just overhear it.
Hardware / OS problems
With Windows the system boots up fine and does so relatively speedily. That is after the BIOS is through. The dual BIOS boot process is fairly slow (˜15s ?). Sleep works, reboot works, everything just works like you’d like it.
The Linux boot though is really slow. I never figured out why. It may have something to do with the SuperMicro board. I feel that it has gotten better, with the last kernel releases. But I haven’t timed it.
Sleep in Linux doesn’t work. Also a reboot cycle in Linux is painfully slow (think minutes). These are all problems I tried to fix, but where I gave up after some reasonable effort. Again none of these problems appear with Windows, so I don’t blame the hardware.
The boot SATA SSD (Samsung 850 Pro 128GB) is the only SSD I’ve had so far, which actually went bad. That was kinda tricky to diagnose and I had a few days of downtime. The M.2 SSDs showed no problems.
While the M.2 SSD benchmarks well, I really didn’t notice much benefits in build times over the regular SATA SSDs. If M.2s were much more expensive, I’d buy SATA, no problem.
Graphics cards are the Achilles heel of Linux Desktop. I started out with a AMD Radeon card, but that turned out to be unusable for Linux. So I bought an NVIDIA card. The GeForce 970X and the proprietary (close-source) drivers give me no trouble. Everything is looking fine and running smooth on the desktop, once I am up and running.
Sadly six (!) years later nothing seems to have changed in Linuxland and the AMD drivers and the open drivers are still unusable.
This is actually a big deal for me. When I upgraded to Ubuntu 21.4, I found out that Wayland, which is going to replace X11, doesn’t work with the proprietary Nvidia driver. You have to use the open “Nouveau” driver.
I have been waiting six years for Wayland. But I can’t use it. It’s six years later and the open driver still locks up my system! What does this say about future progress, if the driver is still in this state?
So Linux Desktop is going in the Wayland direction. Nvidia propietary drivers aren’t supported by Wayland and I am not so sure, that Nvidia cares deeply about Linux. “Nouveau” and AMD aren’t working. That’s a cul de sac, if you ask me.
Which means, that I very well might have to leave the platform again to… Windows ?
I have my main monitor connected via Display Port and the secondary monitor via DVI. When I boot into Windows, it works every time.
On Linux though, there is a 50:50 chance, that my main monitor is not detected. The only fix is to reboot, then the main monitor is always detected. I then never have to reboot a second time. Maddeningly the reboot is super slow (s.a.) This is main pain point of the whole setup.
Case / Power
I gave Be Quiet a bad rap in the original article, but this particular PSU has performed well and continues to do so. No complaints. The case still looks good. I rarely have reason to open the machine, except for adding a SSD or so.
The old box was and still is a great system for Windows. It is a good system for Linux, though hopefully the next one will be better. I have high hopes for improved boot times and getting proper sleep support would be nice as well.
To compare the current system in terms of build performance, the old box seems to be about equivalent to a AMD Ryzen 7 5800X with 8 Cores and 3.8 Ghz or twice as fast as a M1 Macbook.
So I need something beefier than that, otherwise I could just stay with what I have.
Continue to Part 2