What I'd like in a hypothetical new desktop machine in 2024

February 7, 2024

My current work desktop and home desktop are getting somewhat long in the tooth, which has caused me to periodically think about what I'd want in new hardware for them. Sometimes I even look at potential hardware choices for such a replacement desktop (which can lead to grumbling). Today I want to write down my ideal broad specifications for such a new desktop, what I'd get if I could get it all in one spot for an affordable price.

In addition to all of the expected things (like onboard sound), I'd like:

  • 64 GB of RAM instead of my current 32 GB. It would be nice if it was ECC RAM in a system that genuinely supported it, and it would also be nice if it was fast, but those two attributes are often in opposition to each other.

    (Today I suspect this means choosing DDR5 over DDR4.)

  • Three motherboard M.2 NVMe drive slots. I'd like three because I currently have a mirrored pair of NVMe drives, and having a third slot would let me replace one of the live two without having to pull it outright. Two motherboard M.2 NVMe slots (both operating at PCIe x4) is probably my minimum these days, and I already have a PCIe M.2 NVMe card for the current work desktop.

    My work desktop has 500 GB NVMe drives currently and I'd like to get bigger ones. My home desktop is fine with its current drives.

  • At least four SATA ports and ideally more. My office desktop has two SSDs and a SATA DVD-RW drive (because we still sometimes use those), and I want to be able to run three SSDs at once while replacing one of the two SSDs. Six SATA ports would be better, so perhaps I should say I can live with four SATA ports but I'd like six.

    (My home desktop will also need three SATA ports on a routine basis with a fourth available for drive replacement, but that's for another entry.)

  • At least three 1G Ethernet ports for my work desktop. Since I don't think there are any reasonable desktop motherboards with this many Ethernet ports, this needs at least a dual-port PCIe card and perhaps a quad-port card, which I already have at work. It also needs a suitable PCIe slot to be free and usable given any other cards in the machine. My home desktop can get by with one port but I'd probably like to have two or three there too.

    (I wouldn't need that many but Linux's native virtualization works best if you give it its own network port.)

    Although various desktop motherboards have started offering speeds above 1G (although often not full 10G-T), our work wiring situation is such that there's no real prospect of taking advantage of that any time soon. But if a motherboard comes with '2.5G' or '5G' networking with a chipset that's decent and well supported by Linux, I wouldn't say no.

  • At least two DisplayPort and/or HDMI outputs that support at least 4K at 60 Hz, and I'd like more for future-proofing. I would prefer two DisplayPort outputs to a DisplayPort + HDMI pairing; this is readily available in GPU cards but not really in motherboards and integrated graphics. At work I currently have two 27" HiDPI displays and at home I currently have one; in both locations the biggest constraint on larger displays or more of them is physical space.

    (I'd love it if we were moving into a bright future of high resolution, high DPI, high refresh rate displays, but I don't think we are, so I don't really expect to want more than dual 4K at 60Hz for the next half decade or more. It's possible this is too pessimistic and there are viable 5K+ monitors that I might want at home in place of my current 27" 4K HiDPI display.)

  • Open source friendly graphics, which in practice excludes Nvidia GPUs (especially if I care about good Wayland support), and possibly the discrete Intel GPU cards (I'm not sure of their state). I think anything reasonably modern will support whatever OpenGL features Wayland needs or is likely to need. The easy way to get this might well be integrated graphics on a current generation CPU, assuming I can get the output ports that I want.

    On the other hand, the Intel ARC A380 seems to be okay on Linux (from some Internet searches), and while it has a fan it's alleged to be able to operate very quietly. It would give me the multiple DisplayPort outputs and high resolution, high refresh rate support.

  • A decent number of both USB-A and USB-C ports. I'd like a reasonable number of USB-A ports because I still have a lot of USB-A things and I'd like not to have a whole collection of USB-A hubs sitting around on my either my office or my home desk. But probably more hubs (or larger ones) is in my future.

I'd like it if the machine still supported old fashioned BIOS MBR booting and didn't require (U)EFI booting (I have my reasons), although UEFI booting is probably better on desktop motherboards than it used to be. The UEFI story for people who want booting from mirrored pairs of drives may be better on Fedora than it used to be, since Ubuntu 22.04 has some support for duplicate UEFI boot partitions.

(I'm absolutely not interested in trying to mirror the EFI System Partition behind the back of the UEFI BIOS.)

It would be nice to get a good CPU performance increase from my current desktops, but on the one hand I sort of assume that any decent desktop CPU today is going to be visibly better than something from more than five years ago, and on the other hand I'm not sure how noticeable the performance improvement is these days, and on the third hand I've been wrong before. If my current (five year old) desktops have reached the point where CPU performance mostly doesn't matter to me, then I'd probably prefer to get a midrange CPU with decent thermal performance and perhaps no funny slow 'efficiency' cores that can give you and Linux's kernel CPU scheduling various sorts of heartburn. On the other hand, my Firefox build times keep getting slower and slower, so I suspect that the world of software just assumes current CPUs and current good performance.

PS: I have no plans to do GPU computation on my desktops, for a variety of reasons including that I don't want to deal with Nvidia GPUs in my machines. If I need to do GPU stuff for work, our SLURM cluster has GPUs, and I don't have to care how much power they use, how noisy they are, and how much heat they put out because they're in the machine room (and I'm not).


Comments on this page:

By Andrew at 2024-02-08 01:32:54:

I think all of that is quite easy to come across except for the 3x M.2 (which does exist but it's not the most common because it means stealing PCIe lanes from somewhere else. And 6x SATA is getting less common than it used to be because of, well, M.2.

amdgpu has come along quite a bit in the past few years, due in part to Valve. My new laptop has a Radeon 780M integrated GPU, and it works rather smoothly.

By Miksa at 2024-02-08 04:48:02:

Those specs are probably achievable with higher end motherboards. 6 SATA ports is also quite common, although using NVMe often disables couple. Larger NVMes are also quite within reach with steadily falling prices, this week Crucial had a sale of 7.6TB U.3 NVMe for $350.

For the 2.5G networking, beware that Intels 2.5G integrated offerings have given bad experience for a lot of people, even Realtek seems to be preferable.

For graphics needs it is unfortunate that inexpensive passive cooled and slot powered cards from modern generation are hard to come buy, mainly because all GPUs are too expensive.

By Ian Z aka nobrowser at 2024-02-08 17:47:23:

Is OpenGL still even a thing? I'm reading about Vulkan everywhere. (I hate it because of the name. Hate. Hate !!)

By cks at 2024-02-09 10:31:45:

My impression is that Wayland is most often based on some version of OpenGL. I don't know how this interacts with Vulkan.

By Edward R at 2024-02-09 14:24:38:

In my view, some of those requirements are getting pretty esoteric. The combined number of PCIe and M.2 slots tends to total 7, at most. 6 SATA ports is doable, but may "steal" PCIe lanes from one of the slots unless it's a "workstation" board—ThreadRipper systems have a lot of lanes. If the third M.2 slot would only be needed rarely, for failure recovery or upgrades, I'd consider using an M.2-to-USB adapter and dealing with the less-than-optimal performance till the data's been cloned and it's convenient to power down for proper installation. And why not use USB for an optical drive? I'm seeing USB optical drives, and SATA drives in enclosures, somewhat regularly in Ottawa thrift stores for 5 to 10 dollars. More convenient anyway for sharing drives around the office, especially if any of you have laptops.

Modern ATX cases often don't have room for 4 full-size disk drives. You can probably find a way to use 5 or 6 SATA ports if you try, maybe 12 if you go for some "NAS" chassis like the DS380, but personally I'm using zero SATA ports in my newest system (after, like you, wanting a board with 6). Those external disks are what tend to be on sale here, and one of mine has a built-in hub. I've had zero bus-related problems, the performance is fine, and, again, it's just easier to deal with failures and upgrades. So I just never bothered shucking the drives; only my M.2 system drives are internal now.

I've never seen a board with 3 ethernet ports. But motherboards with 4 or 5 PCIe slots are easily found, and what is there apart from graphics and network cards to install in them? Built-in audio is ubiquitous and decent, as is built-in ethernet—one port but probably 2.5G—and wi-fi. So, a dual-ethernet card can occupy one; check the pricing for 2.5G or even 10G before you decide on gigabit. (Historically, some people with Bell fibre connections have liked to get cards with SFP ports in order to bypass the provided routers, but I hear some of the newer routers don't have removable modules.) I've also used USB ethernet dongles without trouble, but can't comment on performance or long-uptime reliability; very handy, though, when I have some piece of equipment that needs to be temporarily isolated from the internet.

Will you want ECC RAM? When I was buying, the Ryzen chips with onboard graphics didn't support ECC, so I went with an "ASUS ROG STRIX B550-E Gaming" board (despite not being much of a gamer) and an external RX 6600 graphics card. The other "catch" that might push you toward external graphics is that, last I checked, onboard graphics are generally limited to 2 outputs. The system I built works well, and I'd consider using successor components, if available, for my next PC. My only real complaints were the price, the defective 2.5 Gbe support, and the lack of an easy setting to turn off the network LEDs. (The "confidential" Foxville datasheet has since become available on LibGen, and I was able to take care of the LEDs using "ethtool --change-eeprom".)

If you're looking for more USB ports, be sure all the internal headers are populated—that's an extra 7 ports on my system, some on rear brackets—then maybe look to PCIe add-on cards (avoid anything with the vl805 chip; despite several attempts to update the firmware, I never got it working with Linux).

By gmit at 2024-02-10 10:31:14:

You should avoid having SSDs on PCIe lanes going through the chipset as it's slower and could introduce various problems for other peripherals if you spend the whole bandwidth.

I've personally gone with Threadripper. Expensive, but everything works as it should.

By Miksa at 2024-02-14 12:01:51:

@gmit, I suspect that is practically a non-issue. NVMe has so much bandwidth and there is only so much that humans or CPUs can process. What work could CPU do for extended time at 2+ gigabytes per second?

If you have a M.2 and 100Gb network card sharing PCIe bandwidth and you are transferring your full drive they can probably slow each other down, but not enough to be a problem.

PCIe 4.0 is becoming common and that provides M.2 slot with 8.0GB/s of bandwidth and I think fastest M.2 drives still top out around 5GB/s. And you can always upgrade to PCIe 5.0 if that is a problem.

Written on 07 February 2024.
« What the max_connect Linux NFS v4 mount parameter seems to do
Accidentally making windows vanish in my old-fashioned Unix X environment »

Page tools: View Source, View Normal.
Search:
Login: Password:

Last modified: Wed Feb 7 23:50:44 2024
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.