New kernel module source layout for NVIDIA Linux kernel modules

The NVIDIA GPU driver for Linux consists of multiple user space and kernel space components, with the kernel space components implemented as Linux kernel modules. The NVIDIA Linux driver package includes source code for any portions of these kernel modules which interface directly with the Linux kernel, and the NVIDIA kernel modules must be built against the target kernel from a combination of these source code files and precompiled binary portions. Beginning with the 355.xx release of the NVIDIA Linux driver, a new layout and kernel module build system will be used for the kernel modules that are included in the installer package.

As this new build system may prove disruptive to existing tools which repackage the NVIDIA driver, NVIDIA is providing example installer packages which demonstrate the new layout. These packages include the driver components from the already released 352.21 driver, with the layout of the kernel module source files updated to reflect the layout that will be used in the upcoming 355.xx and later driver releases. These packages also include a version of nvidia-installer which has been updated to handle the new kernel module source layout. These packages, source code for the updated version of nvidia-installer, and a README document describing differences between the old and new build systems, are available at: