Hobby Rust Kernel Drives Nvidia GPU: GSP-RM to Vulkan
A hobbyist Rust kernel now drives an Nvidia GPU via GSP-RM firmware and a ported Mesa NVK stack, running unmodified Vulkan apps with no Linux involved.
A solo developer in Chile has gotten their from-scratch Rust hobby kernel, constanos, to drive an Nvidia RTX 3050 without Linux or Nvidia's official kernel module. The kernel boots Nvidia's GSP-RM firmware, performs its own display mode setting, manages GPFIFO channels, and hosts a port of Mesa's NVK driver so unmodified Vulkan applications render at 60fps through a custom compositor.
The roughly 31,000-line Rust driver was built by reverse-engineering nouveau's register traces and cross-referencing Nvidia's open hardware documentation, with AI-agent assistance throughout. Notable bugs encountered along the way include GSP-RM silently repointing the BAR1 CPU-to-VRAM window, swapped halves in a page-directory entry, an unexplained error code from GSP-RM's graphics context creation call, and an out-of-bounds memory access from helper shading lanes that crashed the GPU channel on specific pixel alignments.
Testing relied on numbered reboots on a serial-port-less real machine with watchdog recovery, plus a 455-test host-side suite that replays recorded hardware traces against the driver's hardware-agnostic logic layer. Rather than writing a Vulkan driver from scratch, the project plugged into Mesa's existing nvkmd backend interface, a decision that sharply reduced scope while reusing Mesa's mature command-buffer and shader-compiler infrastructure.
This synthesis was produced from its source by AI; there is no human editor or manual review step. How we work