Setting Up an RTX 4090 on Ubuntu 25: The Unfiltered Version
So you just dropped serious money on an RTX 4090 and decided to run Ubuntu 25 on it. Bold. Here’s the honest account of what that journey actually looks like — because it’s not as simple as “plug it in and install drivers.”
First Problem: You Can’t See Anything
The first curveball hits before you even install Ubuntu. You boot the machine, and… nothing. Black screen. No BIOS, no splash, no cursor blinking in the corner. The machine is clearly running — fans spin, lights blink — but your monitor shows nothing.
This is surprisingly common with high-end Nvidia cards and modern displays. A few things to check:
- Which port are you using? The Asus Z590 (and most modern boards) has integrated graphics with an HDMI port on the motherboard. If your monitor is plugged into the motherboard HDMI while a discrete GPU is installed, the BIOS may have handed display output to the GPU before you can see anything.
- Try the GPU’s ports first. For the initial BIOS access, connect your monitor directly to the RTX 4090’s DisplayPort or HDMI outputs.
- Apple Studio Display quirk: Apple’s displays can be picky about sync timing during POST. If you’re using one, try a cheap secondary monitor just for setup purposes — a $30 Amazon special will do the job.
- BIOS setting — Primary Display: Once you can see the BIOS, look for settings like “Primary Display” or “Init Display First.” Set it to “PCIe” or “PCIE/PCI” to ensure your GPU gets initialized first.
The Linux Installer Black Screen
You eventually get into BIOS, configure your USB drive, and start the Ubuntu installer. It begins loading… and goes black again. This is the Nouveau driver doing its thing.
Nouveau is the open-source Nvidia driver that Ubuntu loads by default. It does not play nicely with the Ada Lovelace architecture (RTX 40-series) during installation. The fix is to boot the installer with Nvidia’s safe graphics mode:
- At the GRUB boot menu, press E to edit the boot entry
- Find the line starting with
linuxand addnomodesetat the end - Press F10 to boot
This disables kernel mode-setting, giving you a lower-resolution but working display during installation.
Installing the Drivers (The Right Way)
Once Ubuntu is installed and you’re in, the first order of business is replacing Nouveau with the official Nvidia drivers. Don’t skip this — Nouveau on a 4090 is barely functional.
Step 1: Check what’s available
sudo ubuntu-drivers devices
You’ll see a list of recommended drivers. For the 4090, you’re looking for something in the nvidia-driver-570 or newer range.
Step 2: Install the recommended driver
sudo ubuntu-drivers autoinstall
Or install a specific version:
sudo apt install nvidia-driver-570
Step 3: Blacklist Nouveau
The installer usually handles this, but if you’re having issues:
echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u
Step 4: Reboot and verify
sudo reboot
# After reboot:
nvidia-smi
If nvidia-smi shows your GPU with memory usage and driver version, you’re done. If it errors, check dmesg | grep -i nvidia for clues.
Setting Up SSH Access from Your Mac
Once the GPU is working, you probably want to SSH in from your Mac to actually use the thing (especially for running models or CUDA workloads remotely).
On the Ubuntu machine:
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
From your Mac:
ssh-keygen -t ed25519 # if you don't already have a key
ssh-copy-id nick@192.168.x.x
If ssh-copy-id gives you a “No identities found” error, it means no SSH key exists yet. Run ssh-keygen first, then retry.
What About CUDA and Local AI Workloads?
A 4090 on Linux is genuinely exciting for local AI inference. Once the Nvidia drivers are installed, CUDA support is largely automatic. Tools like Ollama will detect your GPU immediately:
curl -fsSL https://ollama.com/install.sh | sh
ollama run llama3
You’ve got 24GB of VRAM — enough to run 70B parameter models quantized, or smaller models at full precision blazing fast. OpenClaw also benefits: with a local GPU, you can offload inference to models running on your own hardware rather than hitting external APIs.
The Honest Takeaway
Setting up an RTX 4090 on Ubuntu 25 is absolutely doable, but it’s not plug-and-play. The main gotchas:
- BIOS/display output confusion is the first wall most people hit
- Nouveau + installer = black screen — use
nomodeset - Driver installation via
ubuntu-driversis the smoothest path - SSH +
ssh-copy-idrequires an existing key pair on the client side
Once you’re through the setup gauntlet, you’ve got an incredibly capable Linux workstation. 24GB of VRAM, CUDA support, and the full Ubuntu ecosystem. Worth the friction.