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>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -12,7 +12,7 @@
|
||||
<IsA>app:gui</IsA>
|
||||
<Summary>Performance analyser tool that makes full use of the Linux performance counter subsystem</Summary>
|
||||
<Description>perf is a new tool which is used to optimize, validate and measure applications, workloads or the full system through the Linux performance counter subsystem.</Description>
|
||||
<Archive sha1sum="eb09a8e0483a9ec40bdb767551d0eda27f7c221a" type="targz">https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.19.tar.gz</Archive>
|
||||
<Archive sha1sum="8fd0449a462c77f3e5b35848f4bf3c41411702d6" type="targz">https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.4.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>libunwind-devel</Dependency>
|
||||
<Dependency>audit-devel</Dependency>
|
||||
@@ -38,14 +38,14 @@
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!-- Linux patches -->
|
||||
<Patch level="1" compressionType="xz">patches/linux/patch-4.19.49.xz</Patch>
|
||||
<!-- Mageia Linux patches // compatible with http://svnweb.mageia.org/packages/cauldron/kernel/releases/4.14.44/2.mga7/PATCHES/patches/series-->
|
||||
<!--stable patches-->
|
||||
<!--CVE-2016-8405-->
|
||||
<!--other patches-->
|
||||
<Patch level="1">patches/mageia_4_19/fs-aufs-4.19.patch</Patch>
|
||||
<Patch level="1">patches/mageia_4_19/fs-aufs-4.19-modular.patch</Patch>
|
||||
<Patch level="1">patches/mageia_4_14/fs-aufs-include-vmalloc.patch</Patch>
|
||||
<Patch level="1" compressionType="xz">patches/linux/patch-5.4.6.xz</Patch>
|
||||
<!-- Mageia Linux patches-->
|
||||
<Patch level="1">patches/mageia/fs-aufs-5.4.patch</Patch>
|
||||
<Patch level="1">patches/mageia/fs-aufs-5.4-modular.patch</Patch>
|
||||
<Patch level="1">patches/mageia/fs-vboxsf.patch</Patch>
|
||||
|
||||
<!-- Build fix -->
|
||||
<Patch level="1">patches/pisilinux/kernel-5.4-build-fix.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
@@ -77,6 +77,13 @@
|
||||
</Files>
|
||||
</Package>
|
||||
<History>
|
||||
<Update release="17">
|
||||
<Date>2019-12-28</Date>
|
||||
<Version>5.4.6</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Idris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="16">
|
||||
<Date>2019-06-09</Date>
|
||||
<Version>4.19.49</Version>
|
||||
|
||||
Reference in New Issue
Block a user