nvidia430: add dkms support

This commit is contained in:
Marcin Bojara
2020-01-09 19:41:12 +01:00
parent db7af89ed6
commit ec830eedd3
11 changed files with 215 additions and 196 deletions
@@ -176,6 +176,7 @@
</BuildFlags>
<Conflicts>
<Package>module-nvidia-current</Package>
<Package>nvidia430-dkms</Package>
<Package>nvidia390-dkms</Package>
</Conflicts>
</Package>
+1 -1
View File
@@ -28,7 +28,7 @@ def setup():
#if get.buildTYPE() != 'emul32':
#shelltools.system("patch -p1 < linux-5.1.patch")
#shelltools.system("patch -p1 < linux-5.1.patch")
# Our libc is TLS enabled so use TLS library
@@ -153,6 +153,7 @@
</BuildFlags>
<Conflicts>
<Package>module-nvidia390</Package>
<Package>nvidia430-dkms</Package>
<Package>nvidia-current-dkms</Package>
</Conflicts>
</Package>
+139 -130
View File
@@ -41,6 +41,13 @@ def setup():
shelltools.echo("ld.so.conf", nvlibdir)
shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir)
# dkms
shelltools.copytree("kernel", "kernel-dkms")
shelltools.unlink("kernel-dkms/dkms.conf")
shelltools.move("dkms.conf", "kernel-dkms/")
pisitools.dosed("kernel-dkms/Makefile", "CC \?= cc", "CC = /usr/bin/cc")
pisitools.dosed("kernel-dkms/dkms.conf", "%VERSION%", version)
def build():
# We don't need kernel module for emul32 build
if get.buildTYPE() == 'emul32':
@@ -57,7 +64,7 @@ def install():
# Kernel driver
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
"kernel/nvidia.ko")
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
"kernel/nvidia-drm.ko")
@@ -84,149 +91,151 @@ def install():
#pisitools.dobin("nvidia-settings")
#pisitools.doman("nvidia-settings.1.gz")
# dkms
pisitools.insinto("/usr/src/nvidia-%s" % version, "kernel-dkms/*")
### Libraries
# 32-bit libraries
if get.buildTYPE() == 'emul32':
pisitools.dolib("32/libGL.so.%s" % version, nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1" % nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so" % nvlibdir)
pisitools.dolib("32/libEGL.so.1.1.0", nvlibdir)
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so.1" % nvlibdir)
pisitools.dosym("32/libEGL.so.1.1.0", "%s/libEGL.so" % nvlibdir)
pisitools.dolib("32/libEGL_nvidia.so.%s" % version, libdir)
pisitools.dolib("32/libGLESv1_CM_nvidia.so.%s" % version, libdir)
pisitools.dolib("32/libGLESv2_nvidia.so.%s" % version, libdir)
pisitools.dolib("32/libGL.so.%s" % version, nvlibdir)
# pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1" % nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so" % nvlibdir)
pisitools.dolib("32/libEGL.so.1.1.0", nvlibdir)
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so.1" % nvlibdir)
pisitools.dosym("32/libEGL.so.1.1.0", "%s/libEGL.so" % nvlibdir)
pisitools.dolib("32/libEGL_nvidia.so.%s" % version, libdir)
pisitools.dolib("32/libGLESv1_CM_nvidia.so.%s" % version, libdir)
pisitools.dolib("32/libGLESv2_nvidia.so.%s" % version, libdir)
pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd")
pisitools.dolib("32/libnvidia-compiler.so.%s" % version, libdir)
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir)
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so" % libdir)
#pisitools.dolib("32/libOpenCL.so.1.0.0", libdir)
#pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir)
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir)
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so" % libdir)
pisitools.dolib("32/libnvidia-opencl.so.%s" % version, libdir)
pisitools.dosym("libnvidia-opencl.so.%s" % version, "%s/libnvidia-opencl.so.1" % libdir)
pisitools.dosym("libnvidia-opencl.so.1", "%s/libnvidia-opencl.so" % libdir)
pisitools.dolib("32/libcuda.so.%s" % version, libdir)
pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir)
pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir)
pisitools.dolib("32/libnvcuvid.so.%s" % version, libdir)
pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir)
pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir)
pisitools.dolib("32/libnvidia-ml.so.%s" % version, libdir)
pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir)
pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd")
pisitools.dolib("32/libnvidia-compiler.so.%s" % version, libdir)
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir)
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so" % libdir)
for lib in ("eglcore", "encode", "fatbinaryloader", "fbc", "glcore", "glsi", \
"glvkspirv", "ifr", "opticalflow", "ptxjitcompiler", "tls" ):
pisitools.dolib("32/libnvidia-%s.so.%s" % (lib, version), libdir)
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib))
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so" %(libdir, lib))
#pisitools.dolib("32/libOpenCL.so.1.0.0", libdir)
#pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir)
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir)
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so" % libdir)
pisitools.dolib("32/libnvidia-opencl.so.%s" % version, libdir)
pisitools.dosym("libnvidia-opencl.so.%s" % version, "%s/libnvidia-opencl.so.1" % libdir)
pisitools.dosym("libnvidia-opencl.so.1", "%s/libnvidia-opencl.so" % libdir)
pisitools.dolib("32/libcuda.so.%s" % version, libdir)
pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir)
pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir)
pisitools.dolib("32/libnvcuvid.so.%s" % version, libdir)
pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir)
pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir)
pisitools.dolib("32/libnvidia-ml.so.%s" % version, libdir)
pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir)
for lib in ("eglcore", "encode", "fatbinaryloader", "fbc", "glcore", "glsi", \
"glvkspirv", "ifr", "opticalflow", "ptxjitcompiler", "tls" ):
pisitools.dolib("32/libnvidia-%s.so.%s" % (lib, version), libdir)
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib))
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so" %(libdir, lib))
pisitools.dolib("32/libvdpau_nvidia.so.%s" % version, "%s/vdpau" % libdir)
pisitools.dosym("libvdpau_nvidia.so.%s" % version, "%s/libvdpau_nvidia.so" % libdir)
pisitools.dolib("32/libvdpau_nvidia.so.%s" % version, "%s/vdpau" % libdir)
pisitools.dosym("libvdpau_nvidia.so.%s" % version, "%s/libvdpau_nvidia.so" % libdir)
pisitools.dolib("32/libGLX_nvidia.so.%s" % version, libdir)
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so.0" % libdir)
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so" % libdir)
else:
# OpenGl library
pisitools.dolib("libGL.so.%s" % version, nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1" % nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so" % nvlibdir)
pisitools.dolib("libEGL.so.1.1.0", nvlibdir)
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so.1" % nvlibdir)
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so" % nvlibdir)
pisitools.dolib("libEGL_nvidia.so.%s" % version, libdir)
pisitools.dolib("libGLESv1_CM_nvidia.so.%s" % version, libdir)
pisitools.dolib("libGLESv2_nvidia.so.%s" % version, libdir)
pisitools.dolib("libGLdispatch.so.0", libdir)
pisitools.dosym("libGLdispatch.so.0", "%s/libGLdispatch.so" % libdir)
# OpenCL
pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd")
pisitools.dolib("libnvidia-compiler.so.%s" % version, libdir)
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir)
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so" % libdir)
#pisitools.dolib("libOpenCL.so.1.0.0", libdir)
#pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir)
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir)
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so" % libdir)
pisitools.dolib("libnvidia-opencl.so.%s" % version, libdir)
pisitools.dosym("libnvidia-opencl.so.%s" % version, "%s/libnvidia-opencl.so.1" % libdir)
pisitools.dosym("libnvidia-opencl.so.1", "%s/libnvidia-opencl.so" % libdir)
# CUDA
pisitools.dolib("libcuda.so.%s" % version, libdir)
pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir)
pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir)
pisitools.dolib("libnvcuvid.so.%s" % version, libdir)
pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir)
pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir)
# NVML
# Provides programmatic access to static information and monitoring
# data for NVIDIA GPUs, as well as limited managment capabilities
pisitools.dolib("libnvidia-ml.so.%s" % version, libdir)
pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir)
pisitools.dolib("libnvidia-cfg.so.%s" % version, libdir)
pisitools.dosym("libnvidia-cfg.so.%s" % version, "%s/libnvidia-cfg.so.1" % libdir)
pisitools.dolib("libnvoptix.so.%s" % version, libdir)
pisitools.dosym("libnvoptix.so.%s" % version, "%s/libnvoptix.so.1" % libdir)
pisitools.dosym("libnvoptix.so.%s" % version, "%s/libnvoptix.so" % libdir)
pisitools.dolib("32/libGLX_nvidia.so.%s" % version, libdir)
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so.0" % libdir)
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so" % libdir)
pisitools.dolib("libnvidia-egl-wayland.so.1.1.2", libdir)
pisitools.dosym("libnvidia-egl-wayland.so.1.1.2", "%s/libnvidia-egl-wayland.so.1" % libdir)
pisitools.dosym("libnvidia-egl-wayland.so.1.1.2", "%s/libnvidia-egl-wayland.so" % libdir)
# OpenGL core library and others
for lib in ("cbl", "eglcore", "encode", "fatbinaryloader", "fbc", "glcore", "glsi", \
"glvkspirv", "ifr", "opticalflow", "ptxjitcompiler", "rtcore", "tls" ):
pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir)
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib))
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so" %(libdir, lib))
else:
# OpenGl library
pisitools.dolib("libGL.so.%s" % version, nvlibdir)
# pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1" % nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so" % nvlibdir)
pisitools.dolib("libEGL.so.1.1.0", nvlibdir)
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so.1" % nvlibdir)
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so" % nvlibdir)
pisitools.dolib("libEGL_nvidia.so.%s" % version, libdir)
pisitools.dolib("libGLESv1_CM_nvidia.so.%s" % version, libdir)
pisitools.dolib("libGLESv2_nvidia.so.%s" % version, libdir)
pisitools.dolib("libGLdispatch.so.0", libdir)
pisitools.dosym("libGLdispatch.so.0", "%s/libGLdispatch.so" % libdir)
# OpenCL
pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd")
pisitools.dolib("libnvidia-compiler.so.%s" % version, libdir)
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir)
pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so" % libdir)
#pisitools.dolib("libOpenCL.so.1.0.0", libdir)
#pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir)
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir)
#pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so" % libdir)
pisitools.dolib("libnvidia-opencl.so.%s" % version, libdir)
pisitools.dosym("libnvidia-opencl.so.%s" % version, "%s/libnvidia-opencl.so.1" % libdir)
pisitools.dosym("libnvidia-opencl.so.1", "%s/libnvidia-opencl.so" % libdir)
# CUDA
pisitools.dolib("libcuda.so.%s" % version, libdir)
pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir)
pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir)
pisitools.dolib("libnvcuvid.so.%s" % version, libdir)
pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir)
pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir)
# NVML
# Provides programmatic access to static information and monitoring
# data for NVIDIA GPUs, as well as limited managment capabilities
pisitools.dolib("libnvidia-ml.so.%s" % version, libdir)
pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir)
pisitools.dolib("libnvidia-cfg.so.%s" % version, libdir)
pisitools.dosym("libnvidia-cfg.so.%s" % version, "%s/libnvidia-cfg.so.1" % libdir)
pisitools.dolib("libnvoptix.so.%s" % version, libdir)
pisitools.dosym("libnvoptix.so.%s" % version, "%s/libnvoptix.so.1" % libdir)
pisitools.dosym("libnvoptix.so.%s" % version, "%s/libnvoptix.so" % libdir)
pisitools.dolib("libnvidia-egl-wayland.so.1.1.2", libdir)
pisitools.dosym("libnvidia-egl-wayland.so.1.1.2", "%s/libnvidia-egl-wayland.so.1" % libdir)
pisitools.dosym("libnvidia-egl-wayland.so.1.1.2", "%s/libnvidia-egl-wayland.so" % libdir)
# OpenGL core library and others
for lib in ("cbl", "eglcore", "encode", "fatbinaryloader", "fbc", "glcore", "glsi", \
"glvkspirv", "ifr", "opticalflow", "ptxjitcompiler", "rtcore", "tls" ):
pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir)
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib))
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so" %(libdir, lib))
# VDPAU driver
pisitools.dolib("libvdpau_nvidia.so.%s" % version, "%s/vdpau" % libdir)
pisitools.dosym("libvdpau_nvidia.so.%s" % version, "%s/libvdpau_nvidia.so" % libdir)
# VDPAU driver
pisitools.dolib("libvdpau_nvidia.so.%s" % version, "%s/vdpau" % libdir)
pisitools.dosym("libvdpau_nvidia.so.%s" % version, "%s/libvdpau_nvidia.so" % libdir)
# X modules
pisitools.dolib("nvidia_drv.so", "%s/modules/drivers" % xorglibdir)
pisitools.dolib("libglxserver_nvidia.so.%s" % version, "%s" % nvlibdir)
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/libglx.so.1" % nvlibdir)
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/libglx.so" % nvlibdir)
pisitools.dolib("libglxserver_nvidia.so.%s" % version, "%s/modules/extensions" % xorglibdir)
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/modules/extensions/libglx.so.1" % xorglibdir)
pisitools.dolib("libGLX_nvidia.so.%s" % version, libdir)
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so.0" % libdir)
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so" % libdir)
pisitools.insinto("/usr/share/X11/xorg.conf.d", "nvidia-drm-outputclass.conf")
# pisitools.insinto("/usr/share/nvidia", "nvidia-application-profiles-367.27-rc")
# X modules
pisitools.dolib("nvidia_drv.so", "%s/modules/drivers" % xorglibdir)
pisitools.dolib("libglxserver_nvidia.so.%s" % version, "%s" % nvlibdir)
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/libglx.so.1" % nvlibdir)
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/libglx.so" % nvlibdir)
pisitools.dolib("libglxserver_nvidia.so.%s" % version, "%s/modules/extensions" % xorglibdir)
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/modules/extensions/libglx.so.1" % xorglibdir)
pisitools.dolib("libGLX_nvidia.so.%s" % version, libdir)
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so.0" % libdir)
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_indirect.so" % libdir)
pisitools.insinto("/usr/share/X11/xorg.conf.d", "nvidia-drm-outputclass.conf")
# pisitools.insinto("/usr/share/nvidia", "nvidia-application-profiles-367.27-rc")
# pisitools.insinto("/usr/share/nvidia", "nvidia-application-profiles-367.27-key-documentation")
#pisitools.insinto("/usr/share/pixmaps", "nvidia-settings.png")
#pisitools.dolib("libnvidia-gtk2.so.%s" % version, libdir)
#pisitools.dolib("libnvidia-gtk3.so.%s" % version, libdir)
#pisitools.insinto("/usr/share/pixmaps", "nvidia-settings.png")
#pisitools.dolib("libnvidia-gtk2.so.%s" % version, libdir)
#pisitools.dolib("libnvidia-gtk3.so.%s" % version, libdir)
@@ -1,25 +0,0 @@
#!/usr/bin/python
import os
driver_dir_name = "nvidia-current"
libdir = "/usr/lib32/%s" % driver_dir_name
datadir = "/usr/share/%s" % driver_dir_name
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
os.system(" /usr/sbin/alternatives \
--install /usr/lib32/libGL.so.1.2.0 libGL-32bit %(libdir)s/libGL.so.1.2.0 50 \
--slave /usr/lib32/xorg/modules/volatile xorg-modules-volatile-32bit %(libdir)s/modules"
% {"libdir": libdir, "datadir": datadir})
# --slave /etc/ld.so.conf.d/10-nvidia-32bit.conf nvidia-ldsoconf-32bit %(datadir)s/32bit-ld.so.conf"
# If this driver is in use, refresh links after installation.
if os.readlink("/etc/alternatives/libGL-32bit") == "%s/libGL.so.1.2.0" % libdir:
os.system("/usr/sbin/alternatives --set libGL-32bit %s/libGL.so.1.2.0" % libdir)
os.system("/sbin/ldconfig -X")
def preRemove():
# FIXME This is not needed when upgrading package; but pisi does not
# provide a way to learn operation type.
#os.system("/usr/sbin/alternatives --remove libGL-32bit %s/libGL.so.1.2.0" % libdir)
pass
@@ -1,26 +0,0 @@
#!/usr/bin/python
import os
driver_dir_name = "nvidia-current"
libdir = "/usr/lib/%s" % driver_dir_name
datadir = "/usr/share/%s" % driver_dir_name
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
os.system(" /usr/sbin/alternatives \
--install /usr/lib/libGL.so.1.2.0 libGL %(libdir)s/libGL.so.1.2.0 50 \
--slave /usr/lib/xorg/modules/volatile xorg-modules-volatile %(libdir)s/modules"
% {"libdir": libdir, "datadir": datadir})
# --slave /etc/X11/XvMCConfig XvMCConfig %(datadir)s/XvMCConfig \
# --slave /etc/ld.so.conf.d/10-nvidia.conf nvidia-ldsoconf %(datadir)s/ld.so.conf"
# If this driver is in use, refresh links after installation.
if os.readlink("/etc/alternatives/libGL") == "%s/libGL.so.1.2.0" % libdir:
os.system("/usr/sbin/alternatives --set libGL %s/libGL.so.1.2.0" % libdir)
os.system("/sbin/ldconfig -X")
def preRemove():
# FIXME This is not needed when upgrading package; but pisi does not
# provide a way to learn operation type.
#os.system("/usr/sbin/alternatives --remove libGL %s/libGL.so.1.2.0" % libdir)
pass
@@ -0,0 +1,19 @@
PACKAGE_NAME="nvidia"
PACKAGE_VERSION="%VERSION%"
AUTOINSTALL="yes"
# By default, DKMS will add KERNELRELEASE to the make command line; however,
# this will cause the kernel module build to infer that it was invoked via
# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
# the 'make' command name to suppress this behavior.
MAKE[0]="'make' -j5 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"
# The list of kernel modules was generated by nvidia-installer at runtime.
BUILT_MODULE_NAME[0]="nvidia"
DEST_MODULE_LOCATION[0]="/extra"
BUILT_MODULE_NAME[1]="nvidia-uvm"
DEST_MODULE_LOCATION[1]="/extra"
BUILT_MODULE_NAME[2]="nvidia-modeset"
DEST_MODULE_LOCATION[2]="/extra"
BUILT_MODULE_NAME[3]="nvidia-drm"
DEST_MODULE_LOCATION[3]="/extra"
View File
@@ -0,0 +1,8 @@
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
ModulePath "/usr/lib/nvidia/xorg"
ModulePath "/usr/lib/xorg/modules"
EndSection
+46 -14
View File
@@ -18,8 +18,8 @@
<Dependency>gtk2-devel</Dependency>
<Dependency>gtk3-devel</Dependency>
</BuildDependencies>
<AdditionalFiles>
<!-- <AdditionalFile owner="root" permission="0644" target="header-fix.patch">header-fix.patch</AdditionalFile> -->
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="dkms.conf">dkms.conf</AdditionalFile>
</AdditionalFiles>
</Source>
@@ -41,6 +41,9 @@
<BuildFlags>
<Flag>noDelta</Flag>
</BuildFlags>
<Conflicts>
<Package>nvidia430-dkms</Package>
</Conflicts>
</Package>
<!--<Package>
@@ -108,9 +111,12 @@
<Dependency>libX11</Dependency>
<Dependency>mesa</Dependency>
<Dependency>xorg-server</Dependency>
<Dependency>opencl-icd</Dependency>
<Dependency>vulkan</Dependency>
<Dependency version="current">module-nvidia430</Dependency>
<Dependency>opencl-icd</Dependency>
<Dependency>vulkan</Dependency>
<AnyDependency>
<Dependency version="current">module-nvidia430</Dependency>
<Dependency>nvidia430-dkms</Dependency>
</AnyDependency>
</RuntimeDependencies>
<Files>
<Path fileType="data">/etc/OpenCL</Path>
@@ -121,9 +127,6 @@
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="man">/usr/share/man</Path>
</Files>
<Provides>
<COMAR script="package.py">System.Package</COMAR>
</Provides>
<BuildFlags>
<Flag>noDelta</Flag>
</BuildFlags>
@@ -142,8 +145,8 @@
<Dependency>mesa-32bit</Dependency>
<Dependency>libX11-32bit</Dependency>
<Dependency>libXext-32bit</Dependency>
<Dependency>opencl-icd-32bit</Dependency>
<Dependency>vulkan-32bit</Dependency>
<Dependency>opencl-icd-32bit</Dependency>
<Dependency>vulkan-32bit</Dependency>
<Dependency release="current">xorg-video-nvidia430</Dependency>
<Dependency>atk</Dependency>
<Dependency>gtk2</Dependency>
@@ -157,16 +160,45 @@
<Path fileType="library">/usr/lib32</Path>
<Path fileType="library">/usr/share/nvidia430/32bit-ld.so.conf</Path>
</Files>
<Provides>
<COMAR script="package-emul32.py">System.Package</COMAR>
</Provides>
<BuildFlags>
<Flag>noDelta</Flag>
</BuildFlags>
</Package>
<Package>
<Name>nvidia430-dkms</Name>
<IsA>driver</IsA>
<Summary>NVIDIA driver sources for linux</Summary>
<RuntimeDependencies>
<Dependency>dkms</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="config">/etc/modprobe.d/nvidia430-dkms.conf</Path>
<Path fileType="data">/usr/src/nvidia*</Path>
</Files>
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="/etc/modprobe.d/nvidia430-dkms.conf">modprobe.conf</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf">xorg.conf</AdditionalFile>
</AdditionalFiles>
<BuildFlags>
<Flag>noDelta</Flag>
</BuildFlags>
<Conflicts>
<Package>module-nvidia430</Package>
<Package>nvidia-current-dkms</Package>
<Package>nvidia390-dkms</Package>
</Conflicts>
</Package>
<History>
<Update release="1">
<Update release="2">
<Date>2020-01-09</Date>
<Version>430.64</Version>
<Comment>Add dkms support</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin.bojara@gmail.com</Email>
</Update>
<Update release="1">
<Date>2019-11-03</Date>
<Version>430.64</Version>
<Comment>First release</Comment>
View File