VRAM swap tier
A small daemon borrows GPU memory through the NVIDIA driver and serves it to the kernel as a block device (ublk). Linux uses it as its first swap device. lz4 compression fits ~3× more: a 6 GB card holds ~16 GB.
usm on · usm off
OPEN SOURCE · LINUX · NVIDIA · v0.1.0-beta.1
When RAM fills up, Linux swaps to the disk and everything slows down. USM swaps into the idle memory on your graphics card instead: ~9 µs per page, ~7× faster than NVMe swap. A guard keeps the desktop responsive while it happens.
Unmodified apps · no kernel patches · works with Secure Boot · MIT licensed
Running out of RAM rarely crashes anything. The trouble starts earlier: around 90% full, Linux starts moving memory it hasn't used lately to the disk. From then on, every app that touches a swapped-out page waits for that disk. However fast your SSD is, it is far slower than memory.
Meanwhile, most laptops with an NVIDIA GPU carry 4–12 GB of video memory that sits almost empty unless you game, render or run AI. USM puts it to work.
A small daemon borrows GPU memory through the NVIDIA driver and serves it to the kernel as a block device (ublk). Linux uses it as its first swap device. lz4 compression fits ~3× more: a 6 GB card holds ~16 GB.
usm on · usm off
On a real memory stall it pauses a busy background app for a few seconds. Never the app in front, never one playing sound. Switch to a paused app and it runs again at once. Nothing gets killed.
usm guard on
Need the GPU for a game or AI? One click in GNOME's Quick Settings (or usm off) and the VRAM is
free in seconds. Data moves to RAM, or straight to a disk file when RAM is full.
Quick Settings → VRAM swap
Before suspend or hibernate the tier empties itself and switches off; after waking it comes back. If it can't empty, the sleep is refused rather than risking a hang.
automatic
per page fault from VRAM
RTX 4060 laptop
faster than NVMe swap
per page
page faults per second
4 queues
overload runs that hung
zram: 3 of 6
Every app's data was verified page by page; nothing was killed. Full tables and a script to benchmark your own PC: docs/benchmarks.md.
# download, check, install (asks a few questions)
curl -LO https://github.com/kha333n/usm/releases/download/v0.1.0-beta.1/usm-0.1.0-beta.1-linux-x86_64.tar.gz
tar xzf usm-0.1.0-beta.1-linux-x86_64.tar.gz && cd usm-0.1.0-beta.1-linux-x86_64
sudo ./install.sh
usm status
# needs git, gcc, make, python3
git clone https://github.com/kha333n/usm.git && cd usm
make && make check
sudo ./install.sh
usm status
sudo usm uninstall.
"From a global allocation perspective, actually, it's quite terrible to have everybody have a bunch of the world's limited supply of DRAM sitting in their own computer."
OpenAI's CEO, on the Cheeky Pint podcast, October 2026. A week later he renamed himself "Ram Altman" on X and posted "i want you to have so much ram. lets build more." While he builds more, we found a few gigabytes of very fast memory doing nothing in our own computers, on the graphics card, and borrowed it. The full story →