Looking to build my first PC in almost 30 years; What should I be on the look out for?
It looks like !buildapc community isn't super active so I apologize for posting here. Mods, let me know if I should post there instead.
I built my first PC when I was I think 10-11 years old. Built my next PC after that and then sort of moved toward pre-made HP/Dell/etc. My last PC's mobo just gave out and I'm looking to replace the whole thing. I've read over the last few years that prefabs from HP/Dell/etc. have gone to shit and don't really work like they used to. Since I'm looking to expand comfortably, I've been thinking of giving building my own again.
I remember when I was a young lad, that there were two big pain points when putting the rig together: motherboard alignment with the case (I shorted two mobos by having it touch the bare metal of the grounded case; not sure how that happened but it did) and CPU pin alignment so you don't bend any pins when inserting into the socket.
Since it's been several decades since my last build, what are some things I should be aware of? Things I should avoid?
For example, I only recently learned what M.2 SSD are. My desktop has (had) SATA 3.5" drives, only one of which is an SSD.
I'll admit I am a bit overwhelmed by some of my choices. I've spent some time on pcpartpicker and feel very overwhelmed by some of the options. Most of my time is spent in code development (primarily containers and node). I am planning on installing Linux (Ubuntu, most likely) and I am hoping to tinker with some AI models, something I haven't been able to do with my now broken desktop due to it's age. For ML/AI, I know I'll need some sort of GPU, knowing only that NVIDIA cards require closed-source drivers. While I fully support FOSS, I'm not a OSS purist and fully accept that using a closed source drivers for linux may not be avoidable. Happy to take recommendations on GPUs!
Since I also host a myriad of self hosted apps on my desktop, I know I'll need to beef up my RAM (I usually go the max or at least plan for the max).
My main requirements:
Intel i7 processor (I've tried i5s and they can't keep up with what I code; I know i9s are the latest hotness but don't think the price is worth it; I've also tried AMD processors before and had terrible luck. I'm willing to try them again but I'd need a GOOD recommendation)
At least 3 SATA ports so that I can carry my drives over
At least one M.2 port (I cannibalized a laptop I recycled recently and grabbed the 1TB M.2 card)
On-board Ethernet/NIC (on-board wifi/bluetooth not required, but won't complain if they have them)
Support at least 32 GB of RAM
GPU that can support some sort of ML/AI with DisplayPort (preferred)
Nice to haves:
MoBo with front USB 3 ports but will accept USB 2 (C vs A doesn't matter)
On-board sound (I typically use headphones or bluetooth headset so I don't need anything fancy. I mostly listen to music when I code and occasionally do video calls.)
It didn't matter to me if it was in stock; just wanted a place to start. Advice is very much appreciated!
EDIT: WOW!! I am shocked and humbled by the great advice I've gotten here. And you've given me a boost in confidence in doing this myself. Thank you all and I'll keep replying as I can.
You no longer have to set jumpers to "master" or "slave" on your hard drives, both because we don't put two drives on the same ribbon cable anymore and because the terminology is considered kinda offensive.
Speaking of jumpers, there's a distinct lack of them on motherboards these days compared to the ones you're familiar with: everything's got to be configured in firmware instead.
There's a thing called "plug 'n play" now, so you don't have to worry about IRQ conflicts etc.
Make sure your power supply is "ATX", not just "AT". The computer has a soft on/off switch controlled through the motherboard now -- the hard switch on the PSU itself can just normally stay on.
Cooling is a much bigger deal than it was last time you built a PC. CPUs require not just heat sinks now, but fans too! You're even going to want some extra fans to cool the inside of the case instead of relying on the PSU fan to do it.
A lot more functionality is integrated onto motherboards these days, so you don't need nearly as big a case or as many expansion slots as you used to. In fact, you could probably get by without any ISA slots at all!
Compared to those pain points building a modern PC should be a breeze. CPUs go in Zero Insertion Force sockets so as long as you remember to lift the little lever you won’t bend any pins. People don’t even wear static discharge wrist bands anymore (all though it couldn’t hurt) or worry about shorting things out. And power connectors only fit one way unlike the AT power connector.
Speaking of breeze your only pain point might be making sure you have enough air circulation for cooling all that gear.
I'd encourage you to take a look at Linux Mint, it alleviates some of the Ubuntu fuckiness. And if you want to join the "I use arch btw" crowd, maybe checkout EndeavourOS if you're feeling more brave than just Ubuntu variants (which is built on arch, but makes barrier to entry a little easier).
i9s are the latest hotness but don’t think the price is worth it
Take a look at last generation to soften the blow to your wallet. E.g., instead of looking at a 14900k, look at 13 or even 12 series. In fact, this is a useful strategy all around if you're being price conscious: go one gen older.
GPU that can support some sort of ML/AI with DisplayPort
Probably going to want to go with a discrete card, rather than just integrated. Other major consideration is going to be nvidia vs AMD, for which you'll need to decide if CUDA should be part of your calculus or not. I'll defer to any data science engineers that might wander through this post.
The rest of your reqs pretty much come as regular stock options when building a pc these days. Though another nicety for my latest builds, is multi-gig nics (though 2.5Gb was my ceiling, since you'll also need the network gear to utilize it). Going multi-gig is nice for pushing around a fuckton of data between machines on my lan (including a NAS).
Very last thing that I've found helpful in my last 3 builds spanning 15 years: I use newegg for its reviews of items, specifically so I can search for the term "linux" in any given product's reviews. Often times I can glean quick insight on how friendly (or not) hardware has been for other's linux builds.
Read the manual for the motherboard you want and make sure that the M2 slot supports NVMe rather than SATA. (Also, learn to tell NVMe from SATA chips.) M2 slots that are SATA usually share a SATA lane with the SATA connectors and if you populate the M2 slot you might lose a connector.
Another thing to read about is whether populating which M2 slot reduces the speed of one of the PCIe slots. Same reason (shared lanes) but with PCIe instead of SATA. These things should be spelled out next to the M2 connectors.
NVMe drives in Linux have /dev/nvme* designations not /dev/sd*.
AMD is the gold standard for general user PCs in the last 5+ years. Intel simply cannot compete at the same energy expenditure/performance. At the same/close price/performance, Intel either burn a small thermonuclear power plant to deliver comparable performance, or simply is worse compared to similar Ryzens
Ryzens are like aliens compared to what AMD used to be before them
So I'd go with them
As for the GPU, if you want to use Linux forget Nvidia
lots of good advice here. I just want to restate: do yourself a favor and migrate your HDDs over to any solid state drive. Whether that means "classic" SSDs with a SATA-Port or M.2s is your prerogative, but in either case you'll start wondering how you could ever stand that s pinning noise and the vibrations and the slow, slow data transfer.
I'd defintely go with an M.2 SSD, you can get 1tb for 50€ and 2tb for 100€ now and they're much faster, more reliable and take up way less space.
For ML/AI stuff, you might be just fine using an AMD GPU. AMD GPUs are a lot easier to use on Linux and are also a good bit cheaper. I use Fedora with an AMD GPU and I just installed the packages for OpenCL and HIP and now I can run LLMs on my PC using my GPU. I've also used Stable Diffusion with that GPU on Linux before. If there's something specific you want to do regarding that, I'd look up first if you need an Nvidia GPU for that but from my experience AMD GPUs work just fine.
I'd take a look at AMD CPUs again. Last time I checked they were even cheaper (including mobo price) than Intel even though they're also more efficient (faster and less power draw). Prices might have changed tho. You should probably use a Ryzen 5, a Ryzen 7 will only make sense if you use all cores because game performance is pretty much the same. A Ryzen 3 is more of a budget option tho, I wouldn't use that. If it's in your budget, you should also use the newest generation that uses the AM5 socket because you'll be able to upgrade your CPU without needing a new mobo. I think it also only supports DDR5 RAM, which is more expensive than DDR4. If you use a Ryzen generation that uses the AM4 socket, it's gonna be cheaper but if you want to upgrade you'll need a new mobo with AM5 and new DDR5 RAM in addition to the new CPU.
As for Linux distros, my recommendations are Linux Mint if you want something very easy, EndeavourOS if you want something Arch-based or Fedora if you want something that's not quite as easy as Mint but more up-to-date. I personally use Fedora but I used EndeavourOS before. I detailed why I switched to Fedora in a reply here somewhere.
I for one would not purchase any Intel hardware as long as AMD is around. Not that they're bad or anything, but AMD gives me much Kore "bang for the buck". To future proof your rig, I strongly suggest you go with the latest socket (be it Intel or AMD, doesn't matter) and make sure you get DDR5 RAM. PCI Gen 4, and then have at it.
Getting an 80 Plus Gold power supply is always nice too.
And then there's the cooling. I see you went with a radiator and fan, but I strongly suggest getting some type of liquid cooling. The prices are not that bad anymore (unlike about 10 years ago, which was insane).
As for the board, you'll get all kinds of different suggestions. Some people swear by Asus, I'd rather go with Gigabyte (love the Aorus line), so it'll come down to brand trust at the end of the day.
As for the card, I hear a lot of crap given to Nvidia about being closed source, and I sort of agree that's messed up, but ATI cards (while pretty good) are always a step behind Nvidia. Plus, most distros have them working out of the box.
It can be intimidating after so many years, but its way simpler than it was back then.
Good luck man, you got this, there's nothing to fear but fear itself.
It is not exactly what you asked, but if it is customization and expand ability you are looking for, did you consider custom build cites like cyberpowerpc.com? You can select from wide variety of components, they build and test it for you, and make sure that everything is compatible and working. You do pay a bit premium for the assembly and tests but it is not that much, and you save your time and have a peace of mind that everything works.
I went through the same process myself a couple years ago, first PC build in a while. The biggest shock for me was finding out hard drives (SSD, HHD, etc) were outdated: its all about NVMe cards which look like a stick of RAM and plug directly on the motherboard.
Someone might have already mentioned it, but M.2 is just a physical connector. You can have M.2 SATA or M.2 NVME drives. Prefer NVME (a modern motherboard should support it but older ones only do SATA)
The responsiveness between a hard drive and an SSD is night and day. NVMe is even faster but not noticeable unless you move a hell of a lot of data around. A motherboard having at least 1 M.2 NVMe slot is common, so installing the OS on it is an option. Hard drives have more storage per price, but unless space is significant factor I suggest using SSDs (also quieter than a spinning disk!). More info on storage formats in this video
Recent generations of motherboards use DDR5 RAM, which were very expensive on release. I think the price has come down but I am not up to date this generation. You may be able to save money making a DDR4 system but you'll be stuck on a less supported platform.
AMD had like ~10 years of bad/power hungry processors and Intel stagnated, re-releasing 4-core processors over and over. AMD made a big comeback with their Ryzen series becoming best bang for buck, then even over taking Intel. I think it's pretty even now.
If you don't intend to game or do certain compute workloads then you can avoid buying a GPU. Integrated CPUs have come quite far (still low end compared to a dedicated GPU). Crypto mining, Covid and now AI has made the GPUs market expensive and boring. Nvidia has more higher-end cards, mid range is way more expensive for both and low end sucks ass. On Linux AMD GPUs drivers come with the OS, but Nvidia you have to get their proprietary drivers (Linux gaming has come a long way).
AM5 sockets are now LGA like Intel. AM4 was the last PGA socket, so bent pins on the chip are a thing of the past. Make sure to leave the socket cover in place while installing the CPU. Now, the fear is bending a pin on the MoBo.
Could you buy both an AMD GPU and a Nvidia GPU? You could pass the Nvidia GPU into a VM with vfio for AI and then you could daily drive AMD with Foss drivers. (AMD is in a little less demand) There is also the option of Intel GPUs as they should work pretty well under Linux.
I personally would avoid Ubuntu do to snaps as there are many other options. Do what you feel comfortable with but you also could go with Linux mint or Fedora both of which don't have snap.
For AI I'm less experienced but I would use containers as that will make the setup much nicer.
I went through the comments briefly and didn't see anything about cases. I highly recommend spending some money on a good case with good cable management slots. It may not look important but it will make life so much easier. Fractal cases are good budget friendly ones. I usually prefer large bulky cases (I like ATX), to ensure good ventilation and easiness to assemble things. Having plenty of space to move around helps a lot while cleaning also.
Another thing, you will see a lot of articles about positive pressure or negative pressure fan arrangement and all. TBH, I really don't think that matters a lot. Just regular cleaning with a cheap rocket air blower will do. And more than 4 fans are not really needed. The gain is negligible. But ensure you have a good dedicated fan/water cooling for CPU cooling. I recommend Noctua for air cooling.
Oh regarding backing up your data, make sure you plug in your SSD once in a while, to avoid charge depletion. Nowadays the claim is SSDs have better retention and you don't need to keep it active, but I'm not really sure.