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.
I know in gaming, possibly in other loads Nvidia 40 series, and especially 30 series love transient spikes which can easily exceed 2x the nominal power consumption. Make sure your PSU can handle those spikes both in terms of brevity, and current.
That's what finally did in my 10 year old Corsair. I was technically within specs on wattage with my new 4070 but certain loads would cause it to trip the over current protection anyway.
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!
While I love this list, it is more applicable to the turn of the century than a a decade ago. I was half expecting to see “ram no longer has to be installed in pairs” on the list.
I think you may have misread OPs post. They haven't built a PC since shirtly after they were 10-11, which was almost 30 years ago. So developments since the turn of the century are in fact relevant here, heh.
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.
Case usually have fans preinstalled that should be fine. Just pay attention to the direction, have tham all blow air front to back. There is usually an arrow indicating which way it moves air.
Run a benchmark after buiding the PC and check temperatures.
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.
I have to agree here. I use PopOS mostly, but most Ubuntu derivative nowadays beat the living crap out of Ubuntu. PopOS, Zorin, Mint, etc. Like many others, Ubuntu was my gateway to Linux, but I lived out of that in less than a year. Started spinning Mandriva (damn I'm old), Debian itself, and I've tried Ubuntu a few times over the years, mostly on VMs now, since now I hold no hope that it'll ever go back to what it was.
Used EndeavourOS for a few years too but switched to Fedora Workstation recently. EndeavourOS is still great but I like Fedora more now since it's just easier. A lot of stuff I did manually before like switching ext4 for BTRFS, enabling compression and switching to Pipewire is done by default (also LUKS for full diks encryption which I was too lazy to install before) and I can update my system and install most software through GNOME Software without having to use the CLI. It's also very easy to get OpenCL and HIP working, it's just one package each you need to install. Only downside for me is that it's not as easy to install stuff from COPR than it is from the AUR because you first have to enable the repo for each package you want to install from COPR. I think COPR is more secure tho, especially for someone like me who never looked at the PKGBUILD when installing from AUR.
And if you want to join the “I use arch btw” crowd...
I may be a linux nerd and pedantic, but not that pedantic. 😅 I've looked into Linux Mint and not opposed to an distro switch. I've been very happy with Ubuntu over the years. My first distro was slackware, then Fedora. Settled in Ubuntu and haven't turned back.
if CUDA should be part of your calculus or not.
Probably not, if my cursory google search is correct. But happy to be convinced otherwise.
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)
I've had the benefit of laying my own CAT-5e in my house. Given the distances, CAT-6 was going to cost twice as much with a negligible increase in bandwidth. That said, I'm restricted by the narrowest straw, which is wifi (when streaming media to my phone) and ISP (which taps out at around 300mb/s). My current PC has 1gb/s card and I've only occasionally had issues.
I use newegg for its reviews of items, specifically so I can search for the term “linux” in any given product’s reviews.
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.
May I ask why water cooling? Its just more loud and more expensive afaik, they just look awesome.
Decent air coolers are cheap, silent and easier to install. When I was overclocking i5 9600k temperature was not an issue at all. Is it different with CPUs today?
Simple, the difference in cost is negligible in terms of keeping the CPU at way lower temperatures, extending the life of the CPU and better avoiding throttling. And they are not louder than a regular fan with heatsink, since the fans spin at lower RPMs most of the time because they don't need to increase it since the CPU is already running cooler. And if you add a high end GPU, that's way louder and will drown the noise of any other fan in the rig when it kicks in.
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”.
If you have a processor line in mind, let me know. Happy to give them another look, given my experience with AMD is 30 some years old.
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).
I'm not tied to the cooling solution I picked. I just picked something that looked affordable and did what I wanted. I'd love to do liquid cooling so long as it isn't a pain. I helped my friend back in high school do liquid cooling and it was a proper mess. We came close to shorting his entire rig.
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.
I have zero brand loyalty here. The boards I'm looking at right now all have embedded wifi with the annoying antenna...I really want bluetooth embedded so it seems like I'll have to have wifi but just not use it.
ATI cards (while pretty good) are always a step behind Nvidia.
Ok, you mean AMD. They bought ATI like 20 years ago now and that branding is long dead.
And AMD cards are hardly "a step behind" Nvidia. This is only true if you buy the 24GB top card of the series. Otherwise you'll get comparable performance from AMD at a better value.
Plus, most distros have them working out of the box.
Unless you're running a kernel <6.x then every distro will support AMD cards. And even then, you could always install the proprietary blobs from AMD and get full support on any distro. The kernel version only matters if you want to use the FOSS kernel drivers for the cards.
I agree that I could be wrong on the comparison. Maybe they are not that far behind, but guaranteed not at the same level when comparing apples to apples. I wish that wasn't the case, but it still is.
They are not terrible, they just don't hold a candle to a Nvidia card of the same tier. And the Op is buying new not old.
Not once did I say anything bad about any brand, like the Op, I'm not married to any of them, and only speak out of personal experience. I dont make money from them, they make money out of me.
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.
Unless you want a bunch of storage and modularity. The benefit to Sata is that it is much more flexible and Sata SSD's are cheaper and can be put in a ZFS raid to increase maximum speeds.
I've gone back and forth on whether I need RAID locally. Giving up at least a third of your storage capacity (assuming RAID 5) for the off-chance that your hard drive dies in 3-4 years seems like a high price to pay. I had two drives fail in the lifespan of my current desktop. And I had enough warning from SMART that I could peel off the data before the drives bricked. I know I got lucky, but still...
You're right, SATA isn't going anywhere for a very long time. If you have a need for 4+ TB of total storage there is nothing at all wrong using HDDs or 2.5" SSDs.
sata would be used more for secondary storage or for systems setup as network attached storage. the nvme m. 2 formfactor for ssds is more convenient for users as its both smaller and does not require the user to wire 2 cables to use it.
I typically code a lot of back-end and processor intensive workloads. The issue I have with i5s is that they don't seem to be as "snappy" as i7s. I've worked with both for good long periods of time. When I had an i5 laptop, I had to off-load a good majority of my development to the cloud because I couldn't do containers and listen to music and run two monitors at the same time. I never had the same issue with i7 processors, even on a laptop.
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.
Oooh, I had not considered that but thank you for the recommendation. The only thing I don't like about these PCs is that they all have RGB lighting. I really don't need this and I don't get their appeal.
I really don't need this and I don't get their appeal [of RGB].
It costs manufacturers pennies to include but gives them an excuse to mark the price up by dollars, so every single one of them shoves it down all our throats.
The only PC fan manufacture that has not gone RGB at all is a Noctua (premium). Their fans are poop brown and beige or black for consumer, grey for industrial, but are great in terms of noise to cool performance. If noise is important then there's videos of people comparing fans so you can pick a tone that is subjectively best.
I enjoyed the days of one color LEDS. Couldn't beat a Tron blue or The Matrix green.
I meant to write 3.5" floppy drives, and yes the 3.5" and 2.5" form factors are still going strong, even if the NVMe's probably will reduce the use of 2.5"
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).
DDR5 has gone down dramatically compared to launch. You can get 64GB with a very fast bus for under 200 dollars now. At launch 32GB would easily set you back 250+.
AMD has made a killing with Ryzen. Never mind the new naming convention that Intel came up with to make it even more complicated to choose the right CPU for your use cases, ridiculous.
As for Nvidia GPU drivers, at the end of the day, they just work, regardless their proprietary drivers philosophy (which, again, I agree sucks).
But if the OP is going to be doing AI development, machine learning and all that cool stuff, he'd be better served by getting a few CUDA TPUs. You can get those anywhere from 25 dollars to less than 100, and they come in all types (USB, PCI, M.2).
https://coral.ai/products/#prototyping-products
I have 1 USB Coral running the AI on my Frigate dicker for 16 cameras, and my CPU never reaches more than 12% while the TPU itself barely touches 20% utilization. You put 2 of those bad boys together, and the CPU would probably not even move from idle 🤣
Hold on a second, how come every time i look for TPUs i get a bunch of not-for-sale nvidia and Google cards, but this just exists out there and i never heard of it?
Those aren't "CUDA" anything. CUDA is a parallel processing framework by Nvidia and for Nvidia's cards.
Also, those devices are only good for inferencing smaller models for things like object detection. They aren't good for developing AI models (in the sense of training). And they can't run LLMs. Maybe you can run a smaller model under 4B, but those aren't exactly great for accuracy.
At best you could hope for is to run a very small instruct model trained on very specific data (like robotic actions) that doesn't need accuracy in the sense of "knowledge accuracy".
And completely forgot any kind of generative image stuff.
I was really hoping to cannibalize the 32 GBs of DDR3 RAM but I couldn't find a MoBo that supports it anymore. Then I saw DDR5 is the latest!
I don't really do any gaming. If I wasn't going to tinker with AI, I'd just need a card for dual DisplayPort output. I can support HDMI but...I prefer DP
The 4070 TI will give you quite a few years out of it for sure. You could also completely forego the GPU and get a couple of CUDAs for a fraction of the cost. Just use the integrated graphics and you're golden.
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.
Two GPUs? Is that a thing? How does that work on a desktop? Honestly, if it wasn't for my curiosity into AI, I'd just go with the onboard video though given my need for specific resolutions, I find comfort in having a dedicated card.
I've been using ubuntu exclusively for 10 some years and don't use snap at all. tbh, not even sure what snap is.
You put one GPU in one PCIe slot and one in another. Just be aware that just because a PCIe slot is full-length, it doesn't mean it's a full-speed x16 slot. Check the manual to be sure. Most cards will work with fewer lanes, but not all. And of course it'll be slower. (Fun fact, you can put a long card in a short slot. Some have open backs to allow this, but if you have an oscillating Dremel tool and a steady hand, you can make your own.)
But personally, for basic 3D games and work, I'd just use the integrated video (which is on the CPU these days, not the motherboard) and give the discrete card to the VM.
You do use it as a bunch of snap packages automatically install the snap instead.
For Nvidia I still think passthough is the best option as it isolates the Nvidia issues to a VM instead of the host. If you aren't going to spend a bunch of time on AI then you can just use a CPU as long as you have enough ram.
SNAP is just a proprietary packaging by Canonical. Basically the same as a flatpak, but fully controlled by Canonical, store and all.
Integrated graphics will give you as much resolution as most GPUs, albeit they won't be able to render at dedicated GPU speeds. But unless you're actually rendering very heavy videos, integrated, matched together with 1 or more CUDA TPUs, and YOU set the limits.
If you don't need a lot of GPU horsepower besides the AI stuff then you could just use the integrated graphics and have a dedicated GPU for the AI stuff.
Having multiple GPUs in your system isn't really that special. Plug HDMI into GPU1 to make GPU1 drive your display/play games. Plug HDMI into GPU2 to have GPU2 do stuff. If you're doing AI work then you don't need anything connected to the GPU, the program just needs to know it's there and to use it.
The only thing to look out for when using the iGPU and a dGPU is that the bios doesn't turn off the iGPU if it detects the dGPU. If you have 2 dGPUs then it shouldn't matter outside of maybe the bios wanting to use the first one.
Two GPUs? Is that a thing? How does that work on a desktop?
GPUs these days aren't like your old Voodoo, with its daisy-chained VGA port and one-way, fixed-function graphics pipeline. They can actually send the results of their calculations back to the CPU over the PCIe bus instead of only out to the monitor!
(In all seriousness though, you don't actually need two GPUs.)
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.
The thing about case pressure does actually matter a lot for dust management. Positive pressure makes the case build up far less dust because air will only flow into the filtered intake, and will flow out through the outtake as well as any openings or gaps it can find, which prevents dust from flowing into the case except by possibly making past the filter.