Previous Post: Homelab AI: Part 1 – Overview & Hardware
In this post I’ll detail the configuration I used to set up my ML host and the steps I followed to make it work.
I decided to make this box dual-boot, with one 250Gb SSD for Windows 10 and the 1TB NVMe for Ubuntu.
Windows 10 Pro
This might seem an odd choice, but I wanted a Windows 10 disk for troubleshooting and benchmarking if needed.
The Windows 10 deployment isn’t for running AI, so I just deployed Windows 10 Pro, the latest NVIDIA drivers for the 3090s, a copy of Steam (and then an install of 3DMark), the Armor Crate/iCUE utilities, and used this disk to confirm both of my 3090s were stable and in working order by subjecting them to some graphical benchmarking. I then turned off all RGB on my components to stop the under-desk disco taking place within the case ๐
Ubuntu 24.04.3 LTS
Ubuntu seemed like a good choice for the OS of choice as I’m familiar with Debian and use it daily, and Ubuntu seems to have more widespread support for some of the packages and software used as part of the wider ecosystem.
I chose to use 24.03.3 LTS Server in a headless deployment – no GUI, minimal software packages deployed, and OpenSSH installed so I could log into the box and run everything remotely. The rationale behind a headless deployment was to use as little video memory/resources as possible, freeing up those resources for any AI/ML workloads.
Once I had the OS deployed onto the NVME SSD, I tested to confirm both GPUs were detected using:lspci -vnn | grep -E "NVIDIA.*VGA|VGA.*NVIDIA" -A 24

I then installed the latest NVIDIA drivers for Ubuntu following the guidance here:apt-get install nvidia-driver-580 nvidia-utils-580
After a reboot, I could confirm that both cards were detected and the drivers were installed correctly using the NVIDIA SMI utility:

In the next part of this guide, I’ll run through the configuration of the front-end and back-end components needed to start running and querying Large Language Models (LLMs).
Homelab AI: Part 3 – Ollama, WebUI deployment (TBC)



