Why does nVidia provide RPMs for Cuda and not for the display driver

In the past I’ve been using the .run scripts from nVidia to install the display driver, but recently I wanted to try CUDA on my work computer. This was a Fedora installation and the Cuda SDK was available as an RPM which worked extremely well. Even more, after installing the Cuda RPM I rebooted the machine and found that it also installed the proprietary display driver. Because the RPM worked so well (automatic updates with kernel update etc.) I was wondering if there is any downside to just using the Cuda RPMs to install the Linux display driver? And it seems to me that nVidia has the capability to create high quality RPMs, so why are they not providing RPMs for the display driver as well?

As far as I know CUDA RPMs support only RHEL 6/7, that’s why they seem to work so well.

Meanwhile supporting hundreds of thousands of Linux distros (each distro * number of supported versions * number of kernels) is not so simple.

Nvidia have a fedora repo with X driver


The X driver would work for F24, using them on F25 wouldn’t work due to fedora mesa/libglvnd changes.

Sure. You can not support ALL distro, but I see they DO have CUDA RPMs for Redhat/CentOS 6 & 7, Fedora 23, SUSE and they even have deb packages for Ubuntu 14.04 and 16.04. So if you are running either of these distributions, is there any reason to not use the CUDA RPM/DEB package instead of the regular display driver? Or is it the exact same driver?

All the drivers originate from the same source, the only difference is the way they are packaged.
For Fedora the best choice is negativo17 repo or rpmfusion.

The cuda X driver is just copied from old rpmfusion srpm

$ rpm -qp --changelog '/home/leigh/Downloads/var/cuda-repo-8-0-local-ga2/xorg-x11-drv-nvidia-libs-375.26-3.fc23.x86_64.rpm' 
warning: /home/leigh/Downloads/var/cuda-repo-8-0-local-ga2/xorg-x11-drv-nvidia-libs-375.26-3.fc23.x86_64.rpm: Header V3 RSA/SHA512 Signature, key ID 7fa2af80: NOKEY
* Wed Aug 10 2016 Leigh Scott <leigh123linux@googlemail.com> - 1:367.35-3
- Revert last commit
- add ldconfig in %post and %postun for main package rfbz#3998

* Wed Aug 10 2016 Leigh Scott <leigh123linux@googlemail.com> - 1:367.35-2
- Move setttings libs to libs sub-package rfbz#3998

* Sun Jul 17 2016 Leigh Scott <leigh123linux@googlemail.com> - 1:367.35-1
- Update to 367.35

* Sat Jul 16 2016 Leigh Scott <leigh123linux@googlemail.com> - 1:367.27-2
- Add vulkan icd profile

There has been many improvement since then


This may be true with respect to packaging the driver, but I think it is missing the main point: it would be enough for NVIDIA to support the official kernel release, i.e. the one published by Linus on kernel.org.
Packaging is a minor issue. If they regularly supported that single official release in a timely manner, most compatibility problems with the driver would be solved, and it would transparently be compatible with all major distributions.
The main problem I see is not with packaging, it is with kernel compatibility.