Series · The Quiet Machine · Part 1

Turning an Idle Gaming PC Into a Private AI Server

A 2021 gaming PC sat under my desk for two years doing nothing. Decent GPU, wired Ethernet, powered on maybe once a month so Windows could patch itself. Meanwhile I paid every month for cloud GPU time and shipped my code to someone else’s datacentre every time I wanted an LLM to read it.

The math stopped making sense. I was renting an inference machine by the hour while a 170-watt card gathered dust three feet away.

So I turned it into what it should have been: a private, always-on server for local AI and my dev environment, driven from my MacBook wherever I am, nothing leaving my home network, no monthly bill.

The Mac is the brain, the box is the muscle: the laptop runs the agents and talks to Claude, and the box does the GPU work and holds the storage, always on.

The first thing I did was open the BIOS and turn half of it off.

The box

Mid-range, nothing exotic. That’s the point: it’s the machine a lot of people already have in a closet.

  • Gigabyte B550M DS3H motherboard
  • Ryzen 5 3600, 6 cores / 12 threads
  • RTX 3060 12GB — the 12GB of VRAM is what runs the models
  • 32GB DDR4-3600 (there’s a story in that number)
  • Samsung 970 EVO 500GB + WD 1TB NVMe
  • Gigabit Ethernet, Windows 11 Pro

Max performance, safely, which mostly means restraint

Every “max performance BIOS” guide says the same thing: turn everything on. Resizable BAR, the latest firmware, the overclock menu. For a gaming rig, sure. For a headless inference box that has to stay up for weeks, most of that is risk with no payoff.

Two of the biggest knobs were already set right, so the move was to leave them alone.

The board was running XMP at 3600 MHz, which on Ryzen 3000 is the ceiling worth having: Infinity Fabric runs 1:1 with memory up to about 3600, and pushing past it usually drops the fabric out of sync and makes the whole system slower. Core Performance Boost was on Auto, so CPU turbo was handled too.

Three things I skipped on purpose:

  • Resizable BAR (ReBAR). A real win in games, roughly nothing for inference, since the model loads into VRAM once and stays there. Turning it on also means disabling CSM, which risks the boot mode on an existing Windows install.
  • The BIOS flash. Flashing firmware is the most brick-prone thing you can do to a board, and a newer AGESA buys a Ryzen 3600 nothing. Mine already runs the chip fine.
  • The overclock menu. Didn’t open it. It can void the warranty and trades stability for numbers I don’t need on a machine meant to run for weeks.

Then two I did change. Fans went to full speed on every header, because the box is headless, in a corner, and I never sit next to it, so there’s no reason to let anything run warm. And I raised the GPU power limit from 170W to the card’s 240W ceiling, which holds a higher boost clock under a long inference load:

nvidia-smi -pl 240

On Windows this doesn’t persist. Every reboot resets it, so it needs a boot task to re-apply, which became its own small saga later in the series.

One more, for outages: I set AC Back to Always On so the box powers itself up when the lights come back. The catch on these Ryzen boards is a second, sneakier setting.

AMD-CBS “AC Loss Control” can silently override the friendly “AC Back” option in the main menu, so you set the obvious one, feel clever, and find the box dark after the next power blip. Set both.

The 32GB I was sure was 64

The BIOS reported 32GB. I was fairly sure I’d put 64 in this thing back in 2021, and that gap is enough to make you start planning to pull DIMMs: a dead stick, a dead slot, something seated a millimeter proud.

Before opening anything, I checked the SPD Info page, which reads the ID chip on each module directly. Four sticks of 8GB, all four slots populated: two kits, a mix of Hynix and Micron dies, all running 3600 in dual channel without complaint.

No missing stick, no dead slot. It had been 32GB the whole time and I’d misremembered. Read the SPD table before you unplug anything.

Restraint, where it counted

The wins that mattered, like 3600 memory, full cooling, and the GPU’s real power ceiling, were already there or one command away. The moves that only look like performance, like flashing firmware, forcing ReBAR, or an overclock, were pure risk on a box that only has to stay up and run models.

Next, the box was still a cluttered old dev machine, and cleaning it up meant working out what was actually safe to delete, starting with two folders that looked like junk and weren’t.