GPU I'd go with AMD Radeon, they have the better drivers on linux, but you'd still be fine if you went Nvidia. Other than that, you'll find most hardware will work roughly the same or better than on windows. The only exception may be some mouse brands, especially some smaller boutique ones, won't have software to control them. Most keyboards that aren't the big name brands (Corsair, Razer, etc) will have QMK/VIA which is OS-agnostic. EDIT: I'm assuming you mean for desktop day-to-day and/or gaming use.
That is such a broad question, it is all about what task you want to perform. I wouldn't use any old gear for a build personally, always new stuff, tends to be better performance per watt, leading to quieter things. I think I'd just get a lot of miniPCs these days, particularly for a linux box as typically I don't want to do a lot with those or hav very specific task so something with an N150 would probably do for a desktop for light needs. If I wanted a gaming machine it'd be a cheap b850, 9800x3d and 9070XT based, if I wanted a lighter weight small low power gaming option then a strix Halo box might be a good option, this is also handy for LLMs, though it'd probably be cheaper to build a SFF system, well maybe not cheaper but better specced for the dough, but I don't have time for that. For a NAS I'd take a punt on one of those cheap Chinese boards with all the ports, multigig/10G and a low power chip, or one of the dedicated NAS boxes, if I didn't want it to do much, or something like the B850 AI TOP with dual 10G for 20G bandwidths leaving PCIe slots for expansion options, if I wanted lots of cores and to fill it full of RAM and run a myriad of VMs on it, I do this at the moment with though use a 35w 5755 Pro GE and Proxmox doing router, NAS, plus games and web servers.
But, on the flip side, not anything too new, as there's a chance that proper support isn't included in an LTS kernel yet.
I wanted to start a general discussion on the hardware people use for their builds, whatever the purpose they had in mind. Most Linux sections of forums tend to be about software, so I thought it would be interesting to cover the hardware side of things.
All my boxes are Linux boxes: Desktop: Asus Prime B450M-K with an AMD Ryzen 9 5900X (upgraded from a Ryzen 7 2700X) and 64GB of 3600MHz DDR4 (upgraded from 32GB of 3200MHz DDR4), Nvidia RTX 2080 GPU, BlackMagic Intensity Pro HDMI capture card, DVD writer, hot-swap 3.5" SATA bay for backups, 1TB Samsung something-or-other M.2 SSD, 6TB SATA hard drive. It's running Ubuntu 22.04 LTS, having been upgraded from... 16.04? 18.04? I 'unno, but it could do with a clean install - there's an alarm that goes off at 10:00 every day(!) and I have to restart Firefox whenever I come out of suspend or it glitches graphically. Laptop: Dell XPS13 something-or-other, Intel Core i7-7560U with 16GB of RAM and a 1TB SSD purchased with Ubuntu something-or-other preinstalled(!) and since upgraded to 20.04 (yes, yes, I know that's EOL, but I'm enrolled in the free tier of Ubuntu Pro so I get extended support). I really need to upgrade - the battery's pretty cooked - but it works fine other than being underpowered. Server: Helios64, an Arm-based thing from a since-shuttered company with a Rockchip RK3399 (two Cortex-A72, four Cortex-A53 cores) and 4GB of non-ECC RAM. There's a 2.5-gig-Ethernet port, but it doesn't work unless you solder a bodge wire on the bottom(!) - and I hate the thing 'cos I have to run Armbian on it - a bunch of badly-maintained kludges on top of Ubuntu 20.04, and yes I need to upgrade that too at some point. In its defence, though, it works fine - apart from the aforementioned 2.5-gig-E port. Code: blacklaw@helios64:~$ uptime 12:02:16 up 193 days, 1:39, 2 users, load average: 0.18, 0.13, 0.09
Those are about the only definitive things I’d say, TBH. Don’t go real bleeding-edge, because it does take some time for the kernel to provide full support. And if you’re gaming at all, then you’ll probably have a better time with AMD GPUs due to better driver support. Beyond that… it’s really an open question as to what you’re using the machine for and what you want to prioritise, much as it would be with a Windows machine. You are likely to have some issues on Linux with esoteric hardware and a lack of driver support. For example, I’ve got a couple of printers that are problematic. My label printer isn’t recognised by any distro I’ve tried, the manufacturer only provides Windows drivers, and all the Reddit/forum posts I can find on the subject basically boil down to “you’re SOL if they don’t do Linux drivers, get a different printer”. I haven’t even tried my ID card printer on Linux yet, that has enough problems being supported in Windows. The company that made it is long gone, and the new parent company doesn’t even acknowledge that older models like mine ever existed, let alone offer downloads for them. There are third party sites hosting the drivers, but there were two revisions of this same model, and they need different firmware updates and driver software; it took me a while to realise that and find the right set of files. So if it’s that bad under Windows, I will almost certainly not get it working on Linux. For situations like that, it’s worth planning on having a lightweight Windows virtual machine (which you can, of course, choose to not have connected to the internet). USB passthrough is pretty easy in something like VirtualBox, but PCIe passthrough will need some research - I’ve only ever used it on ProxMox, which is a bit beyond the scope of this discussion.
That's a fair comment when I set up my NAS a few years ago the Marvell Aqtion 10G cards had limited support in the NAS distros I was playing with and I was steered toward Intel for best compatibility, so when I moved from testing distros onto the build I shifted to a board with all Intel 10Gb, everything was flawless, now most motherboards seem to come with the Marvel chips over Intel so I'd imagine it would be fine these days, I have those right now actually, not been a problem but I run Linux on Windows so everything works well despite running what I guess is quite an old version, 22.05 required for the LLM software.
I have one Windows pc that I use for gaming. Other than that I'm all linux and I have been since 2007. The days of worrying about hardware compatibility are past my friend. Desktop is Ryzen 5 5600G, AsRock B550M-ITX/ac, 32GB Crucial Dominator, Crucial 500GB nvme. Dell u4924, Logitech Master and Keychron K4 (bluetooth for both), Logitech 4k webcam and Q Acoustics M20HD speakers (both usb). Linux Mint. Server is i5-10500T, Gigabyte B460MAORUSPRO, 32GB of something that hwinfo can't find right now, Samsung 840evo 250GB nvme and 28TB of hdds. Debian. Backup server is a Acer Revo One (Debian), Laptop is a Thinkpad (Mint). I could go on but you're already bored and the point is that you can pick your hardware by use case, cost, compatibility, forma factor, everything that applies to Windows. Nothing special.