Nvidia's Linux driver stopped building on Proxmox, and the fix waits for its 620.xx branch

Nvidia's Linux driver stopped building on Proxmox, and the fix waits for its 620.xx branch

Nvidia's open kernel modules stop compiling on Proxmox kernels 7.0.14-20 and later, and Nvidia has now said in public where the repair lands: a Linux driver branch it calls 620.xx. Andy Ritger, whose GitHub profile carries the Nvidia Corporation organisation label, closed two community pull requests on October 12 with almost the same sentence, "We have an equivalent fix in our tree already, and it should be included in our upcoming 620.xx releases."

That is the whole of what Nvidia has said about the branch. No release date, no version number, no list of what else is in it.

What breaks, and on which kernels

Issue 1433 on Nvidia's open kernel module tracker, opened at 05:55 UTC on October 9 and still open, reports that driver 615.71.09 "builds successfully on 7.0.14-19-pve but fails to compile on both newer kernels". The reporter notes that both affected kernels are "official Proxmox packages, not locally compiled kernels or release candidates", and that the failure fires during an ordinary apt full-upgrade, through the DKMS hook that rebuilds the modules after a kernel change. The package involved is nvidia-kernel-open-dkms 615.71.09-2, from Nvidia's own CUDA repository for Debian 13.

The cause is a guard that tests for the wrong thing. Nvidia's nv_cxl structure embeds the kernel's struct cxl_dev_state by value, but the code around it only checks whether a CXL header is present. Proxmox 7.0.14-20 and later ship a stub cxl.h that declares one function and nothing else, so Nvidia's own NV_CXL_INIT_SUPPORTED correctly stays undefined while the structure is still compiled, and the build dies on a field with an incomplete type.

One of the submitters published a test matrix alongside the patch. On 7.0.14-19 both the stock and the patched sources build every module. On -20, -22 and -23 the stock source fails with the reported error and the patched source builds all five modules with no errors.

Closed as already fixed, not turned down

Two people wrote fixes independently, and neither was merged. Pull request 1435, opened on October 9, changes how the nv_cxl fields are generated. Pull request 1438, opened on October 10, swaps the header-presence test for the NV_CXL_INIT_SUPPORTED one. Ritger closed 1438 at 06:02 UTC and 1435 at 21:30 UTC on October 12, thanking both authors and noting that the second was "nearly identical" to the first.

Neither reply disputes the diagnosis or the patch. The phrase doing the work is "our tree", which is not the repository the submitters were writing in, so the fix exists somewhere these contributors cannot see and the code in front of them is not the code that will ship. Nvidia answers its public trackers that way more often than not, and the fourth internal bug number it logged against the Xid 109 hang on October 8 is work nobody outside Nvidia can follow either.

Nothing you can install carries it

Nvidia's newest published Linux open kernel module release is 615.78.08, which went out on October 7, and that is a 615 build rather than a 620 one. A branch family is not a version, so there is no number to watch for and no date attached to it.

Which leaves a Proxmox user with the two patches Nvidia closed without merging, or the 7.0.14-19 kernel on which the stock source still builds, until something from 620.xx actually turns up.

Leave a Comment

Your email address will not be published. Required fields are marked *