NVIDIA Is Changing Their Kernel Module Build System
Written by Michael Larabel in NVIDIA on 15 July 2015 at 08:39 AM EDT. 10 Comments
With NVIDIA's upcoming 355.xx Linux driver series they will be employing a new kernel module build system for their proprietary driver.

This new build system and layout is a "disruptive" change so they've started informing developers and those packaging the binary blob about the alterations. How NVIDIA's kernel modules are laid out has changed and other modifications. This is likely one of the underlying changes in their path towards supporting KMS and Mir/Wayland with their proprietary graphics driver.

Details can be found via this NVIDIA DevTalk thread. NVIDIA has also published new-kbuild-for-355 as a retro-fitted 352.21 driver using this new layout and build system. Here are some of the differences in the build system from that documentation:

* Each kernel module will have its own subdirectory within the top level kernel module source directory.

* Invoking the kernel module build from the top level directory will, by default, build all NVIDIA kernel modules at once. For example, instead of first building "nvidia.ko" as a prerequisite to building "nvidia-uvm.ko", under the new build system, both "nvidia.ko" and "nvidia-uvm.ko" are built within the same `make` invocation, with the Linux Kbuild system handling the inter-module dependencies.

* All built kernel modules will be saved to the top level directory. For example, instead of "nvidia.ko" being saved to the top level directory, and "nvidia-uvm.ko" being saved to the "uvm/" subdirectory, both modules will be saved to the top level directory.

* The new build system no longer supports building multiple instances of the NVIDIA kernel module (e.g. "nvidia0.ko", "nvidia1.ko", ...) which are managed by a shared "nvidia-frontend.ko" frontend module.

The NVIDIA 355 driver should soon be in beta on Linux / FreeBSD / Solaris.
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Popular News This Week