nvidia modules are ready
This commit is contained in:
Regular → Executable
+181
-80
@@ -22,19 +22,21 @@ nvlibdir = "%s/%s" % (libdir, driver_dir_name)
|
||||
xorglibdir= "%s/xorg" % libdir
|
||||
|
||||
def setup():
|
||||
shelltools.system("sh NVIDIA-Linux-%s-%s.run -x --target tmp"
|
||||
% (arch, get.srcVERSION()))
|
||||
shelltools.system("sh NVIDIA-Linux-x86_64-%s.run -x --target tmp"
|
||||
% get.srcVERSION())
|
||||
shelltools.move("tmp/*", ".")
|
||||
|
||||
#shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch")
|
||||
#shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch")
|
||||
|
||||
#shelltools.system("patch -p1 < header-fix.patch")
|
||||
|
||||
# Our libc is TLS enabled so use TLS library
|
||||
#shelltools.unlink("*-tls.so*")
|
||||
#shelltools.move("tls/*", ".")
|
||||
|
||||
# xorg-server provides libwfb.so
|
||||
shelltools.unlink("libnvidia-wfb.so.*")
|
||||
#shelltools.unlink("libnvidia-wfb.so.*")
|
||||
|
||||
shelltools.echo("ld.so.conf", nvlibdir)
|
||||
shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir)
|
||||
@@ -46,11 +48,8 @@ def build():
|
||||
|
||||
shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR)
|
||||
shelltools.cd("kernel")
|
||||
|
||||
autotools.make("module")
|
||||
autotools.make("module")
|
||||
|
||||
#shelltools.cd("uvm")
|
||||
#autotools.make("module")
|
||||
|
||||
def install():
|
||||
|
||||
@@ -58,6 +57,9 @@ 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")
|
||||
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia-uvm.ko")
|
||||
@@ -84,89 +86,188 @@ def install():
|
||||
|
||||
|
||||
### Libraries
|
||||
# OpenGl library
|
||||
pisitools.dolib("libGL.so.%s" % version, nvlibdir)
|
||||
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
|
||||
pisitools.dolib("libGL.so.%s" % version, libdir)
|
||||
|
||||
pisitools.dolib("libEGL.so.1.1.0", nvlibdir)
|
||||
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so.1" % 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)
|
||||
|
||||
# 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)
|
||||
# 32-bit libraries
|
||||
if get.buildTYPE() == 'emul32':
|
||||
pisitools.dolib("32/libGL.so.1.7.0", nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so.1.2.0" % nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so.1" % nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so" % nvlibdir)
|
||||
|
||||
pisitools.dolib("32/libEGL.so.1.1.0", nvlibdir)
|
||||
#pisitools.dosym("%s/libEGL.so.1.1.0" % nvlibdir, "%s/libEGL.so.1.1.0" % libdir)
|
||||
#pisitools.dosym("%s/libEGL.so.1.1.0" % nvlibdir, "%s/libEGL.so.1.0.0" % nvlibdir)
|
||||
#pisitools.dosym("%s/libEGL.so.1.1.0" % nvlibdir, "%s/libEGL.so.1" % nvlibdir)
|
||||
#pisitools.dosym("%s/libEGL.so.1.1.0" % nvlibdir, "%s/libEGL.so" % nvlibdir)
|
||||
|
||||
pisitools.dolib("32/libEGL_nvidia.so.%s" % version, libdir)
|
||||
pisitools.dosym("libEGL_nvidia.so.%s" % version, "%s/libEGL_nvidia.so.1" %libdir)
|
||||
pisitools.dosym("libEGL_nvidia.so.%s" % version, "%s/libEGL_nvidia.so" %libdir)
|
||||
|
||||
pisitools.dolib("32/libGLESv1_CM_nvidia.so.%s" % version, libdir)
|
||||
pisitools.dolib("32/libGLESv2_nvidia.so.%s" % version, libdir)
|
||||
|
||||
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", "%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", "allocator" ):
|
||||
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("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.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)
|
||||
|
||||
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.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_nvidia.so.0" % libdir)
|
||||
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_nvidia.so" % libdir)
|
||||
|
||||
pisitools.dolib("32/libGLdispatch.so.0", libdir)
|
||||
pisitools.dosym("libGLdispatch.so.0", "%s/ibGLdispatch.so" % libdir)
|
||||
|
||||
pisitools.dolib("32/libGLX.so.0", libdir)
|
||||
pisitools.dosym("libGLX.so.0", "%s/libGLX.so" % libdir)
|
||||
|
||||
pisitools.dolib("32/libOpenGL.so.0", libdir)
|
||||
pisitools.dosym("libOpenGL.so.0", "%s/libOpenGL.so" % libdir)
|
||||
|
||||
else:
|
||||
# OpenGl library
|
||||
pisitools.dolib("libGL.so.1.7.0", nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so.1.2.0" % nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so.1" % nvlibdir)
|
||||
pisitools.dosym("libGL.so.1.7.0", "%s/libGL.so" % nvlibdir)
|
||||
|
||||
pisitools.dolib("libEGL.so.1.1.0", nvlibdir)
|
||||
#pisitools.dosym("%s/libEGL.so.1.1.0" % nvlibdir, "%s/libEGL.so.1.1.0" % libdir)
|
||||
#pisitools.dosym("%s/libEGL.so.1.1.0" % nvlibdir, "%s/libEGL.so.1.0.0" % nvlibdir)
|
||||
#pisitools.dosym("%s/libEGL.so.1.1.0" % nvlibdir, "%s/libEGL.so.1" % nvlibdir)
|
||||
#pisitools.dosym("%s/libEGL.so.1.1.0" % nvlibdir, "%s/libEGL.so" % nvlibdir)
|
||||
pisitools.dolib("libEGL_nvidia.so.%s" % version, libdir)
|
||||
pisitools.dolib("libEGL.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)
|
||||
|
||||
pisitools.dolib("libGLX.so.0", libdir)
|
||||
pisitools.dosym("libGLX.so.0", "%s/libGLX.so" % libdir)
|
||||
|
||||
pisitools.dolib("libOpenGL.so.0", libdir)
|
||||
pisitools.dosym("libOpenGL.so.0", "%s/libOpenGL.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("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.4", libdir)
|
||||
pisitools.dosym("libnvidia-egl-wayland.so.1.1.4", "%s/libnvidia-egl-wayland.so.1" % libdir)
|
||||
pisitools.dosym("libnvidia-egl-wayland.so.1.1.4", "%s/libnvidia-egl-wayland.so" % libdir)
|
||||
|
||||
# OpenGL core library and others
|
||||
for lib in ("allocator", "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))
|
||||
|
||||
# OpenGL core library and others
|
||||
for lib in ("glcore", "tls", "encode", "fbc", "glsi", "ifr", "eglcore"):
|
||||
pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir)
|
||||
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(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)
|
||||
|
||||
# nvidia-tls library
|
||||
pisitools.dolib("libnvidia-tls.so.%s" % version, libdir)
|
||||
pisitools.dolib("tls/libnvidia-tls.so.%s" % version, "%s/tls" % libdir)
|
||||
|
||||
# X modules
|
||||
pisitools.dolib("nvidia_drv.so", "%s/modules/drivers" % xorglibdir)
|
||||
pisitools.dolib("libglx.so.%s" % version, "%s/modules/extensions" % xorglibdir)
|
||||
pisitools.dosym("libglx.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)
|
||||
|
||||
# PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA)
|
||||
pisitools.dolib("libnvidia-ptxjitcompiler.so.%s" % version, libdir)
|
||||
|
||||
# Fat (multiarchitecture) binary loader
|
||||
pisitools.dolib("libnvidia-fatbinaryloader.so.%s" % version, 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/xorg/extensions" % nvlibdir)
|
||||
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/xorg/extensions/libglx.so.1" % nvlibdir)
|
||||
pisitools.dosym("libglxserver_nvidia.so.%s" % version, "%s/xorg/extensions/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)
|
||||
|
||||
# Vulkan driver
|
||||
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.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_nvidia.so.0" % libdir)
|
||||
pisitools.dosym("libGLX_nvidia.so.%s" % version, "%s/libGLX_nvidia.so" % libdir)
|
||||
pisitools.insinto("/etc/vulkan/icd.d", "nvidia_icd.json")
|
||||
pisitools.insinto("/etc/vulkan/icd.d", "nvidia_layers.json")
|
||||
|
||||
pisitools.insinto("/usr/share/glvnd/egl_vendor.d", "10_nvidia.json")
|
||||
|
||||
#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.insinto("/usr/share/pixmaps", "nvidia-settings.png")
|
||||
|
||||
pisitools.dolib("libnvidia-gtk2.so.%s" % version, libdir)
|
||||
pisitools.dolib("libnvidia-gtk3.so.%s" % version, libdir)
|
||||
|
||||
|
||||
|
||||
pisitools.dolib("libnvidia-gtk2.so.%s" % version, libdir)
|
||||
pisitools.dolib("libnvidia-gtk3.so.%s" % version, libdir)
|
||||
|
||||
# Exit time for emul32 build
|
||||
if get.buildTYPE() == 'emul32':
|
||||
pisitools.insinto(datadir, "ld.so.conf", "32bit-ld.so.conf")
|
||||
return
|
||||
#if get.buildTYPE() == 'emul32':
|
||||
#pisitools.insinto(datadir, "ld.so.conf", "32bit-ld.so.conf")
|
||||
#return
|
||||
|
||||
pisitools.insinto(datadir, "ld.so.conf")
|
||||
pisitools.insinto(datadir, "XvMCConfig")
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
@@ -11,14 +11,13 @@
|
||||
<License>NVIDIA</License>
|
||||
<Summary>NVIDIA drivers for GeForce 6xxx and newer GPUs</Summary>
|
||||
<Description>NVIDIA graphics drivers provide optimized 2D/3D performance.</Description>
|
||||
<Archive sha1sum="9f58a26a88d9ce400b47566490b089ce2e950e5d" type="binary">http://download.nvidia.com/XFree86/Linux-x86/390.116/NVIDIA-Linux-x86-390.116.run</Archive>
|
||||
<Archive sha1sum="d2beae835642513e1a77e1eef0a60dd21db6c81f" type="binary">http://download.nvidia.com/XFree86/Linux-x86_64/390.116/NVIDIA-Linux-x86_64-390.116.run</Archive>
|
||||
<AdditionalFiles>
|
||||
<Archive sha1sum="fb412c254b9a9f42b7837691368aa883df7c23f1" type="binary">http://http.download.nvidia.com/XFree86/Linux-x86_64/440.36/NVIDIA-Linux-x86_64-440.44.run</Archive>
|
||||
<!-- <AdditionalFiles>
|
||||
<AdditionalFile target="NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch">NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch</AdditionalFile>
|
||||
<AdditionalFile target="NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch">NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</AdditionalFiles>-->
|
||||
<BuildDependencies>
|
||||
<Dependency version="4.19.56">kernel-module-headers</Dependency>
|
||||
<Dependency version="5.4.6">kernel-module-headers</Dependency>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>gtk3-devel</Dependency>
|
||||
@@ -30,7 +29,7 @@
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Kernel module for current NVIDIA graphics driver releases</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="4.19.56">kernel</Dependency>
|
||||
<Dependency version="5.4.6">kernel</Dependency>
|
||||
<!-- <Dependency release="current">module-nvidia-current-userspace</Dependency> -->
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
@@ -164,6 +163,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="27">
|
||||
<Date>2019-12-28</Date>
|
||||
<Version>440.44</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>İdris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="26">
|
||||
<Date>2019-08-14</Date>
|
||||
<Version>390.116</Version>
|
||||
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
+78
@@ -0,0 +1,78 @@
|
||||
--- kernel/os-interface.c 2017-09-14 23:51:09.000000000 +0300
|
||||
+++ kernel/os-interface.c 2019-11-05 19:23:48.332089532 +0300
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
#include "os-interface.h"
|
||||
#include "nv-linux.h"
|
||||
+#include <linux/time.h>
|
||||
|
||||
void NV_API_CALL os_disable_preemption(void)
|
||||
{
|
||||
|
||||
--- kernel/os-interface.c 2019-11-05 19:34:40.868104129 +0300
|
||||
+++ kernel/os-interface.c 2019-11-05 19:38:43.529109557 +0300
|
||||
@@ -26,6 +26,14 @@
|
||||
#include "nv-linux.h"
|
||||
#include <linux/time.h>
|
||||
|
||||
+void do_gettimeofday(struct timeval *tv)
|
||||
+{
|
||||
+struct timespec64 ts;
|
||||
+ktime_get_real_ts64(&ts);
|
||||
+tv->tv_sec = ts.tv_sec;
|
||||
+tv->tv_usec = ts.tv_nsec;
|
||||
+}
|
||||
+
|
||||
void NV_API_CALL os_disable_preemption(void)
|
||||
{
|
||||
#if defined(preempt_disable)
|
||||
diff --git kernel/nv-linux.h kernel/nv-linux.h
|
||||
index 4043bf1..62f0874 100644
|
||||
--- kernel/nv-linux.h
|
||||
+++ kernel/nv-linux.h
|
||||
@@ -877,12 +877,21 @@ extern void *nv_stack_t_cache;
|
||||
__ret; \
|
||||
})
|
||||
#elif (NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT == 3)
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 3, 0)
|
||||
#define NV_SMP_CALL_FUNCTION(func, info, wait) \
|
||||
({ \
|
||||
int __ret = smp_call_function(func, info, wait); \
|
||||
__ret; \
|
||||
})
|
||||
#else
|
||||
+#define NV_SMP_CALL_FUNCTION(func, info, wait) \
|
||||
+ ({ \
|
||||
+ int __ret = 0; \
|
||||
+ smp_call_function(func, info, wait); \
|
||||
+ __ret; \
|
||||
+ })
|
||||
+#endif
|
||||
+#else
|
||||
#error "NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT value unrecognized!"
|
||||
#endif
|
||||
#elif defined(CONFIG_SMP)
|
||||
@@ -897,12 +906,21 @@ extern void *nv_stack_t_cache;
|
||||
__ret; \
|
||||
})
|
||||
#elif (NV_ON_EACH_CPU_ARGUMENT_COUNT == 3)
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 3, 0)
|
||||
#define NV_ON_EACH_CPU(func, info, wait) \
|
||||
({ \
|
||||
int __ret = on_each_cpu(func, info, wait); \
|
||||
__ret; \
|
||||
})
|
||||
#else
|
||||
+#define NV_ON_EACH_CPU(func, info, wait) \
|
||||
+ ({ \
|
||||
+ int __ret = 0; \
|
||||
+ on_each_cpu(func, info, wait); \
|
||||
+ __ret; \
|
||||
+ })
|
||||
+#endif
|
||||
+#else
|
||||
#error "NV_ON_EACH_CPU_ARGUMENT_COUNT value unrecognized!"
|
||||
#endif
|
||||
#elif defined(CONFIG_SMP)
|
||||
|
||||
|
||||
Regular → Executable
Regular → Executable
@@ -17,9 +17,10 @@
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile target="kernel-4.14.patch">kernel-4.14.patch</AdditionalFile>
|
||||
<AdditionalFile target="nvidia-304.137-bionic-18.04.patch">nvidia-304.137-bionic-18.04.patch</AdditionalFile>
|
||||
<AdditionalFile target="linux-5.3.patch">linux-5.3.patch</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildDependencies>
|
||||
<Dependency version="4.19.56">kernel-module-headers</Dependency>
|
||||
<Dependency version="5.4.6">kernel-module-headers</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
@@ -27,7 +28,7 @@
|
||||
<Name>module-nvidia304</Name>
|
||||
<Summary>Kernel module for NVIDIA driver 304.xx releases</Summary>
|
||||
<RuntimeDependencies>2
|
||||
<Dependency version="4.19.56">kernel</Dependency>
|
||||
<Dependency version="5.4.6">kernel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library" permanent="true">/lib/modules</Path>
|
||||
@@ -67,6 +68,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="28">
|
||||
<Date>2019-12-28</Date>
|
||||
<Version>304.137</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Idris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="27">
|
||||
<Date>2019-08-14</Date>
|
||||
<Version>304.137</Version>
|
||||
|
||||
+207
@@ -0,0 +1,207 @@
|
||||
#
|
||||
# This Makefile was automatically generated; do not edit.
|
||||
# Generated on 'swio-display-x64-rhel04-13' on Thu May 24 21:16:20 PDT 2018.
|
||||
#
|
||||
|
||||
#
|
||||
# KBUILD Makefile for the NVIDIA Linux kernel module.
|
||||
#
|
||||
# The motivation for replacing the original Makefile is the hope that this
|
||||
# version will simplify the build and installation process. In the past,
|
||||
# many architectural and cosmetic changes to the Linux kernel have made it
|
||||
# difficult to maintain compatibility or required duplication of logic.
|
||||
#
|
||||
# Linux 2.6 introduces numerous such changes, many of which impact modules.
|
||||
# Relying on KBUILD, some aspects of the build system otherwise difficult
|
||||
# to support (for example, module versioning) are abstracted away and dealt
|
||||
# with elsewhere, making life significantly easier here.
|
||||
#
|
||||
# The new approach currently has its own share of problems, some of which
|
||||
# are architectural difficulties with KBUILD, others minor annoyances. For
|
||||
# this reason, an improved version of the NVIDIA Makefile is available to
|
||||
# those experiencing difficulties.
|
||||
#
|
||||
# kbuild Makefile originally developed by:
|
||||
#
|
||||
# Alistair J Strachan (alistair@devzero.co.uk) (first pass, enhancements)
|
||||
# Christian Zander (zander@mail.minion.de) (enhancements)
|
||||
#
|
||||
|
||||
#
|
||||
# The NVIDIA kernel module base name.
|
||||
#
|
||||
|
||||
MODULE_BASENAME := nvidia
|
||||
|
||||
#
|
||||
# This suffix is used to construct the name of the NVIDIA kernel module
|
||||
# in case of multiple kernel module builds. This suffix can either take the
|
||||
# numeric value 0-7 or the string "frontend". For normal NVIDIA kernel module
|
||||
# builds, this variable is empty and hence the module name is identical to
|
||||
# the base names.
|
||||
#
|
||||
|
||||
NV_MODULE_SUFFIX ?=
|
||||
|
||||
#
|
||||
# The NVIDIA kernel module name and static file names. In case of multiple
|
||||
# NVIDIA kernel module builds, $(NV_MODULE_SUFFIX) is appended to the
|
||||
# module basename to construct the module name of the concerned module.
|
||||
# KBUILD will go ahead and append ".o" or ".ko" to form the module file name.
|
||||
#
|
||||
|
||||
ifeq ($(NV_MODULE_SUFFIX),frontend)
|
||||
MODULE_NAME := $(MODULE_BASENAME)-$(NV_MODULE_SUFFIX)
|
||||
else
|
||||
MODULE_NAME := $(MODULE_BASENAME)$(NV_MODULE_SUFFIX)
|
||||
endif
|
||||
VERSION_HEADER := nv_compiler.h
|
||||
|
||||
#
|
||||
# List of object files to link into NVIDIA kernel module; this list
|
||||
# is assigned depending on the value of $(NV_MODULE_SUFFIX) being passed.
|
||||
# Make sure KBUILD understands that we want a module.
|
||||
#
|
||||
|
||||
CORE_OBJS := nv-kernel.o
|
||||
|
||||
ifdef NV_BUILD_MODULE_INSTANCES
|
||||
ifeq ($(NV_MODULE_SUFFIX),frontend)
|
||||
MODULE_GLUE_OBJS := $(patsubst %.c,%.o,nv-frontend.c)
|
||||
$(MODULE_NAME)-objs := $(MODULE_GLUE_OBJS)
|
||||
else
|
||||
MODULE_GLUE_OBJS := $(patsubst %.c,%.o, nv.c nv-acpi.c nv-chrdev.c nv-cray.c nv-dma.c nv-drm.c nv-gvi.c nv-i2c.c nv-mempool.c nv-mmap.c nv-p2p.c nv-pat.c nv-procfs.c nv-usermap.c nv-vm.c nv-vtophys.c os-interface.c os-mlock.c os-pci.c os-registry.c os-smp.c os-usermap.c nv_uvm_interface.c)
|
||||
$(MODULE_NAME)-objs := $(CORE_OBJS) $(MODULE_GLUE_OBJS)
|
||||
endif
|
||||
else
|
||||
MODULE_GLUE_OBJS := $(patsubst %.c,%.o, nv.c nv-acpi.c nv-chrdev.c nv-cray.c nv-dma.c nv-drm.c nv-gvi.c nv-i2c.c nv-mempool.c nv-mmap.c nv-p2p.c nv-pat.c nv-procfs.c nv-usermap.c nv-vm.c nv-vtophys.c os-interface.c os-mlock.c os-pci.c os-registry.c os-smp.c os-usermap.c nv_uvm_interface.c) $(patsubst %.c,%.o,nv-frontend.c)
|
||||
$(MODULE_NAME)-objs := $(CORE_OBJS) $(MODULE_GLUE_OBJS)
|
||||
endif
|
||||
|
||||
#
|
||||
# List of targets to build in case of multiple NVIDIA kernel module builds.
|
||||
# The actual target is constructed by prefixing nvidia/nvidia- to every
|
||||
# item in the list $(BUILD_MODULES_LIST)/$(BUILD_MODULE_FRONTEND).
|
||||
#
|
||||
|
||||
ifdef NV_BUILD_MODULE_INSTANCES
|
||||
BUILD_MODULES_LIST := $(shell seq 0 `expr $(NV_BUILD_MODULE_INSTANCES) - 1`)
|
||||
BUILD_MODULE_FRONTEND := frontend
|
||||
endif
|
||||
|
||||
COMPILE_TESTS = \
|
||||
remap_pfn_range \
|
||||
vmap \
|
||||
set_pages_uc \
|
||||
set_memory_uc \
|
||||
set_memory_array_uc \
|
||||
change_page_attr \
|
||||
i2c_adapter \
|
||||
pci_get_class \
|
||||
pm_message_t \
|
||||
irq_handler_t \
|
||||
pci_choose_state \
|
||||
vm_insert_page \
|
||||
acpi_device_ops \
|
||||
acpi_op_remove \
|
||||
acpi_device_id \
|
||||
acquire_console_sem \
|
||||
console_lock \
|
||||
kmem_cache_create \
|
||||
outer_flush_all \
|
||||
on_each_cpu \
|
||||
smp_call_function \
|
||||
nvmap_support \
|
||||
acpi_evaluate_integer \
|
||||
ioremap_cache \
|
||||
ioremap_wc \
|
||||
proc_dir_entry \
|
||||
INIT_WORK \
|
||||
acpi_walk_namespace \
|
||||
scatterlist \
|
||||
pci_domain_nr \
|
||||
pci_dma_mapping_error \
|
||||
file_operations \
|
||||
sg_alloc_table \
|
||||
sg_init_table \
|
||||
pci_get_domain_bus_and_slot \
|
||||
get_num_physpages \
|
||||
efi_enabled \
|
||||
dom0_kernel_present \
|
||||
drm_available \
|
||||
proc_create_data \
|
||||
pde_data \
|
||||
proc_remove \
|
||||
sg_table \
|
||||
pm_vt_switch_required \
|
||||
pci_save_state \
|
||||
file_inode \
|
||||
drm_pci_set_busid \
|
||||
write_cr4 \
|
||||
for_each_online_node \
|
||||
node_end_pfn \
|
||||
get_user_pages \
|
||||
get_user_pages_remote \
|
||||
register_cpu_notifier \
|
||||
cpuhp_setup_state \
|
||||
vm_fault_present \
|
||||
vm_fault_has_address \
|
||||
drm_driver_unload_has_int_return_type \
|
||||
drm_gem_object_get \
|
||||
do_gettimeofday \
|
||||
drm_legacy_pci_init \
|
||||
timer_setup
|
||||
#
|
||||
# CFLAGS dependent on the type of builds (e.g. single/muliple module, debug)
|
||||
#
|
||||
|
||||
ifdef NV_BUILD_MODULE_INSTANCES
|
||||
EXTRA_CFLAGS += -DNV_BUILD_MODULE_INSTANCES=1
|
||||
ifneq ($(NV_MODULE_SUFFIX),frontend)
|
||||
EXTRA_CFLAGS += -DNV_MODULE_INSTANCE=$(NV_MODULE_SUFFIX)
|
||||
endif
|
||||
else
|
||||
EXTRA_CFLAGS += -DNV_MODULE_INSTANCE=0
|
||||
EXTRA_CFLAGS += -DNV_BUILD_MODULE_INSTANCES=0
|
||||
endif
|
||||
|
||||
EXTRA_CFLAGS += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
|
||||
#
|
||||
# Include common definitions; we rely on the definition of the source path to
|
||||
# find the file; set to a reasonable default if unset (e.g. for top-level
|
||||
# passes). The source path is also used in the common file.
|
||||
#
|
||||
|
||||
src ?= .
|
||||
include $(src)/nvidia-modules-common.mk
|
||||
|
||||
#
|
||||
# Generate multiple targets at runtime depending on the items present in
|
||||
# the lists $(BUILD_MODULES_LIST) and $(BUILD_MODULE_FRONTEND) for multiple
|
||||
# NVIDIA kernel module builds.
|
||||
#
|
||||
# For normal builds, generate the target $(MODULE_BASENAME).ko.
|
||||
#
|
||||
# Multiple-RM builds require GNU Make v3.81 or later, due to a bug in earlier
|
||||
# versions of GNU Make that prevents the use of $(eval) within a $(foreach):
|
||||
#
|
||||
# http://savannah.gnu.org/bugs/?func=detailitem&item_id=1517
|
||||
#
|
||||
|
||||
$(foreach obj_file, $(BUILD_MODULES_LIST), $(eval $(call BUILD_MODULE_RULE,$(MODULE_BASENAME)$(obj_file).ko,$(obj_file),$(MODULE_BASENAME)-$(BUILD_MODULE_FRONTEND).ko)))
|
||||
$(eval $(call BUILD_MODULE_RULE,$(MODULE_BASENAME)-$(BUILD_MODULE_FRONTEND).ko,$(BUILD_MODULE_FRONTEND),))
|
||||
$(eval $(call BUILD_MODULE_RULE,$(MODULE_BASENAME).ko,,))
|
||||
|
||||
#
|
||||
# Add dependencies for the generated targets, depending on whether we are
|
||||
# building multiple RM instances or a single RM.
|
||||
#
|
||||
|
||||
ifdef NV_BUILD_MODULE_INSTANCES
|
||||
NV_MODULE_TARGET_DEPS := $(addsuffix .ko,$(addprefix $(MODULE_BASENAME),$(BUILD_MODULES_LIST) -$(BUILD_MODULE_FRONTEND)))
|
||||
else
|
||||
NV_MODULE_TARGET_DEPS := $(MODULE_OBJECT)
|
||||
endif
|
||||
|
||||
module: $(NV_MODULE_TARGET_DEPS)
|
||||
+234
@@ -0,0 +1,234 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2013 NVidia Corporation
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# UVM kernel module makefile
|
||||
#
|
||||
|
||||
# The following UVM_BUILD_TYPEs are supported: debug, release, and develop.
|
||||
# The first two are nearly self-explanatory, but "develop" deserves a little
|
||||
# more explanation (below).
|
||||
#
|
||||
# Description of the UVM build types (UVM_BUILD_TYPE):
|
||||
#
|
||||
# debug builds: these get debug symbols, no optimization (in order to allow
|
||||
# easier stepping through of functions), and debug printing.
|
||||
#
|
||||
# develop builds: these are "printing" builds, normally without debug symbols.
|
||||
# These builds must run at close to normal speeds, so they are optimized, and
|
||||
# do not have any debug symbols. However, they do have debug printing output.
|
||||
# This allows a convenient way for QA (or anyone) to get a slightly deeper look
|
||||
# at what the driver is doing, without the hassle of setting up kernel
|
||||
# debugging.
|
||||
#
|
||||
# release builds: these are just the usual speed-optimized, no-debug,
|
||||
# no-printing builds that you would expect most users to run.
|
||||
#
|
||||
UVM_BUILD_TYPE ?= release
|
||||
|
||||
ifeq ($(UVM_BUILD_TYPE),debug)
|
||||
EXTRA_CFLAGS += -DDEBUG -O0 -g
|
||||
else
|
||||
ifeq ($(UVM_BUILD_TYPE),develop)
|
||||
# -DDEBUG is required, in order to allow pr_devel() print statements to
|
||||
# work:
|
||||
EXTRA_CFLAGS += -DDEBUG -O2
|
||||
else
|
||||
EXTRA_CFLAGS += -O2
|
||||
endif
|
||||
endif
|
||||
|
||||
NV_HOST_OS := $(shell uname)
|
||||
NV_HOST_ARCH := $(shell uname -m)
|
||||
|
||||
NV_TARGET_DEFINES ?=
|
||||
NV_DEFINES=
|
||||
|
||||
# In addition to the UVM_BUILD_TYPE (release, debug) choice, there is also a
|
||||
# UVM_PROJECT choice. Choices include UVM_NEXT and UVM_LITE, and ALL. The
|
||||
# default is UVM_LITE.
|
||||
#
|
||||
# Unless you are working (inside NVIDIA) on the "next" version of UVM, you want
|
||||
# to use the default choice here.
|
||||
UVM_PROJECT ?= UVM_LITE
|
||||
|
||||
UVM_LITE ?= 0
|
||||
UVM_NEXT ?= 0
|
||||
RM_ENABLED ?= 1
|
||||
|
||||
ifeq ($(UVM_PROJECT),ALL)
|
||||
UVM_LITE = 1
|
||||
UVM_NEXT = 1
|
||||
else
|
||||
ifeq ($(UVM_PROJECT),UVM_LITE)
|
||||
UVM_LITE = 1
|
||||
else
|
||||
ifeq ($(UVM_PROJECT),UVM_NEXT)
|
||||
UVM_NEXT = 1
|
||||
else
|
||||
$(error "Invalid UVM_PROJECT: $(UVM_PROJECT)")
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(UVM_LITE),0)
|
||||
ifeq ($(UVM_NEXT),0)
|
||||
$(error "Cannot build with both UVM_LITE and UVM_NEXT disabled")
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(UVM_LITE),0)
|
||||
NV_DEFINES += -DNVIDIA_UVM_LITE_ENABLED
|
||||
endif
|
||||
ifneq ($(UVM_NEXT),0)
|
||||
NV_DEFINES += -DNVIDIA_UVM_NEXT_ENABLED
|
||||
endif
|
||||
|
||||
NV_DEFINES += -D$(NV_HOST_OS)
|
||||
|
||||
ifneq ($(findstring $(NV_HOST_OS),"Linux"),)
|
||||
NV_HOST_OS_FAMILY = Unix
|
||||
NV_HOST_OS_FAMILY_LOWER_CASE = unix
|
||||
NV_DEFINES+= -D__linux__
|
||||
endif
|
||||
|
||||
ifneq ($(findstring $(NV_HOST_OS),"macosx"),)
|
||||
NV_HOST_OS_FAMILY = MacOSX
|
||||
NV_HOST_OS_FAMILY_LOWER_CASE = macosx
|
||||
endif
|
||||
|
||||
ifeq ($(NV_HOST_OS_FAMILY),)
|
||||
$(error "Unrecognized NV_HOST_OS: $(NV_HOST_OS)")
|
||||
endif
|
||||
|
||||
ifneq ($(findstring $(NV_HOST_OS_FAMILY),"Unix MacOSX"),)
|
||||
# For Unix and MacOS, use the host platform as the default target platform.
|
||||
NV_TARGET_OS ?= $(NV_HOST_OS)
|
||||
NV_TARGET_ARCH ?= $(NV_HOST_ARCH)
|
||||
endif
|
||||
|
||||
#
|
||||
# Determine NV_TARGET_OS_FAMILY
|
||||
#
|
||||
NV_TARGET_OS_FAMILY =
|
||||
|
||||
ifneq ($(findstring $(NV_TARGET_OS),"Linux"),)
|
||||
NV_TARGET_OS_FAMILY = Unix
|
||||
NV_TARGET_OS_FAMILY_LOWER_CASE = unix
|
||||
endif
|
||||
|
||||
ifneq ($(findstring $(NV_TARGET_OS),"macosx"),)
|
||||
NV_TARGET_OS_FAMILY = MacOSX
|
||||
NV_TARGET_OS_FAMILY_LOWER_CASE = macosx
|
||||
endif
|
||||
|
||||
ifeq ($(NV_TARGET_OS_FAMILY),)
|
||||
$(error "NV_TARGET_OS_FAMILY has not been set.")
|
||||
endif
|
||||
|
||||
src ?= .
|
||||
obj ?= $(src)
|
||||
|
||||
# In both internal builds, and installation (public) builds, the UVM open-source
|
||||
# files (that's all of them, for UVM) are in a subdirectory below the RM
|
||||
# open-source files.
|
||||
RM_OUT_DIR ?= $(src)/..
|
||||
|
||||
VERSION_HEADER := $(RM_OUT_DIR)/nv_compiler.h
|
||||
|
||||
COMPILE_TESTS = \
|
||||
remap_page_range \
|
||||
remap_pfn_range \
|
||||
irq_handler_t \
|
||||
vm_insert_page \
|
||||
kmem_cache_create \
|
||||
outer_flush_all \
|
||||
vm_operations_struct \
|
||||
file_operations \
|
||||
task_struct \
|
||||
address_space \
|
||||
address_space_init_once \
|
||||
kbasename \
|
||||
fatal_signal_pending \
|
||||
kuid_t \
|
||||
do_gettimeofday \
|
||||
vm_fault_has_address
|
||||
|
||||
MODULE_NAME:= nvidia-uvm
|
||||
|
||||
MODULE_GLUE_OBJS := nvidia_uvm_linux.o \
|
||||
nvidia_uvm_common.o \
|
||||
nvidia_uvm_utils.o
|
||||
|
||||
ifneq ($(UVM_LITE),0)
|
||||
MODULE_GLUE_OBJS += nvidia_uvm_lite.o \
|
||||
nvidia_uvm_page_cache.o \
|
||||
nvidia_uvm_lite_api.o \
|
||||
nvidia_uvm_lite_counters.o \
|
||||
nvidia_page_migration.o \
|
||||
nvidia_page_migration_kepler.o \
|
||||
nvidia_uvm_lite_events.o \
|
||||
uvm_gpu_ops_tests.o
|
||||
endif
|
||||
|
||||
NV_INCLUDES:= -I$(PWD) -I$(RM_OUT_DIR)
|
||||
|
||||
ifneq ($(UVM_NEXT),0)
|
||||
include $(src)/uvmnext.mk
|
||||
endif
|
||||
|
||||
ifneq ($(RM_ENABLED),0)
|
||||
NV_DEFINES += -DNVIDIA_UVM_RM_ENABLED
|
||||
endif
|
||||
|
||||
EXTRA_CFLAGS += $(NV_DEFINES) $(NV_TARGET_DEFINES) $(NV_INCLUDES)
|
||||
|
||||
ccflags-y += $(EXTRA_CFLAGS)
|
||||
|
||||
RM_MODULE_SYMVERS:= $(RM_OUT_DIR)/Module.symvers
|
||||
UVM_MODULE_SYMVERS:= $(obj)/Module.symvers
|
||||
|
||||
module $(MODULE_NAME).ko: $(UVM_MODULE_SYMVERS) debug_diagnostics_printing
|
||||
|
||||
$(MODULE_NAME)-y := $(MODULE_GLUE_OBJS)
|
||||
|
||||
include $(RM_OUT_DIR)/nvidia-modules-common.mk
|
||||
|
||||
$(eval $(call BUILD_MODULE_RULE, $(MODULE_OBJECT),"uvm",))
|
||||
module: $(MODULE_OBJECT)
|
||||
|
||||
$(RM_MODULE_SYMVERS):
|
||||
cd $(RM_OUT_DIR); make module SYSSRC=$(KERNEL_SOURCES) SYSOUT=$(KERNEL_OUTPUT) KBUILD_EXTMOD=$(RM_OUT_DIR)
|
||||
|
||||
$(UVM_MODULE_SYMVERS): $(RM_MODULE_SYMVERS)
|
||||
cp $< $@
|
||||
|
||||
debug_diagnostics_printing:
|
||||
ifeq ($(NV_VERBOSE),1)
|
||||
@echo "NVIDIA UVM: CC=$(CC), HOST_CC=$(HOST_CC) NV_TARGET_ARCH=$(NV_TARGET_ARCH)"
|
||||
@echo "NVIDIA UVM: CONFTEST=$(CONFTEST)"
|
||||
@echo "KERNEL_SOURCES: $(KERNEL_SOURCES)"
|
||||
@echo "EXTRA_CFLAGS: $(EXTRA_CFLAGS)"
|
||||
endif
|
||||
|
||||
.PHONY: debug_diagnostics_printing
|
||||
Regular → Executable
Regular → Executable
+43
@@ -0,0 +1,43 @@
|
||||
diff --git kernel/uvm/nvidia_uvm_lite.c kernel/uvm/nvidia_uvm_lite.c
|
||||
index 65b9a4d..f5ea5d7 100644
|
||||
--- a/kernel/uvm/nvidia_uvm_lite.c
|
||||
+++ b/kernel/uvm/nvidia_uvm_lite.c
|
||||
@@ -830,8 +830,10 @@ done:
|
||||
#if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
|
||||
int _fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
-#else
|
||||
-int _fault(struct vm_fault *vmf)
|
||||
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||
+int _fault(struct vm_fault *vmf)
|
||||
+#else
|
||||
+vm_fault_t _fault(struct vm_fault *vmf)
|
||||
#endif
|
||||
{
|
||||
#if defined(NV_VM_FAULT_HAS_ADDRESS)
|
||||
@@ -886,8 +888,10 @@ static struct vm_operations_struct uvmlite_vma_ops =
|
||||
#if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
|
||||
int _sigbus_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
-#else
|
||||
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||
int _sigbus_fault(struct vm_fault *vmf)
|
||||
+#else
|
||||
+vm_fault_t _sigbus_fault(struct vm_fault *vmf)
|
||||
#endif
|
||||
{
|
||||
vmf->page = NULL;
|
||||
diff --git kernel/nv-drm.c kernel/nv-drm.c
|
||||
index 122ba7d..1be5733 100644
|
||||
--- a/kernel/nv-drm.c
|
||||
+++ b/kernel/nv-drm.c
|
||||
@@ -146,7 +146,7 @@ static const struct file_operations nv_drm_fops = {
|
||||
};
|
||||
|
||||
static struct drm_driver nv_drm_driver = {
|
||||
-#if defined(DRIVER_LEGACY)
|
||||
+#if defined(DRIVER_LEGACY) || LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
|
||||
.driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_LEGACY,
|
||||
#else
|
||||
.driver_features = DRIVER_GEM | DRIVER_PRIME,
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
diff --git kernel/nv-linux.h kernel/nv-linux.h
|
||||
index 4043bf1..62f0874 100644
|
||||
--- kernel/nv-linux.h
|
||||
+++ kernel/nv-linux.h
|
||||
@@ -877,12 +877,21 @@ extern void *nv_stack_t_cache;
|
||||
__ret; \
|
||||
})
|
||||
#elif (NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT == 3)
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 3, 0)
|
||||
#define NV_SMP_CALL_FUNCTION(func, info, wait) \
|
||||
({ \
|
||||
int __ret = smp_call_function(func, info, wait); \
|
||||
__ret; \
|
||||
})
|
||||
#else
|
||||
+#define NV_SMP_CALL_FUNCTION(func, info, wait) \
|
||||
+ ({ \
|
||||
+ int __ret = 0; \
|
||||
+ smp_call_function(func, info, wait); \
|
||||
+ __ret; \
|
||||
+ })
|
||||
+#endif
|
||||
+#else
|
||||
#error "NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT value unrecognized!"
|
||||
#endif
|
||||
#elif defined(CONFIG_SMP)
|
||||
@@ -897,12 +906,21 @@ extern void *nv_stack_t_cache;
|
||||
__ret; \
|
||||
})
|
||||
#elif (NV_ON_EACH_CPU_ARGUMENT_COUNT == 3)
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 3, 0)
|
||||
#define NV_ON_EACH_CPU(func, info, wait) \
|
||||
({ \
|
||||
int __ret = on_each_cpu(func, info, wait); \
|
||||
__ret; \
|
||||
})
|
||||
#else
|
||||
+#define NV_ON_EACH_CPU(func, info, wait) \
|
||||
+ ({ \
|
||||
+ int __ret = 0; \
|
||||
+ on_each_cpu(func, info, wait); \
|
||||
+ __ret; \
|
||||
+ })
|
||||
+#endif
|
||||
+#else
|
||||
#error "NV_ON_EACH_CPU_ARGUMENT_COUNT value unrecognized!"
|
||||
#endif
|
||||
#elif defined(CONFIG_SMP)
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
From f90c388c755a6bd9b72cb51c712a0ae686e0b377 Mon Sep 17 00:00:00 2001
|
||||
From: Alberto Milone <alberto.milone@canonical.com>
|
||||
Date: Wed, 27 Nov 2019 13:01:18 +0100
|
||||
Subject: [PATCH 1/1] Add support for Linux 5.4
|
||||
|
||||
---
|
||||
conftest.sh | 46 ++++++++++++++++++++++++++++++++++++++++
|
||||
nv-drm.c | 9 +++++---
|
||||
nvidia-modules-common.mk | 2 +-
|
||||
3 files changed, 53 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/conftest.sh b/conftest.sh
|
||||
index fb0bf60..babbb50 100755
|
||||
--- a/kernel/conftest.sh
|
||||
+++ b/kernel/conftest.sh
|
||||
@@ -265,6 +265,23 @@ build_cflags() {
|
||||
if [ -n "$BUILD_PARAMS" ]; then
|
||||
CFLAGS="$CFLAGS -D$BUILD_PARAMS"
|
||||
fi
|
||||
+
|
||||
+ # Check if gcc supports asm goto and set CC_HAVE_ASM_GOTO if it does.
|
||||
+ # Older kernels perform this check and set this flag in Kbuild, and since
|
||||
+ # conftest.sh runs outside of Kbuild it ends up building without this flag.
|
||||
+ # Starting with commit e9666d10a5677a494260d60d1fa0b73cc7646eb3 this test
|
||||
+ # is done within Kconfig, and the preprocessor flag is no longer needed.
|
||||
+
|
||||
+ GCC_GOTO_SH="$SOURCES/build/gcc-goto.sh"
|
||||
+
|
||||
+ if [ -f "$GCC_GOTO_SH" ]; then
|
||||
+ # Newer versions of gcc-goto.sh don't print anything on success, but
|
||||
+ # this is okay, since it's no longer necessary to set CC_HAVE_ASM_GOTO
|
||||
+ # based on the output of those versions of gcc-goto.sh.
|
||||
+ if [ `/bin/sh "$GCC_GOTO_SH" "$CC"` = "y" ]; then
|
||||
+ CFLAGS="$CFLAGS -DCC_HAVE_ASM_GOTO"
|
||||
+ fi
|
||||
+ fi
|
||||
}
|
||||
|
||||
CONFTEST_PREAMBLE="#include \"conftest.h\"
|
||||
@@ -1521,6 +1538,35 @@ compile_test() {
|
||||
compile_check_conftest "$CODE" "NV_DRM_AVAILABLE" "" "generic"
|
||||
;;
|
||||
|
||||
+ drm_driver_prime_flag_present)
|
||||
+ #
|
||||
+ # Determine whether driver feature flag DRIVER_PRIME is present.
|
||||
+ #
|
||||
+ # The DRIVER_PRIME flag was added by commit 3248877ea179 (drm:
|
||||
+ # base prime/dma-buf support (v5)) in v3.4 (2011-11-25) and is
|
||||
+ # removed by commit 0424fdaf883a (drm/prime: Actually remove
|
||||
+ # DRIVER_PRIME everywhere) on 2019-06-17.
|
||||
+ #
|
||||
+ # DRIVER_PRIME definition moved from drmP.h to drm_drv.h by
|
||||
+ # commit 85e634bce01a (drm: Extract drm_drv.h) in v4.10
|
||||
+ # (2016-11-14).
|
||||
+ #
|
||||
+ # DRIVER_PRIME define is changed to enum value by commit
|
||||
+ # 0e2a933b02c9 (drm: Switch DRIVER_ flags to an enum) in v5.1
|
||||
+ # (2019-01-29).
|
||||
+ #
|
||||
+ CODE="
|
||||
+ #include <drm/drmP.h>
|
||||
+ #if defined(NV_DRM_DRM_DRV_H_PRESENT)
|
||||
+ #include <drm/drm_drv.h>
|
||||
+ #endif
|
||||
+ unsigned int drm_driver_prime_flag_present_conftest(void) {
|
||||
+ return DRIVER_PRIME;
|
||||
+ }"
|
||||
+
|
||||
+ compile_check_conftest "$CODE" "NV_DRM_DRIVER_PRIME_FLAG_PRESENT" "" "types"
|
||||
+ ;;
|
||||
+
|
||||
proc_create_data)
|
||||
#
|
||||
# Determine if the proc_create_data() function is present.
|
||||
diff --git a/nv-drm.c b/nv-drm.c
|
||||
index 76719bb..12f7029 100644
|
||||
--- a/kernel/nv-drm.c
|
||||
+++ b/kernel/nv-drm.c
|
||||
@@ -156,11 +156,14 @@ static const struct file_operations nv_drm_fops = {
|
||||
};
|
||||
|
||||
static struct drm_driver nv_drm_driver = {
|
||||
+ .driver_features =
|
||||
+#if defined(NV_DRM_DRIVER_PRIME_FLAG_PRESENT)
|
||||
+ DRIVER_PRIME |
|
||||
+#endif
|
||||
#if defined(DRIVER_LEGACY) || LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
|
||||
- .driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_LEGACY,
|
||||
-#else
|
||||
- .driver_features = DRIVER_GEM | DRIVER_PRIME,
|
||||
+ DRIVER_LEGACY |
|
||||
#endif
|
||||
+ DRIVER_GEM,
|
||||
.load = nv_drm_load,
|
||||
.unload = nv_drm_unload,
|
||||
.fops = &nv_drm_fops,
|
||||
diff --git a/nvidia-modules-common.mk b/nvidia-modules-common.mk
|
||||
index 8ac7058..7418005 100644
|
||||
--- a/kernel/nvidia-modules-common.mk
|
||||
+++ b/kernel/nvidia-modules-common.mk
|
||||
@@ -180,7 +180,7 @@ ifndef NV_VERBOSE
|
||||
endif
|
||||
|
||||
KBUILD_PARAMS += KBUILD_VERBOSE=$(NV_VERBOSE)
|
||||
-KBUILD_PARAMS += -C $(KERNEL_SOURCES) SUBDIRS=$(PWD)
|
||||
+KBUILD_PARAMS += -C $(KERNEL_SOURCES) M=$(PWD)
|
||||
KBUILD_PARAMS += ARCH=$(ARCH)
|
||||
|
||||
#
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Author: Andreas Beckmann <anbe@debian.org>
|
||||
Description: use kmem_cache_create_usercopy on 4.16+
|
||||
fixes "Bad or missing usercopy whitelist? Kernel memory exposure attempt
|
||||
detected from SLUB object 'nvidia_stack_cache'" on linux-image-4.16.0-2-*
|
||||
or newer that have disabled CONFIG_HARDENED_USERCOPY_FALLBACK
|
||||
Bug-Debian: #901919, #899998
|
||||
Bug: https://devtalk.nvidia.com/default/topic/1031067
|
||||
|
||||
--- a/kernel/nv-linux.h
|
||||
+++ b/kernel/nv-linux.h
|
||||
@@ -757,11 +757,18 @@ extern nv_spinlock_t km_lock;
|
||||
0, 0, NULL, NULL); \
|
||||
}
|
||||
#elif (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)
|
||||
+#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
|
||||
+ { \
|
||||
+ kmem_cache = kmem_cache_create_usercopy(name, sizeof(type), 0, 0, 0, sizeof(type), NULL); \
|
||||
+ }
|
||||
+#else
|
||||
#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
|
||||
{ \
|
||||
kmem_cache = kmem_cache_create(name, sizeof(type), \
|
||||
0, 0, NULL); \
|
||||
}
|
||||
+#endif
|
||||
#else
|
||||
#error "NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT value unrecognized!"
|
||||
#endif
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
@@ -0,0 +1,199 @@
|
||||
--- kernel/conftest.sh
|
||||
+++ kernel/conftest.sh
|
||||
@@ -168,6 +168,7 @@ test_headers() {
|
||||
FILES="$FILES linux/sched/task.h"
|
||||
FILES="$FILES xen/ioemu.h"
|
||||
FILES="$FILES linux/fence.h"
|
||||
+ FILES="$FILES linux/ktime.h"
|
||||
|
||||
FILES_ARCH="$FILES_ARCH asm/set_memory.h"
|
||||
|
||||
@@ -1971,6 +1972,38 @@ compile_test() {
|
||||
compile_check_conftest "$CODE" "NV_DRM_DRIVER_UNLOAD_HAS_INT_RETURN_TYPE" "" "types"
|
||||
;;
|
||||
|
||||
+ drm_gem_object_get)
|
||||
+ #
|
||||
+ # Determine if the function drm_gem_object_get() is present.
|
||||
+ #
|
||||
+ CODE="
|
||||
+ #include <drm/drmP.h>
|
||||
+ #if defined(NV_DRM_DRM_GEM_H_PRESENT)
|
||||
+ #include <drm/drm_gem.h>
|
||||
+ #endif
|
||||
+ void conftest_drm_gem_object_get(void) {
|
||||
+ drm_gem_object_get();
|
||||
+ }"
|
||||
+
|
||||
+ compile_check_conftest "$CODE" "NV_DRM_GEM_OBJECT_GET_PRESENT" "" "functions"
|
||||
+ ;;
|
||||
+
|
||||
+ do_gettimeofday)
|
||||
+ #
|
||||
+ # Determine if the function do_gettimeofday() is present.
|
||||
+ #
|
||||
+ CODE="
|
||||
+ #include <linux/time.h>
|
||||
+ #if defined(NV_LINUX_KTIME_H_PRESENT)
|
||||
+ #include <linux/ktime.h>
|
||||
+ #endif
|
||||
+ void conftest_do_gettimeofday(void) {
|
||||
+ do_gettimeofday();
|
||||
+ }"
|
||||
+
|
||||
+ compile_check_conftest "$CODE" "NV_DO_GETTIMEOFDAY_PRESENT" "" "functions"
|
||||
+ ;;
|
||||
+
|
||||
drm_legacy_pci_init)
|
||||
#
|
||||
# Determine if drm_legacy_pci_init() is present. drm_pci_init() was
|
||||
--- kernel/nv-drm.c
|
||||
+++ kernel/nv-drm.c
|
||||
@@ -37,6 +37,16 @@ struct nv_gem_object {
|
||||
struct page **pages;
|
||||
};
|
||||
|
||||
+static inline void
|
||||
+nv_drm_gem_object_unreference_unlocked(struct nv_gem_object *nv_gem)
|
||||
+{
|
||||
+#if defined(NV_DRM_GEM_OBJECT_GET_PRESENT)
|
||||
+ drm_gem_object_put_unlocked(&nv_gem->base);
|
||||
+#else
|
||||
+ drm_gem_object_unreference_unlocked(&nv_gem->base);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
static int nv_drm_load(
|
||||
struct drm_device *dev,
|
||||
unsigned long flags
|
||||
@@ -252,7 +262,7 @@ RM_STATUS NV_API_CALL nv_alloc_os_descriptor_handle(
|
||||
goto done;
|
||||
}
|
||||
|
||||
- drm_gem_object_unreference_unlocked(&nv_obj->base);
|
||||
+ nv_drm_gem_object_unreference_unlocked(nv_obj);
|
||||
|
||||
status = RM_OK;
|
||||
|
||||
--- /dev/null
|
||||
+++ kernel/nv-time.h
|
||||
@@ -0,0 +1,24 @@
|
||||
+#ifndef __NV_TIME_H__
|
||||
+#define __NV_TIME_H__
|
||||
+
|
||||
+#include "conftest.h"
|
||||
+#include <linux/time.h>
|
||||
+
|
||||
+#if defined(NV_LINUX_KTIME_H_PRESENT)
|
||||
+#include <linux/ktime.h>
|
||||
+#endif
|
||||
+
|
||||
+static inline void nv_gettimeofday(struct timeval *tv)
|
||||
+{
|
||||
+#ifdef NV_DO_GETTIMEOFDAY_PRESENT
|
||||
+ do_gettimeofday(tv);
|
||||
+#else
|
||||
+ struct timespec64 now;
|
||||
+
|
||||
+ ktime_get_real_ts64(&now);
|
||||
+ tv->tv_sec = now.tv_sec;
|
||||
+ tv->tv_usec = now.tv_nsec/1000;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
--- kernel/os-interface.c
|
||||
+++ kernel/os-interface.c
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
#include "os-interface.h"
|
||||
#include "nv-linux.h"
|
||||
+#include "nv-time.h"
|
||||
|
||||
RM_STATUS NV_API_CALL os_disable_console_access(void)
|
||||
{
|
||||
@@ -440,7 +441,7 @@ RM_STATUS NV_API_CALL os_get_current_time(
|
||||
{
|
||||
struct timeval tm;
|
||||
|
||||
- do_gettimeofday(&tm);
|
||||
+ nv_gettimeofday(&tm);
|
||||
|
||||
*seconds = tm.tv_sec;
|
||||
*useconds = tm.tv_usec;
|
||||
@@ -475,7 +476,7 @@ RM_STATUS NV_API_CALL os_delay_us(NvU32 MicroSeconds)
|
||||
#ifdef NV_CHECK_DELAY_ACCURACY
|
||||
struct timeval tm1, tm2;
|
||||
|
||||
- do_gettimeofday(&tm1);
|
||||
+ nv_gettimeofday(&tm1);
|
||||
#endif
|
||||
|
||||
if (in_irq() && (MicroSeconds > NV_MAX_ISR_DELAY_US))
|
||||
@@ -490,7 +491,7 @@ RM_STATUS NV_API_CALL os_delay_us(NvU32 MicroSeconds)
|
||||
udelay(usec);
|
||||
|
||||
#ifdef NV_CHECK_DELAY_ACCURACY
|
||||
- do_gettimeofday(&tm2);
|
||||
+ nv_gettimeofday(&tm2);
|
||||
nv_printf(NV_DBG_ERRORS, "NVRM: osDelayUs %d: 0x%x 0x%x\n",
|
||||
MicroSeconds, tm2.tv_sec - tm1.tv_sec, tm2.tv_usec - tm1.tv_usec);
|
||||
#endif
|
||||
@@ -518,7 +519,7 @@ RM_STATUS NV_API_CALL os_delay(NvU32 MilliSeconds)
|
||||
struct timeval tm_start;
|
||||
#endif
|
||||
|
||||
- do_gettimeofday(&tm_aux);
|
||||
+ nv_gettimeofday(&tm_aux);
|
||||
#ifdef NV_CHECK_DELAY_ACCURACY
|
||||
tm_start = tm_aux;
|
||||
#endif
|
||||
@@ -552,7 +553,7 @@ RM_STATUS NV_API_CALL os_delay(NvU32 MilliSeconds)
|
||||
do
|
||||
{
|
||||
schedule_timeout(jiffies);
|
||||
- do_gettimeofday(&tm_aux);
|
||||
+ nv_gettimeofday(&tm_aux);
|
||||
if (NV_TIMERCMP(&tm_aux, &tm_end, <))
|
||||
{
|
||||
NV_TIMERSUB(&tm_end, &tm_aux, &tm_aux);
|
||||
@@ -574,7 +575,7 @@ RM_STATUS NV_API_CALL os_delay(NvU32 MilliSeconds)
|
||||
udelay(MicroSeconds);
|
||||
}
|
||||
#ifdef NV_CHECK_DELAY_ACCURACY
|
||||
- do_gettimeofday(&tm_aux);
|
||||
+ nv_gettimeofday(&tm_aux);
|
||||
timersub(&tm_aux, &tm_start, &tm_aux);
|
||||
nv_printf(NV_DBG_ERRORS, "NVRM: osDelay %dmsec: %d.%06dsec\n",
|
||||
MilliSeconds, tm_aux.tv_sec, tm_aux.tv_usec);
|
||||
--- kernel/uvm/nvidia_uvm_linux.h
|
||||
+++ kernel/uvm/nvidia_uvm_linux.h
|
||||
@@ -146,6 +146,7 @@
|
||||
#include <linux/interrupt.h> /* tasklets, interrupt helpers */
|
||||
#include <linux/timer.h>
|
||||
#include <linux/time.h> /* do_gettimeofday()*/
|
||||
+#include "nv-time.h"
|
||||
|
||||
#include <asm/div64.h> /* do_div() */
|
||||
#if defined(NV_ASM_SYSTEM_H_PRESENT)
|
||||
--- kernel/uvm/nvidia_uvm_lite.c
|
||||
+++ kernel/uvm/nvidia_uvm_lite.c
|
||||
@@ -2019,7 +2019,7 @@ static RM_STATUS _check_ecc_errors(UvmGpuMigrationTracking *pMigTracker,
|
||||
{
|
||||
if (!!(rmInterruptSet) && !bEccIncomingError)
|
||||
{
|
||||
- do_gettimeofday(&eccErrorStartTime);
|
||||
+ nv_gettimeofday(&eccErrorStartTime);
|
||||
_set_timeout_in_usec(&eccErrorStartTime, &eccTimeout,
|
||||
UVM_ECC_ERR_TIMEOUT_USEC);
|
||||
|
||||
@@ -2051,7 +2051,7 @@ static RM_STATUS _check_ecc_errors(UvmGpuMigrationTracking *pMigTracker,
|
||||
//
|
||||
if (!!(rmInterruptSet) && (eccErrorStartTime.tv_usec != 0))
|
||||
{
|
||||
- do_gettimeofday(&eccErrorCurrentTime);
|
||||
+ nv_gettimeofday(&eccErrorCurrentTime);
|
||||
if ((eccErrorCurrentTime.tv_sec > eccTimeout.tv_sec) ||
|
||||
((eccErrorCurrentTime.tv_sec == eccTimeout.tv_sec) &&
|
||||
(eccErrorCurrentTime.tv_usec >= eccTimeout.tv_usec)))
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
Author: Andreas Beckmann <anbe@debian.org>
|
||||
Description: unregister procfs upon module load failure
|
||||
the nvidia module may leave stale proc entries if it refuses to be
|
||||
loaded becase nouveau is already loaded and has claimed the device
|
||||
.
|
||||
the error unwinding in nvidia_init_module() is insane
|
||||
(375.26 looks much better)
|
||||
.
|
||||
this patch is probably not correct in all cases, but the unwinding is
|
||||
not reverse linear in creation and the gotos are all across everything
|
||||
.
|
||||
leaving stale proc entries prevents the nvidia module from loading again
|
||||
.
|
||||
accessing the stale proc entries results in
|
||||
BUG: unable to handle kernel paging request at ...
|
||||
Bug-Debian: #764639
|
||||
|
||||
--- a/kernel/nv.c
|
||||
+++ b/kernel/nv.c
|
||||
@@ -1038,6 +1038,8 @@ failed3:
|
||||
|
||||
pci_unregister_driver(&nv_pci_driver);
|
||||
|
||||
+ nv_unregister_procfs();
|
||||
+
|
||||
failed5:
|
||||
rm_shutdown_rm(sp);
|
||||
|
||||
@@ -15,9 +15,17 @@
|
||||
<Archive sha1sum="de4d309e52ab489e412fe6de000bb92ca27b6f31" type="binary">http://http.download.nvidia.com/XFree86/Linux-x86_64/340.107/NVIDIA-Linux-x86_64-340.107.run</Archive>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile target="kernel-4.11.patch">kernel-4.11.patch</AdditionalFile>
|
||||
<AdditionalFile target="kernel-5.3.patch">kernel-5.3.patch</AdditionalFile>
|
||||
<AdditionalFile target="kernel-5.1.patch">kernel-5.1.patch</AdditionalFile>
|
||||
<AdditionalFile target="kernel-5.4.patch">kernel-5.4.patch</AdditionalFile>
|
||||
<AdditionalFile target="kmem_cache_create_usercopy.patch">kmem_cache_create_usercopy.patch</AdditionalFile>
|
||||
<AdditionalFile target="unregister_procfs_on_failure.patch">unregister_procfs_on_failure.patch</AdditionalFile>
|
||||
<AdditionalFile target="nv_patch_340.107_linux_kernel_5.0">nv_patch_340.107_linux_kernel_5.0</AdditionalFile>
|
||||
<AdditionalFile target="Makefile-kernel">Makefile-kernel</AdditionalFile>
|
||||
<AdditionalFile target="Makefile-uvm">Makefile-uvm</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildDependencies>
|
||||
<Dependency version="4.19.56">kernel-module-headers</Dependency>
|
||||
<Dependency version="5.4.6">kernel-module-headers</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
@@ -26,7 +34,7 @@
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Kernel module for NVIDIA driver 340.xx releases</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="4.19.56">kernel</Dependency>
|
||||
<Dependency version="5.4.6">kernel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library" permanent="true">/lib/modules</Path>
|
||||
@@ -97,6 +105,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="28">
|
||||
<Date>2019-12-28</Date>
|
||||
<Version>340.107</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Idris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="27">
|
||||
<Date>2019-08-14</Date>
|
||||
<Version>340.107</Version>
|
||||
|
||||
Executable
+184
@@ -0,0 +1,184 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import get
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import kerneltools
|
||||
|
||||
WorkDir = "."
|
||||
KDIR = kerneltools.getKernelVersion()
|
||||
NoStrip = ["/lib/modules"]
|
||||
|
||||
version = get.srcVERSION()
|
||||
driver_dir_name = "nvidia-current"
|
||||
datadir = "/usr/share/%s" % driver_dir_name
|
||||
libdir = "/usr/lib32" if get.buildTYPE() == 'emul32' else "/usr/lib"
|
||||
arch = "x86" if get.buildTYPE() == 'emul32' else get.ARCH().replace("i6", "x")
|
||||
nvlibdir = "%s/%s" % (libdir, driver_dir_name)
|
||||
xorglibdir= "%s/xorg" % libdir
|
||||
|
||||
def setup():
|
||||
shelltools.system("sh NVIDIA-Linux-%s-%s.run -x --target tmp"
|
||||
% (arch, get.srcVERSION()))
|
||||
shelltools.move("tmp/*", ".")
|
||||
|
||||
|
||||
#if get.buildTYPE() != 'emul32':
|
||||
#shelltools.system("patch -p1 < linux-5.1.patch")
|
||||
|
||||
|
||||
# Our libc is TLS enabled so use TLS library
|
||||
#shelltools.unlink("*-tls.so*")
|
||||
#shelltools.move("tls/*", ".")
|
||||
|
||||
# xorg-server provides libwfb.so
|
||||
shelltools.unlink("libnvidia-wfb.so.*")
|
||||
|
||||
shelltools.echo("ld.so.conf", nvlibdir)
|
||||
shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir)
|
||||
|
||||
def build():
|
||||
# We don't need kernel module for emul32 build
|
||||
if get.buildTYPE() == 'emul32':
|
||||
return
|
||||
|
||||
shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR)
|
||||
shelltools.cd("kernel")
|
||||
|
||||
autotools.make("module")
|
||||
|
||||
#shelltools.cd("uvm")
|
||||
#autotools.make("module")
|
||||
|
||||
def install():
|
||||
|
||||
if not get.buildTYPE() == 'emul32':
|
||||
# Kernel driver
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia.ko")
|
||||
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia-uvm.ko")
|
||||
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia-modeset.ko")
|
||||
|
||||
# Command line tools and their man pages
|
||||
pisitools.dobin("nvidia-smi")
|
||||
pisitools.doman("nvidia-smi.1.gz")
|
||||
pisitools.dobin("nvidia-debugdump")
|
||||
pisitools.dobin("nvidia-xconfig")
|
||||
pisitools.doman("nvidia-xconfig.1.gz")
|
||||
pisitools.dobin("nvidia-bug-report.sh")
|
||||
pisitools.dobin("nvidia-cuda-mps-server")
|
||||
pisitools.dobin("nvidia-cuda-mps-control")
|
||||
pisitools.doman("nvidia-cuda-mps-control.1.gz")
|
||||
pisitools.dobin("nvidia-modprobe")
|
||||
pisitools.doman("nvidia-modprobe.1.gz")
|
||||
pisitools.dobin("nvidia-persistenced")
|
||||
pisitools.doman("nvidia-persistenced.1.gz")
|
||||
|
||||
### Libraries
|
||||
# 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.dolib("libGL.so.%s" % version, libdir)
|
||||
|
||||
pisitools.dolib("libEGL.so.1.1.0", nvlibdir)
|
||||
pisitools.dosym("libEGL.so.1.1.0", "%s/libEGL.so.1" % 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)
|
||||
|
||||
# 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.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.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)
|
||||
|
||||
|
||||
|
||||
# OpenGL core library and others
|
||||
for lib in ("glcore", "tls", "encode", "fbc", "glsi", "ifr", "eglcore"):
|
||||
pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir)
|
||||
pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(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)
|
||||
|
||||
# nvidia-tls library
|
||||
pisitools.dolib("libnvidia-tls.so.%s" % version, libdir)
|
||||
pisitools.dolib("tls/libnvidia-tls.so.%s" % version, "%s/tls" % libdir)
|
||||
|
||||
# X modules
|
||||
pisitools.dolib("nvidia_drv.so", "%s/modules/drivers" % xorglibdir)
|
||||
pisitools.dolib("libglx.so.%s" % version, "%s" % nvlibdir)
|
||||
pisitools.dosym("libglx.so.%s" % version, "%s/libglx.so.1" % nvlibdir)
|
||||
pisitools.dosym("libglx.so.%s" % version, "%s/libglx.so" % nvlibdir)
|
||||
pisitools.dolib("libglx.so.%s" % version, "%s/modules/extensions" % xorglibdir)
|
||||
pisitools.dosym("libglx.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)
|
||||
|
||||
# PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA)
|
||||
pisitools.dolib("libnvidia-ptxjitcompiler.so.%s" % version, libdir)
|
||||
|
||||
# Fat (multiarchitecture) binary loader
|
||||
pisitools.dolib("libnvidia-fatbinaryloader.so.%s" % version, 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")
|
||||
|
||||
|
||||
# Exit time for emul32 build
|
||||
if get.buildTYPE() == 'emul32':
|
||||
pisitools.insinto(datadir, "ld.so.conf", "32bit-ld.so.conf")
|
||||
return
|
||||
|
||||
pisitools.insinto(datadir, "ld.so.conf")
|
||||
pisitools.insinto(datadir, "XvMCConfig")
|
||||
|
||||
# Documentation
|
||||
docdir = "xorg-video-%s" % driver_dir_name
|
||||
pisitools.dodoc("LICENSE", "NVIDIA_Changelog", "README.txt", destDir=docdir)
|
||||
pisitools.dohtml("html/*", destDir=docdir)
|
||||
|
||||
### Note
|
||||
# This package includes nvidia-setting and nvidia-xconfig binaries. However
|
||||
# we have seperate packages for each of them. Nvidia provides tarballs for
|
||||
# these binaries. Don't forget to update these package with each NVIDIA
|
||||
# driver update.
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
|
||||
driver_dir_name = "nvidia390"
|
||||
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
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
|
||||
driver_dir_name = "nvidia390"
|
||||
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
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
diff -Nurp NVIDIA-Linux-x86_64-390.87.orig/kernel/nvidia-drm/nvidia-drm-connector.c NVIDIA-Linux-x86_64-390.87/kernel/nvidia-drm/nvidia-drm-connector.c
|
||||
--- NVIDIA-Linux-x86_64-390.87.orig/kernel/nvidia-drm/nvidia-drm-connector.c 2018-08-22 03:55:29.000000000 +0300
|
||||
+++ NVIDIA-Linux-x86_64-390.87/kernel/nvidia-drm/nvidia-drm-connector.c 2018-11-09 19:46:54.625801192 +0200
|
||||
@@ -30,6 +30,8 @@
|
||||
#include "nvidia-drm-utils.h"
|
||||
#include "nvidia-drm-encoder.h"
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
#include <drm/drm_crtc_helper.h>
|
||||
|
||||
#include <drm/drm_atomic.h>
|
||||
@@ -226,8 +228,13 @@ static int nv_drm_connector_get_modes(st
|
||||
|
||||
|
||||
if (nv_connector->edid != NULL) {
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
|
||||
drm_mode_connector_update_edid_property(
|
||||
connector, nv_connector->edid);
|
||||
+#else
|
||||
+ drm_connector_update_edid_property(
|
||||
+ connector, nv_connector->edid);
|
||||
+#endif
|
||||
}
|
||||
|
||||
while (1) {
|
||||
diff -Nurp NVIDIA-Linux-x86_64-390.87.orig/kernel/nvidia-drm/nvidia-drm-encoder.c NVIDIA-Linux-x86_64-390.87/kernel/nvidia-drm/nvidia-drm-encoder.c
|
||||
--- NVIDIA-Linux-x86_64-390.87.orig/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-08-22 03:55:29.000000000 +0300
|
||||
+++ NVIDIA-Linux-x86_64-390.87/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-11-09 19:49:34.863861811 +0200
|
||||
@@ -30,6 +30,8 @@
|
||||
#include "nvidia-drm-connector.h"
|
||||
#include "nvidia-drm-crtc.h"
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
#include <drm/drm_crtc_helper.h>
|
||||
|
||||
#include <drm/drm_atomic.h>
|
||||
@@ -216,7 +218,11 @@ nv_drm_add_encoder(struct drm_device *de
|
||||
|
||||
/* Attach encoder and connector */
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
|
||||
ret = drm_mode_connector_attach_encoder(connector, encoder);
|
||||
+#else
|
||||
+ ret = drm_connector_attach_encoder(connector, encoder);
|
||||
+#endif
|
||||
|
||||
if (ret != 0) {
|
||||
NV_DRM_DEV_LOG_ERR(
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
--- a/kernel/nvidia/os-interface.c
|
||||
+++ b/kernel/nvidia/os-interface.c
|
||||
@@ -1670,7 +1670,7 @@
|
||||
|
||||
struct nv_ipmi_softc
|
||||
{
|
||||
- ipmi_user_t p_user; // ptr to ipmi_msghandler user structure
|
||||
+ struct ipmi_user *p_user;
|
||||
spinlock_t msg_lock;
|
||||
struct list_head msgs;
|
||||
NvU32 seqNum; //request sequence number
|
||||
@@ -1679,7 +1679,7 @@
|
||||
static inline int
|
||||
nv_ipmi_set_my_address
|
||||
(
|
||||
- ipmi_user_t user,
|
||||
+ struct ipmi_user *user,
|
||||
unsigned char address
|
||||
)
|
||||
{
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
|
||||
@@ -20,6 +20,8 @@
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
#include "nvidia-drm-conftest.h"
|
||||
|
||||
#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
|
||||
@@ -345,7 +347,11 @@ static int __nv_drm_vma_fault(struct vm_area_struct *vma,
|
||||
|
||||
page_offset = vmf->pgoff - drm_vma_node_start(&gem->vma_node);
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
|
||||
ret = vm_insert_pfn(vma, address, pfn + page_offset);
|
||||
+#else
|
||||
+ ret = vmf_insert_pfn(vma, address, pfn + page_offset);
|
||||
+#endif
|
||||
|
||||
switch (ret) {
|
||||
case 0:
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
diff --git a/kernel/common/inc/nv-list-helpers.h b/kernel/common/inc/nv-list-helpers.h
|
||||
index 0aed851..d6304c9 100644
|
||||
--- a/kernel/common/inc/nv-list-helpers.h
|
||||
+++ b/kernel/common/inc/nv-list-helpers.h
|
||||
@@ -26,6 +26,8 @@
|
||||
#include <linux/list.h>
|
||||
#include "conftest.h"
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
#if !defined (list_for_each)
|
||||
#define list_for_each(pos, head) \
|
||||
for (pos = (head)->next; pos != (head); pos = (pos)->next)
|
||||
@@ -91,10 +93,12 @@
|
||||
list_entry((pos)->member.next, typeof(*(pos)), member)
|
||||
#endif
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||
static inline int list_is_first(const struct list_head *list,
|
||||
const struct list_head *head)
|
||||
{
|
||||
return list->prev == head;
|
||||
}
|
||||
+#endif
|
||||
|
||||
#endif // __NV_LIST_HELPERS_H__
|
||||
diff --git a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c
|
||||
index 24631c0..ba1497c 100644
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-connector.c
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-connector.c
|
||||
@@ -30,7 +30,12 @@
|
||||
#include "nvidia-drm-utils.h"
|
||||
#include "nvidia-drm-encoder.h"
|
||||
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||
#include <drm/drm_crtc_helper.h>
|
||||
+#else
|
||||
+#include <drm/drm_probe_helper.h>
|
||||
+#endif
|
||||
|
||||
#include <drm/drm_atomic.h>
|
||||
#include <drm/drm_atomic_helper.h>
|
||||
diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c
|
||||
index 1c2db68..d524d51 100644
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-drv.c
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-drv.c
|
||||
@@ -41,7 +41,12 @@
|
||||
|
||||
#include <drm/drmP.h>
|
||||
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||
#include <drm/drm_crtc_helper.h>
|
||||
+#else
|
||||
+#include <drm/drm_probe_helper.h>
|
||||
+#endif
|
||||
|
||||
#if defined(NV_DRM_DRM_GEM_H_PRESENT)
|
||||
#include <drm/drm_gem.h>
|
||||
diff --git a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c
|
||||
index f66bbd7..df38042 100644
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-encoder.c
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-encoder.c
|
||||
@@ -31,7 +31,12 @@
|
||||
#include "nvidia-drm-crtc.h"
|
||||
#include "nvidia-drm-helper.h"
|
||||
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||
#include <drm/drm_crtc_helper.h>
|
||||
+#else
|
||||
+#include <drm/drm_probe_helper.h>
|
||||
+#endif
|
||||
|
||||
#include <drm/drm_atomic.h>
|
||||
#include <drm/drm_atomic_helper.h>
|
||||
diff --git a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
|
||||
index 8636eff..fd0c8da 100644
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
|
||||
@@ -29,6 +29,8 @@
|
||||
|
||||
#include "nv-mm.h"
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
static void __nv_drm_gem_nvkms_memory_free(struct nv_drm_gem_object *nv_gem)
|
||||
{
|
||||
struct nv_drm_device *nv_dev = nv_gem->nv_dev;
|
||||
@@ -268,7 +270,11 @@ static int __nv_drm_vma_fault(struct vm_area_struct *vma,
|
||||
*/
|
||||
|
||||
#if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||
static int nv_drm_vma_fault(struct vm_fault *vmf)
|
||||
+#else
|
||||
+static vm_fault_t nv_drm_vma_fault(struct vm_fault *vmf)
|
||||
+#endif
|
||||
{
|
||||
return __nv_drm_vma_fault(vmf->vma, vmf);
|
||||
}
|
||||
diff --git a/kernel/nvidia-uvm/uvm8.c b/kernel/nvidia-uvm/uvm8.c
|
||||
index e00923d..2e01e3c 100644
|
||||
--- a/kernel/nvidia-uvm/uvm8.c
|
||||
+++ b/kernel/nvidia-uvm/uvm8.c
|
||||
@@ -172,7 +172,11 @@ static int uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
return VM_FAULT_SIGBUS;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||
static int uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
|
||||
+#else
|
||||
+static vm_fault_t uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
|
||||
+#endif
|
||||
{
|
||||
#if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
|
||||
return uvm_vm_fault_sigbus(vmf->vma, vmf);
|
||||
@@ -507,7 +511,11 @@ convert_error:
|
||||
}
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||
static int uvm_vm_fault_wrapper(struct vm_fault *vmf)
|
||||
+#else
|
||||
+static vm_fault_t uvm_vm_fault_wrapper(struct vm_fault *vmf)
|
||||
+#endif
|
||||
{
|
||||
#if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
|
||||
return uvm_vm_fault(vmf->vma, vmf);
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
blacklist nouveau
|
||||
options nouveau modeset=0
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
Name=NVIDIA X Server Settings
|
||||
Comment=Configure NVIDIA X Server Settings
|
||||
Exec=/usr/bin/nvidia-settings
|
||||
Icon=/usr/share/pixmaps/nvidia-settings.png
|
||||
Categories=Application;Settings;
|
||||
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
#!/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
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
#!/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
|
||||
Executable
+141
@@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>module-nvidia390t</Name>
|
||||
<Homepage>http://www.nvidia.com</Homepage>
|
||||
<Packager>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>NVIDIA</License>
|
||||
<Summary>NVIDIA drivers for GeForce 6xxx and newer GPUs</Summary>
|
||||
<Description>NVIDIA graphics drivers provide optimized 2D/3D performance.</Description>
|
||||
<Archive sha1sum="1966a1d54c3ab415a7b252f4a0d38fa77a7e4c30" type="binary">http://us.download.nvidia.com/XFree86/Linux-x86/390.132/NVIDIA-Linux-x86-390.132.run</Archive>
|
||||
<Archive sha1sum="63d49c0fac620b21a23b361a9f02487534ac9c5c" type="binary">http://us.download.nvidia.com/XFree86/Linux-x86_64/390.132/NVIDIA-Linux-x86_64-390.132.run</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency version="5.4.2">kernel-module-headers</Dependency>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>gtk3-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>module-nvidia390</Name>
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Kernel module for current NVIDIA graphics driver releases</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="5.4.2">kernel</Dependency>
|
||||
<!-- <Dependency release="current">module-nvidia-current-userspace</Dependency> -->
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library" permanent="true">/lib/modules</Path>
|
||||
<Path fileType="data">/etc/modprobe.d</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/modprobe.d/blacklist-nouveau.conf">modprobe.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
</Package>
|
||||
|
||||
|
||||
|
||||
<Package>
|
||||
<Name>nvidia-xconfig390</Name>
|
||||
<IsA>app:console</IsA>
|
||||
<PartOf>hardware.graphics</PartOf>
|
||||
<Summary>Xconfig file for nvidia390 kernel driver</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">module-nvidia-current</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/nvidia-xconfig</Path>
|
||||
<Path fileType="man">/usr/share/man/man1/nvidia-xconfig.1</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia390</Name>
|
||||
<IsA>driver</IsA>
|
||||
<PartOf>x11.driver</PartOf>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>libXext</Dependency>
|
||||
<Dependency>libX11</Dependency>
|
||||
<Dependency>mesa</Dependency>
|
||||
<Dependency>xorg-server</Dependency>
|
||||
<Dependency version="current">module-nvidia390</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Conflicts>
|
||||
<Package>xorg-video-nvidia-current</Package>
|
||||
<Package>xorg-video-nvidia304</Package>
|
||||
<Package>xorg-video-nvidia340</Package>
|
||||
</Conflicts>
|
||||
<Files>
|
||||
<Path fileType="data">/etc/OpenCL</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="data">/usr/share/X11</Path>
|
||||
<Path fileType="data">/usr/share/nvidia-current</Path>
|
||||
<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>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia390-32bit</Name>
|
||||
<PartOf>emul32</PartOf>
|
||||
<Summary>32-bit shared libraries for xorg-video-nvidia390</Summary>
|
||||
<BuildType>emul32</BuildType>
|
||||
<BuildDependencies>
|
||||
<Dependency>libvdpau-32bit</Dependency>
|
||||
</BuildDependencies>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>zlib-32bit</Dependency>
|
||||
<Dependency>mesa-32bit</Dependency>
|
||||
<Dependency>libX11-32bit</Dependency>
|
||||
<Dependency>libXext-32bit</Dependency>
|
||||
<Dependency release="current">xorg-video-nvidia390</Dependency>
|
||||
<Dependency>atk</Dependency>
|
||||
<Dependency>gtk2</Dependency>
|
||||
<Dependency>gtk3</Dependency>
|
||||
<Dependency>cairo</Dependency>
|
||||
<Dependency>glib2</Dependency>
|
||||
<Dependency>pango</Dependency>
|
||||
<Dependency>gdk-pixbuf</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Conflicts>
|
||||
<Package>xorg-video-nvidia-current-32bit</Package>
|
||||
<Package>xorg-video-nvidia304-32bit</Package>
|
||||
<Package>xorg-video-nvidia340-32bit</Package>
|
||||
</Conflicts>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib32</Path>
|
||||
<Path fileType="library">/usr/share/nvidia-current/32bit-ld.so.conf</Path>
|
||||
</Files>
|
||||
<Provides>
|
||||
<COMAR script="package-emul32.py">System.Package</COMAR>
|
||||
</Provides>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="4">
|
||||
<Date>2019-12-12</Date>
|
||||
<Version>390.132</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>İdris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>module-nvidia-current</Name>
|
||||
<Summary xml:lang="tr">GeForce 6xxx ve daha yeni NVIDIA ekran kartları için sürücüler</Summary>
|
||||
<Description xml:lang="tr">NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar.</Description>
|
||||
<Description xml:lang="es">Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor).</Description>
|
||||
<Summary xml:lang="es">Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor)</Summary>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>module-nvidia-current</Name>
|
||||
<Summary xml:lang="tr">Güncel NVIDIA grafik sürücüleri için çekirdek modülü</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia-current</Name>
|
||||
<Summary xml:lang="tr">Güncel NVIDIA userspace sürücüleri ve ikili dosyaları</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia-current-32bit</Name>
|
||||
<Summary xml:lang="tr">xorg-video-nvidia-current için 32-bit paylaşımlı kitaplıklar</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Executable
+251
@@ -0,0 +1,251 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import get
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import kerneltools
|
||||
|
||||
WorkDir = "."
|
||||
KDIR = kerneltools.getKernelVersion()
|
||||
NoStrip = ["/lib/modules"]
|
||||
|
||||
version = get.srcVERSION()
|
||||
driver_dir_name = "nvidia430"
|
||||
datadir = "/usr/share/%s" % driver_dir_name
|
||||
libdir = "/usr/lib32" if get.buildTYPE() == 'emul32' else "/usr/lib"
|
||||
arch = "x86" if get.buildTYPE() == 'emul32' else get.ARCH().replace("i6", "x")
|
||||
nvlibdir = "%s/%s" % (libdir, driver_dir_name)
|
||||
xorglibdir= "%s/xorg" % libdir
|
||||
|
||||
def setup():
|
||||
shelltools.system("sh NVIDIA-Linux-x86_64-%s.run -x --target tmp"
|
||||
% get.srcVERSION())
|
||||
shelltools.move("tmp/*", ".")
|
||||
|
||||
#shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch")
|
||||
#shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch")
|
||||
|
||||
#shelltools.system("patch -p1 < header-fix.patch")
|
||||
|
||||
# Our libc is TLS enabled so use TLS library
|
||||
#shelltools.unlink("*-tls.so*")
|
||||
#shelltools.move("tls/*", ".")
|
||||
|
||||
# xorg-server provides libwfb.so
|
||||
#shelltools.unlink("libnvidia-wfb.so.*")
|
||||
|
||||
shelltools.echo("ld.so.conf", nvlibdir)
|
||||
shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir)
|
||||
|
||||
def build():
|
||||
# We don't need kernel module for emul32 build
|
||||
if get.buildTYPE() == 'emul32':
|
||||
return
|
||||
|
||||
shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR)
|
||||
shelltools.cd("kernel")
|
||||
autotools.make("module")
|
||||
|
||||
|
||||
def install():
|
||||
|
||||
if not get.buildTYPE() == 'emul32':
|
||||
# Kernel driver
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia.ko")
|
||||
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia-drm.ko")
|
||||
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia-uvm.ko")
|
||||
|
||||
pisitools.insinto("/lib/modules/%s/extra" % KDIR,
|
||||
"kernel/nvidia-modeset.ko")
|
||||
|
||||
# Command line tools and their man pages
|
||||
pisitools.dobin("nvidia-smi")
|
||||
pisitools.doman("nvidia-smi.1.gz")
|
||||
pisitools.dobin("nvidia-debugdump")
|
||||
#pisitools.dobin("nvidia-xconfig")
|
||||
#pisitools.doman("nvidia-xconfig.1.gz")
|
||||
pisitools.dobin("nvidia-bug-report.sh")
|
||||
pisitools.dobin("nvidia-cuda-mps-server")
|
||||
pisitools.dobin("nvidia-cuda-mps-control")
|
||||
pisitools.doman("nvidia-cuda-mps-control.1.gz")
|
||||
pisitools.dobin("nvidia-modprobe")
|
||||
pisitools.doman("nvidia-modprobe.1.gz")
|
||||
pisitools.dobin("nvidia-persistenced")
|
||||
pisitools.doman("nvidia-persistenced.1.gz")
|
||||
#pisitools.dobin("nvidia-settings")
|
||||
#pisitools.doman("nvidia-settings.1.gz")
|
||||
|
||||
|
||||
### 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.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)
|
||||
|
||||
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/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("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)
|
||||
|
||||
# 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)
|
||||
|
||||
|
||||
|
||||
|
||||
# Exit time for emul32 build
|
||||
#if get.buildTYPE() == 'emul32':
|
||||
#pisitools.insinto(datadir, "ld.so.conf", "32bit-ld.so.conf")
|
||||
#return
|
||||
|
||||
pisitools.insinto(datadir, "ld.so.conf")
|
||||
pisitools.insinto(datadir, "XvMCConfig")
|
||||
|
||||
# Documentation
|
||||
docdir = "xorg-video-%s" % driver_dir_name
|
||||
pisitools.dodoc("LICENSE", "NVIDIA_Changelog", "README.txt", destDir=docdir)
|
||||
pisitools.dohtml("html/*", destDir=docdir)
|
||||
|
||||
### Note
|
||||
# This package includes nvidia-setting and nvidia-xconfig binaries. However
|
||||
# we have seperate packages for each of them. Nvidia provides tarballs for
|
||||
# these binaries. Don't forget to update these package with each NVIDIA
|
||||
# driver update.
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
#!/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
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
#!/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
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
blacklist nouveau
|
||||
options nouveau modeset=0
|
||||
Executable
+177
@@ -0,0 +1,177 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>module-nvidia430</Name>
|
||||
<Homepage>http://www.nvidia.com</Homepage>
|
||||
<Packager>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>NVIDIA</License>
|
||||
<Summary>NVIDIA drivers for GeForce 6xxx and newer GPUs</Summary>
|
||||
<Description>NVIDIA graphics drivers provide optimized 2D/3D performance.</Description>
|
||||
<Archive sha1sum="3ff62a457f2570eb67c3ce7fb3800ddcbe54164e" type="binary">http://http.download.nvidia.com/XFree86/Linux-x86_64/430.64/NVIDIA-Linux-x86_64-430.64.run</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency version="5.4.2">kernel-module-headers</Dependency>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>gtk3-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<AdditionalFiles>
|
||||
<!-- <AdditionalFile owner="root" permission="0644" target="header-fix.patch">header-fix.patch</AdditionalFile> -->
|
||||
</AdditionalFiles>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>module-nvidia430</Name>
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Kernel module for current NVIDIA graphics driver releases</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="5.4.2">kernel</Dependency>
|
||||
<!-- <Dependency release="current">module-nvidia430-userspace</Dependency> -->
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library" permanent="true">/lib/modules</Path>
|
||||
<Path fileType="data">/etc/modprobe.d</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/modprobe.d/blacklist-nouveau.conf">modprobe.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
</Package>
|
||||
|
||||
<!--<Package>
|
||||
<Name>module-nvidia430-userspace</Name>
|
||||
<IsA>data</IsA>
|
||||
<Summary>Modprobe rules for nvidia430 kernel driver</Summary>
|
||||
<Files>
|
||||
<Path fileType="data">/etc/modprobe.d</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/modprobe.d/blacklist-nouveau.conf">modprobe.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>-->
|
||||
|
||||
<!-- <Package>
|
||||
<Name>nvidia-settings</Name>
|
||||
<IsA>app:gui</IsA>
|
||||
<PartOf>hardware.graphics</PartOf>
|
||||
<Summary>Settings for nvidia430 kernel driver</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>atk</Dependency>
|
||||
<Dependency>gtk2</Dependency>
|
||||
<Dependency>gtk3</Dependency>
|
||||
<Dependency>cairo</Dependency>
|
||||
<Dependency>glib2</Dependency>
|
||||
<Dependency>pango</Dependency>
|
||||
<Dependency>libX11</Dependency>
|
||||
<Dependency>libXext</Dependency>
|
||||
<Dependency>gdk-pixbuf</Dependency>
|
||||
<Dependency version="current">module-nvidia430</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/nvidia-settings</Path>
|
||||
<Path fileType="man">/usr/share/man/man1/nvidia-settings.1</Path>
|
||||
<Path fileType="library">/usr/lib/libnvidia-gtk*</Path>
|
||||
<Path fileType="data">/usr/share/applications</Path>
|
||||
<Path fileType="data">/usr/share/pixmaps</Path>
|
||||
<Path fileType="data">/usr/share/nvidia</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/applications/nvidia-settings.desktop">nvidia-settings.desktop</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>nvidia-xconfig</Name>
|
||||
<IsA>app:console</IsA>
|
||||
<PartOf>hardware.graphics</PartOf>
|
||||
<Summary>Xconfig file for nvidia430 kernel driver</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="current">module-nvidia430</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/nvidia-xconfig</Path>
|
||||
<Path fileType="man">/usr/share/man/man1/nvidia-xconfig.1</Path>
|
||||
</Files>
|
||||
</Package>-->
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia430</Name>
|
||||
<IsA>driver</IsA>
|
||||
<PartOf>x11.driver</PartOf>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>libXext</Dependency>
|
||||
<Dependency>libX11</Dependency>
|
||||
<Dependency>mesa</Dependency>
|
||||
<Dependency>xorg-server</Dependency>
|
||||
<Dependency>opencl-icd</Dependency>
|
||||
<Dependency>vulkan</Dependency>
|
||||
<Dependency version="current">module-nvidia430</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="data">/etc/OpenCL</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="data">/usr/share/X11</Path>
|
||||
<Path fileType="data">/usr/share/nvidia430</Path>
|
||||
<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>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia430-32bit</Name>
|
||||
<PartOf>emul32</PartOf>
|
||||
<Summary>32-bit shared libraries for xorg-video-nvidia430</Summary>
|
||||
<BuildType>emul32</BuildType>
|
||||
<BuildDependencies>
|
||||
<Dependency>libvdpau-32bit</Dependency>
|
||||
</BuildDependencies>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>zlib-32bit</Dependency>
|
||||
<Dependency>mesa-32bit</Dependency>
|
||||
<Dependency>libX11-32bit</Dependency>
|
||||
<Dependency>libXext-32bit</Dependency>
|
||||
<Dependency>opencl-icd-32bit</Dependency>
|
||||
<Dependency>vulkan-32bit</Dependency>
|
||||
<Dependency release="current">xorg-video-nvidia430</Dependency>
|
||||
<Dependency>atk</Dependency>
|
||||
<Dependency>gtk2</Dependency>
|
||||
<Dependency>gtk3</Dependency>
|
||||
<Dependency>cairo</Dependency>
|
||||
<Dependency>glib2</Dependency>
|
||||
<Dependency>pango</Dependency>
|
||||
<Dependency>gdk-pixbuf</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<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>
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2019-11-03</Date>
|
||||
<Version>430.64</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>İdris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>module-nvidia430</Name>
|
||||
<Summary xml:lang="tr">GeForce 6xxx ve daha yeni NVIDIA ekran kartları için sürücüler</Summary>
|
||||
<Description xml:lang="tr">NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar.</Description>
|
||||
<Description xml:lang="es">Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor).</Description>
|
||||
<Summary xml:lang="es">Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor)</Summary>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>module-nvidia430</Name>
|
||||
<Summary xml:lang="tr">Güncel NVIDIA grafik sürücüleri için çekirdek modülü</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia430</Name>
|
||||
<Summary xml:lang="tr">Güncel NVIDIA userspace sürücüleri ve ikili dosyaları</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>xorg-video-nvidia430-32bit</Name>
|
||||
<Summary xml:lang="tr">xorg-video-nvidia-current için 32-bit paylaşımlı kitaplıklar</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user