We are hiring software engineers to work on Project Nova, the new in-tree, open-source NVIDIA GPU driver for Linux written in Rust. Nova is the long-term replacement for the kernel-mode portion of the current Linux GPU stack developed by NVIDIA. The role covers ongoing work on Linux subsystem infrastructure built with Rust that Nova and other collaboratively developed Rust drivers depend on.
Nova exists within the mainline Linux kernel and is developed publicly. Development occurs through discussions within the kernel mailing threads alongside Nouveau, the DRM subsystem, and the Rust for Linux community.
Our team builds the kernel-side abstractions that make a modern GPU driver possible in Rust, including driver core, PCI configuration, DMA address translation, device input/output and IRQ, devres, auxiliary bus, firmware loader, together with the Rust allocator shim.
What you'll be doing:
As a member of our team, the role applies design, coding expertise, and creativity to build the kernel-side foundation of NVIDIA's in-tree open-source GPU stack. You will compose both the driver itself and the broader Rust kernel ecosystem it sits on top of.
Architect and implement features in nova-core (the chipset-agnostic core driver) and nova-drm (the DRM front-end), targeting existing and upcoming NVIDIA GPU generations from Turing through Blackwell.
Help build the technical direction of Project Nova and the DRM Rust backend shared by other in-tree Rust GPU drivers, including patch review, development dialogues, and coordinating releases on the kernel mailing lists.
Maintain and extend Rust kernel infrastructure spanning PCI, DMA mapping, device I/O and IRQ, driver core, resource management, support bus, firmware loading components, and the Rust allocator shim.
Drive cross-subsystem cleanups that the kernel needs in order to grow safe Rust support, for example generalizing core driver-model infrastructure across multiple buses such as PCI, platform, and SPI.
Collaborate with the Rust for Linux community, DRM subsystem maintainers, and Nova reviewers on patch review, design discussions, and release management on lore.kernel.org and dri-devel.
What we need to see:
BS or MS degree in Computer Science, Electrical Engineering or related field (or equivalent experience).
Strong Rust and C programming skills. Some familiarity with C++ would be a plus
Minimum of 10+ years of related development experience.
Experience working with large codebases, preferably the upstream Linux kernel.
Background with kernel device model, driver core, and OS interfaces for memory management, IRQ handling, and synchronization.
Experience writing and debugging kernel code in multi-threaded, interrupt, and DMA contexts.
Strong written communication, comfortable working entirely in public on open-source mailing threads such as rust-for-linux, dri-devel, nouveau, linux-pci, driver-core, and nova-gpu.
Ways to stand out from the crowd:
Existing upstream maintainer-ship in the Linux kernel, especially in the use of Rust within the Linux environment, DRM, or driver core.
Track record of contributions to drivers/gpu/nova-core/, drivers/gpu/drm/nova/, or rust/kernel/.
Familiarity with DRM Rust infrastructure such as GPUVM, DRM GPU scheduler, GEM, and DRM device abstractions.
Experience with PCI device bring-up, or other GPU bring-up work on real hardware.
History of representing a project in public technical forums such as LPC, Kangrejos, FOSDEM, or dri-devel hackfests.

Since its founding in 1993, NVIDIA (NASDAQ: NVDA) has been a pioneer in accelerated computing. The company’s invention of the GPU in 1999 sparked the growth of the PC gaming market, redefined computer graphics, ignited the era of modern AI and is fueling the creation of the metaverse. NVIDIA is now a full-stack computing company with data-center-scale offerings that are reshaping industry.