This is the open-source version of the kernel module needed by the
proprietary binary nvidia driver.  It is provided as an alterative to
the nvidia-kernel SBo script that builds the modules from the binary
Nvidia package.  Note that it CANNOT be installed with the
nvidia-kernel package, but you will still need the nvidia-driver
package from SlackBuilds.org.

To build the package for a kernel different from the running one,
start the script setting the KERNEL variable as in
    KERNEL=4.6.3 ./nvidia-open-kernel.SlackBuild

A default config file is placed at 
  /usr/share/X11/xorg.conf.d/10-nvidia.conf
to make sure that X loads the nvidia module.  If you need to make
changes, move that file to /etc/X11/xorg.conf.d/ and edit the copy.
You do not need this file at all if you have a proper and complete
xorg.conf.

The xf86-video-nouveau-blacklist package from /extra is required.

NOTES (quoted from the Nvidia driver README)

"The open flavor of kernel modules supports Turing and later GPUs. The
open kernel modules cannot support GPUs before Turing, because the open
kernel modules depend on the GPU System Processor (GSP) first
introduced in Turing.

"Most features of the Linux GPU driver are supported with the open
flavor of kernel modules, including CUDA, Vulkan, OpenGL, OptiX, and
X11.  We eventually intend for the open kernel modules to replace the
proprietary kernel modules.

"The following features will only work with the open kernel modules
flavor of the driver:

   o NVIDIA Confidential Computing

   o Magnum IO GPUDirect Storage (GDS)

   o Heterogeneous Memory Management (HMM)

   o CPU affinity for GPU fault handlers

   o DMABUF support for CUDA allocations


"The following features are not yet supported by the open kernel
modules:

   o G-Sync on notebooks

   o Preserving video memory across power management events


Use of the open kernel modules on GeForce and Workstation GPUs should
be considered Beta quality in this release and no longer requires
setting of the "NVreg_OpenRmEnableUnsupportedGpus" nvidia.ko kernel
module parameter.  The open kernel modules are suitable for broad
usage, and NVIDIA requests feedback on any issues encountered that are
specific to them."

After installation, you will need to reboot your computer for the
changes to take effect.

I am happy to report that ffmpeg hardware video encoding via h264_nvenc
and hevc_nvenc now WORKS with this module.
