diff --git a/kernel/drivers/module-nvidia-current/actions.py b/kernel/drivers/module-nvidia-current/actions.py old mode 100755 new mode 100644 index 1b38d32c3d..9035eb3cc2 --- a/kernel/drivers/module-nvidia-current/actions.py +++ b/kernel/drivers/module-nvidia-current/actions.py @@ -25,21 +25,13 @@ 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) + + shelltools.copytree("kernel", "kernel-dkms") + shelltools.unlink("kernel-dkms/dkms.conf") + pisitools.dosed("kernel-dkms/Makefile", "CC \?= cc", "CC = /usr/bin/cc") def build(): # We don't need kernel module for emul32 build @@ -57,7 +49,7 @@ def install(): # Kernel driver pisitools.insinto("/lib/modules/%s/extra" % KDIR, "kernel/nvidia.ko") - + pisitools.insinto("/lib/modules/%s/extra" % KDIR, "kernel/nvidia-drm.ko") @@ -84,185 +76,174 @@ def install(): pisitools.dobin("nvidia-settings") pisitools.doman("nvidia-settings.1.gz") + # dkms + pisitools.insinto("/usr/src/nvidia-%s" % version, "kernel-dkms/*") ### Libraries - + # 32-bit libraries if get.buildTYPE() == 'emul32': - pisitools.dolib("32/libGL.so.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("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) - + 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("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) - + # 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) + + # 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.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)) + 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) - # VDPAU driver - pisitools.dolib("libvdpau_nvidia.so.%s" % version, "%s/vdpau" % libdir) - pisitools.dosym("libvdpau_nvidia.so.%s" % version, "%s/libvdpau_nvidia.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) - # 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.dolib("libnvidia-gtk2.so.%s" % version, libdir) - pisitools.dolib("libnvidia-gtk3.so.%s" % version, 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)) + + # 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/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.dolib("libnvidia-gtk2.so.%s" % version, libdir) + pisitools.dolib("libnvidia-gtk3.so.%s" % version, libdir) # Exit time for emul32 build #if get.buildTYPE() == 'emul32': diff --git a/kernel/drivers/module-nvidia-current/comar/package-emul32.py b/kernel/drivers/module-nvidia-current/comar/package-emul32.py deleted file mode 100644 index bddedd08c4..0000000000 --- a/kernel/drivers/module-nvidia-current/comar/package-emul32.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/python - -import os - -driver_dir_name = "nvidia-current" -libdir = "/usr/lib32/%s" % driver_dir_name -datadir = "/usr/share/%s" % driver_dir_name - -def postInstall(fromVersion, fromRelease, toVersion, toRelease): - os.system(" /usr/sbin/alternatives \ - --install /usr/lib32/libGL.so.1.2.0 libGL-32bit %(libdir)s/libGL.so.1.2.0 50 \ - --slave /usr/lib32/xorg/modules/volatile xorg-modules-volatile-32bit %(libdir)s/modules" - % {"libdir": libdir, "datadir": datadir}) -# --slave /etc/ld.so.conf.d/10-nvidia-32bit.conf nvidia-ldsoconf-32bit %(datadir)s/32bit-ld.so.conf" - - # If this driver is in use, refresh links after installation. - if os.readlink("/etc/alternatives/libGL-32bit") == "%s/libGL.so.1.2.0" % libdir: - os.system("/usr/sbin/alternatives --set libGL-32bit %s/libGL.so.1.2.0" % libdir) - os.system("/sbin/ldconfig -X") - -def preRemove(): - # FIXME This is not needed when upgrading package; but pisi does not - # provide a way to learn operation type. - #os.system("/usr/sbin/alternatives --remove libGL-32bit %s/libGL.so.1.2.0" % libdir) - pass diff --git a/kernel/drivers/module-nvidia-current/comar/package.py b/kernel/drivers/module-nvidia-current/comar/package.py deleted file mode 100644 index 71d446b906..0000000000 --- a/kernel/drivers/module-nvidia-current/comar/package.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/python - -import os - -driver_dir_name = "nvidia-current" -libdir = "/usr/lib/%s" % driver_dir_name -datadir = "/usr/share/%s" % driver_dir_name - -def postInstall(fromVersion, fromRelease, toVersion, toRelease): - os.system(" /usr/sbin/alternatives \ - --install /usr/lib/libGL.so.1.2.0 libGL %(libdir)s/libGL.so.1.2.0 50 \ - --slave /usr/lib/xorg/modules/volatile xorg-modules-volatile %(libdir)s/modules" - % {"libdir": libdir, "datadir": datadir}) -# --slave /etc/X11/XvMCConfig XvMCConfig %(datadir)s/XvMCConfig \ -# --slave /etc/ld.so.conf.d/10-nvidia.conf nvidia-ldsoconf %(datadir)s/ld.so.conf" - - # If this driver is in use, refresh links after installation. - if os.readlink("/etc/alternatives/libGL") == "%s/libGL.so.1.2.0" % libdir: - os.system("/usr/sbin/alternatives --set libGL %s/libGL.so.1.2.0" % libdir) - os.system("/sbin/ldconfig -X") - -def preRemove(): - # FIXME This is not needed when upgrading package; but pisi does not - # provide a way to learn operation type. - #os.system("/usr/sbin/alternatives --remove libGL %s/libGL.so.1.2.0" % libdir) - pass diff --git a/kernel/drivers/module-nvidia-current/files/NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch b/kernel/drivers/module-nvidia-current/files/NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch deleted file mode 100755 index 08bf281614..0000000000 --- a/kernel/drivers/module-nvidia-current/files/NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch +++ /dev/null @@ -1,50 +0,0 @@ -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 -+ - #include - - #include -@@ -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 -+ - #include - - #include -@@ -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( diff --git a/kernel/drivers/module-nvidia-current/files/NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch b/kernel/drivers/module-nvidia-current/files/NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch deleted file mode 100755 index 7548fec4fa..0000000000 --- a/kernel/drivers/module-nvidia-current/files/NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- 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 -+ - #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: diff --git a/kernel/drivers/module-nvidia-current/files/dkms.conf b/kernel/drivers/module-nvidia-current/files/dkms.conf new file mode 100644 index 0000000000..adfe390e6e --- /dev/null +++ b/kernel/drivers/module-nvidia-current/files/dkms.conf @@ -0,0 +1,19 @@ +PACKAGE_NAME="nvidia" +PACKAGE_VERSION="440.44" +AUTOINSTALL="yes" + +# By default, DKMS will add KERNELRELEASE to the make command line; however, +# this will cause the kernel module build to infer that it was invoked via +# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting +# the 'make' command name to suppress this behavior. +MAKE[0]="'make' -j5 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules" + +# The list of kernel modules was generated by nvidia-installer at runtime. +BUILT_MODULE_NAME[0]="nvidia" +DEST_MODULE_LOCATION[0]="/extra" +BUILT_MODULE_NAME[1]="nvidia-uvm" +DEST_MODULE_LOCATION[1]="/extra" +BUILT_MODULE_NAME[2]="nvidia-modeset" +DEST_MODULE_LOCATION[2]="/extra" +BUILT_MODULE_NAME[3]="nvidia-drm" +DEST_MODULE_LOCATION[3]="/extra" diff --git a/kernel/drivers/module-nvidia-current/files/modprobe.conf b/kernel/drivers/module-nvidia-current/files/modprobe.conf old mode 100755 new mode 100644 diff --git a/kernel/drivers/module-nvidia-current/files/nvidia-settings.desktop b/kernel/drivers/module-nvidia-current/files/nvidia-settings.desktop old mode 100755 new mode 100644 diff --git a/kernel/drivers/module-nvidia-current/files/xorg.conf b/kernel/drivers/module-nvidia-current/files/xorg.conf new file mode 100644 index 0000000000..9c36f59b54 --- /dev/null +++ b/kernel/drivers/module-nvidia-current/files/xorg.conf @@ -0,0 +1,8 @@ +Section "OutputClass" + Identifier "nvidia" + MatchDriver "nvidia-drm" + Driver "nvidia" + Option "AllowEmptyInitialConfiguration" + ModulePath "/usr/lib/nvidia/xorg" + ModulePath "/usr/lib/xorg/modules" +EndSection diff --git a/kernel/drivers/module-nvidia-current/pspec.xml b/kernel/drivers/module-nvidia-current/pspec.xml index 3b7dbc8ef2..a602ef3847 100644 --- a/kernel/drivers/module-nvidia-current/pspec.xml +++ b/kernel/drivers/module-nvidia-current/pspec.xml @@ -11,11 +11,7 @@ NVIDIA NVIDIA drivers for GeForce 6xxx and newer GPUs NVIDIA graphics drivers provide optimized 2D/3D performance. - http://http.download.nvidia.com/XFree86/Linux-x86_64/440.36/NVIDIA-Linux-x86_64-440.44.run - + http://http.download.nvidia.com/XFree86/Linux-x86_64/440.44/NVIDIA-Linux-x86_64-440.44.run kernel-module-headers libX11-devel @@ -30,7 +26,6 @@ Kernel module for current NVIDIA graphics driver releases kernel - /lib/modules @@ -42,20 +37,11 @@ noDelta + + nvidia-current-dkms + - - nvidia-settings app:gui @@ -71,8 +57,11 @@ libX11 libXext gdk-pixbuf - module-nvidia-current + + module-nvidia-current + nvidia-current-dkms + /usr/bin/nvidia-settings /usr/share/man/man1/nvidia-settings.1 @@ -91,9 +80,10 @@ app:console hardware.graphics Xconfig file for nvidia-current kernel driver - + module-nvidia-current - + nvidia-current-dkms + /usr/bin/nvidia-xconfig /usr/share/man/man1/nvidia-xconfig.1 @@ -109,8 +99,11 @@ libX11 mesa xorg-server - module-nvidia-current + + module-nvidia-current + nvidia-current-dkms + /etc/OpenCL /usr/bin @@ -119,51 +112,78 @@ /usr/share/nvidia-current /usr/share/doc /usr/share/man + /usr/share/glvnd/egl_vendor.d/10_nvidia.json + /etc/vulkan/icd.d - - System.Package - noDelta + + - xorg-video-nvidia-current-32bit - emul32 - 32-bit shared libraries for xorg-video-nvidia-current - emul32 - - libvdpau-32bit - + nvidia-current-dkms + driver + NVIDIA driver sources for linux - zlib-32bit - mesa-32bit - libX11-32bit - libXext-32bit - xorg-video-nvidia-current - atk - gtk2 - gtk3 - cairo - glib2 - pango - gdk-pixbuf + dkms - /usr/lib32 - /usr/share/nvidia-current/32bit-ld.so.conf + /etc/modprobe.d/nvidia-current-dkms.conf + /usr/src/nvidia-440.44 - - System.Package - + + modprobe.conf + dkms.conf + xorg.conf + noDelta + + module-nvidia-current + - + + 2020-01-07 + 440.44 + Add dkms. + Marcin Bojara + marcin.bojara@gmail.com + + 2019-12-28 440.44 Version bump @@ -177,7 +197,7 @@ İdris Kalp idriskalp@gmail.com - + 2019-06-09 390.116 Rebuild