NVIDIA is taking the open-source and upstream “Nova” kernel graphics driver quite seriously for their hardware. Hitting the mailing lists on Friday night were initial patches in beginning to make preparations toward “next-gen GPU” support. Digging into the comments, it’s indeed for post-Blackwell GPUs.
Catching me by surprise last night was seeing this patch series hit the wire: gpu: nova: add boot42 support for next-gen GPUs. Clearly calling out “next-gen GPUs”. NVIDIA engineer John Hubbard then explained in the patch cover letter:
“NVIDIA GPUs are moving away from using NV_PMC_BOOT_0 to contain architecture and revision details, and will instead use NV_PMC_BOOT_42 in the future. NV_PMC_BOOT_0 will be zeroed out.
Change the selection logic in Nova so that it will claim Turing and later GPUs. This will work for the foreseeable future, without any further code changes here, because all NVIDIA GPUs are considered, from the oldest supported on Linux (NV04), through the future GPUs.
Add some comment documentation to explain, chronologically, how boot0 and boot42 change with the GPU eras, and how that affects the selection logic.
Also, remove a couple of types: Spec and Revision. That deletes a net total of 33 lines of code and simplifies that area of code. It also simplifies the subsequent boot42 support diffs.”
This is just one step toward the next-gen GPU support with this Rust-written Nova NVIDIA kernel graphics driver but surprising to see them call out the “next-gen” usage so openly.
Digging through the patches, there is confirmation of Turing through Blackwell GPUs relying on the boot0 functionality while then mentioning the future “next-gen” GPUs using only boot42 with boot0 seroed out. In other words, this “next-gen” support being for Rubin.
Nice to see NVIDIA Linux engineers already beginning to evaluate changes to the Nova driver for their next-gen GPU support and to be doing so openly on the mailing lists. Hopefully more to come for open-source Rubin support soon.
