REX: Or How I Justified Buying a 7950X3D for 'the Lab'
Every home lab starts with a lie you tell yourself. Mine was: 'I just need one decent machine.'
There’s a specific moment every home lab builder knows well. You’re staring at a PC Part Picker list at 11pm, the cart has somehow grown to $8,000, and you’re drafting a mental justification document that rivals an enterprise budget proposal. The difference is that the approver is your future self, and your future self is easily bribed.
That was REX.
The Brief (That I Wrote for Myself)
The stated goal was simple: a machine that can run local AI workloads, multiple Hyper-V VMs, and GPU inference at the same time without thermal throttling into the shadow realm. The unstated goal was to have the most capable homelab on the street, which is a low bar when your neighbours are mostly retirees, but still counts.
The final spec:
- CPU - AMD Ryzen 9 7950X3D (16 cores, 3D V-Cache - because cache is king for VM density)
- RAM - 128GB DDR5 (because “64GB should be enough” is something people say right before it isn’t)
- GPU - RTX 5090 (for local LLM inference - this is load-bearing hardware, not gaming, I promise)
- Storage - 4× NVMe drives in dedicated roles: OS, gaming, media, and a ReFS Dev Drive for the lab
- Host OS - Windows 11 Pro (controversial, I know - we’ll get to that)
Why Windows as the Host?
Running Windows 11 Pro as the hypervisor host instead of Proxmox or ESXi is the thing that raises the most eyebrows in homelab circles. The answer is boring and practical - Hyper-V on Windows gives you a Type-1 hypervisor with a usable desktop environment, DirectX GPU passthrough that actually works, and WSL2 for Linux workloads without spinning up another VM just to run bash.
WSL2 turned out to be critical. I wanted a lightweight Linux environment to run MCP servers and GPU inference workloads that didn’t need a full VM. Running vLLM directly in WSL2 with CUDA passthrough to the RTX 5090 is one of those things that sounds like it shouldn’t work as well as it does.
The VM Strategy
Rather than one monolithic VM trying to do everything (the homelab equivalent of microservices trauma), the plan from day one was purpose-built VMs:
| VM | Purpose | The One-Liner |
|---|---|---|
| KaliLinux | Security scanning | Finds problems you didn’t know you had |
| UbuntuClaw | AI assistant + local inference | The one that texts you |
| DebIdentity | Identity, PKI, secrets | The bouncer |
| DebApps | Home services | Everything else |
Each VM gets its own VLAN, its own service account, and its own reason to exist. This makes the network topology slightly more complex and the documentation significantly more annoying, both of which are signs you’re doing it right.
The Network Foundation
REX doesn’t sit in isolation. The broader lab runs on a Juniper EX3300 core switch (because enterprise switches show up on eBay for less than you’d expect, and the CLI is deeply satisfying), an OPNsense firewall at the edge across six VLANs, and an Aruba wireless controller for the WiFi estate.
The VLAN breakdown:
- 172.16.50.x - VM workloads (KaliLinux, UbuntuClaw, DebIdentity, DebApps)
- 172.16.100.x - Infrastructure (NAS, switches, wireless controller)
- 172.16.250.x - Firewall and routing
The Synology NAS sits at 172.16.100.100 and acts as the authoritative DNS server for sdx.local, which is the internal domain everything lives under. The NAS also handles backups - the F: drive syncs to Synology nightly, and Synology syncs to Google Drive, completing a 3-2-1 backup chain that lets me sleep without thinking about disk failure statistics.
The Use Case: Running AI Workloads Without Paying Cloud Rent
The machine justification that actually held up is simple. The RTX 5090 runs local LLM inference at a quality level that would cost real money in API calls at cloud rates. Once the hardware is paid for, the marginal cost of running a query against a local Gemma 26B model is just the electricity draw of the GPU - about ten cents per hour of sustained inference at Queensland residential rates, and most queries finish in seconds.
At the volume of queries an active AI lab generates, that math gets interesting quickly. The upfront hardware cost starts looking less like an indulgence and more like a capital purchase with a real payback period.
(I didn’t do this calculation before buying the hardware. I did do it afterwards though, which is almost the same thing.)
What Came Next
REX was the foundation, but a powerful machine sitting on a flat network with no identity management, no internal TLS, and no security posture isn’t a lab - it’s an expensive desktop. The next step was turning it into something I could trust: a network I understood, VMs that knew who they were talking to, and a PKI so the certificates stopped being self-signed afterthoughts.
That story starts with a Juniper switch, an OPNsense firewall, and an uncomfortable amount of time reading RFC 1918.
Update - August 2026
The machine is unchanged and has earned its keep. Around it:
- The EX3300 core is retired - Its eUSB flash started corrupting writes in May 2026, so on 6 June I replaced it with a two-member EX3400-24P virtual chassis - one switch in each room, stretched over the two Cat6 runs that already existed between them.
- The VM names survived, though one of their jobs didn’t - UbuntuClaw’s assistant is now Homer, a Hermes Agent, not Clawdia. DebIdentity lost VaultWarden (replaced by an
age-encrypted secrets file) but kept Authentik and Step-CA. DebApps picked up SearXNG. - The NAS is no longer the primary resolver - After a June 2026 incident where a dead upstream forwarder on the NAS added ~2.5 seconds to every external lookup lab-wide, OPNsense became the primary DNS server and the NAS dropped to secondary - still authoritative for
sdx.local, just off the browsing hot path. - REX itself had a rough patch - A run of silent hard resets through mid-2026 was traced to ASUS AI Suite 3’s EPU component, which I uninstalled on 13 July. The clean-baseline retest is still outstanding, which is a sentence I’d rather not be writing about load-bearing hardware.
- The 3-2-1 backup chain still holds - Hyper-V checkpoints run at 1.45am ahead of the 2am sync.
Update - October 2026
Both of the last two bullets from August turned out to be optimistic.
- Uninstalling ASUS AI Suite 3 didn’t fix the hard resets - REX suffered nine more
Kernel-Power 41resets across August and September, including one at near-idle that cleared the GPU as the suspect. The actual culprit was running four Dual-Rank DDR5 DIMMs (128 GB across all four slots) at aggressive clock speeds on an older AGESA firmware. Updating the motherboard BIOS and stepping the 4-DIMM memory clock down to 5200 MT/s finally stopped the resets and passed a seven-day burn-in with the RTX 5090 uncapped at 600W. - The backup chain was quietly dead when I wrote the August update - An audit in late August showed the desktop sync client had been crash-looping silently for eight days, and the nightly Hyper-V checkpoint script had been failing since May because of four stacked scripting bugs. I replaced both with deterministic nightly copy tasks that write a machine-readable status file checked by the 7am morning report - because a backup job nobody checks is just a rumour.
- A fifth Hyper-V VM joined the host -
VoiceGWruns local Whisper speech recognition and Coqui VITS text-to-speech for Home Assistant and a wearable voice client. The Synology NAS also picked up two small VMs of its own so out-of-band SSH access and bulk cloud sync don’t depend on REX being up.