diff --git a/kernel/drivers/module-nvidia-current/actions.py b/kernel/drivers/module-nvidia-current/actions.py index 5d5f6f72e4..6352f6b2e4 100644 --- a/kernel/drivers/module-nvidia-current/actions.py +++ b/kernel/drivers/module-nvidia-current/actions.py @@ -28,7 +28,8 @@ def setup(): shelltools.echo("ld.so.conf", nvlibdir) shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir) - + + # dkms shelltools.copytree("kernel", "kernel-dkms") shelltools.unlink("kernel-dkms/dkms.conf") shelltools.move("dkms.conf", "kernel-dkms/") diff --git a/kernel/drivers/module-nvidia-current/pspec.xml b/kernel/drivers/module-nvidia-current/pspec.xml index 3356c8ee7f..d333923c99 100644 --- a/kernel/drivers/module-nvidia-current/pspec.xml +++ b/kernel/drivers/module-nvidia-current/pspec.xml @@ -176,6 +176,7 @@ module-nvidia-current + nvidia390-dkms @@ -183,7 +184,7 @@ 2020-01-08 440.44 - Add dkms. + Add dkms support Marcin Bojara marcin.bojara@gmail.com diff --git a/kernel/drivers/module-nvidia390/actions.py b/kernel/drivers/module-nvidia390/actions.py old mode 100755 new mode 100644 index 5c2c694ebd..e65999870a --- a/kernel/drivers/module-nvidia390/actions.py +++ b/kernel/drivers/module-nvidia390/actions.py @@ -14,7 +14,7 @@ KDIR = kerneltools.getKernelVersion() NoStrip = ["/lib/modules"] version = get.srcVERSION() -driver_dir_name = "nvidia-current" +driver_dir_name = "nvidia390" 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") @@ -41,6 +41,13 @@ def setup(): shelltools.echo("ld.so.conf", nvlibdir) shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir) + # dkms + shelltools.copytree("kernel", "kernel-dkms") + shelltools.unlink("kernel-dkms/dkms.conf") + shelltools.move("dkms.conf", "kernel-dkms/") + pisitools.dosed("kernel-dkms/Makefile", "CC \?= cc", "CC = /usr/bin/cc") + pisitools.dosed("kernel-dkms/dkms.conf", "%VERSION%", version) + def build(): # We don't need kernel module for emul32 build if get.buildTYPE() == 'emul32': @@ -82,10 +89,13 @@ def install(): pisitools.dobin("nvidia-persistenced") pisitools.doman("nvidia-persistenced.1.gz") + # dkms + pisitools.insinto("/usr/src/nvidia-%s" % version, "kernel-dkms/*") + ### 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.2.0" % nvlibdir) pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1" % nvlibdir) pisitools.dolib("libGL.so.%s" % version, libdir) diff --git a/kernel/drivers/module-nvidia390/comar/package-emul32.py b/kernel/drivers/module-nvidia390/comar/package-emul32.py deleted file mode 100755 index 055939ea6b..0000000000 --- a/kernel/drivers/module-nvidia390/comar/package-emul32.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/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 diff --git a/kernel/drivers/module-nvidia390/comar/package.py b/kernel/drivers/module-nvidia390/comar/package.py deleted file mode 100755 index c3fc7720e4..0000000000 --- a/kernel/drivers/module-nvidia390/comar/package.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/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 diff --git a/kernel/drivers/module-nvidia390/files/NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch b/kernel/drivers/module-nvidia390/files/NVIDIA-Linux-x86_64-390.87-kernel-4.19.patch old mode 100755 new mode 100644 diff --git a/kernel/drivers/module-nvidia390/files/NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch b/kernel/drivers/module-nvidia390/files/NVIDIA-Linux-x86_64-390.87-kernel-4.20.patch old mode 100755 new mode 100644 diff --git a/kernel/drivers/module-nvidia390/files/dkms.conf b/kernel/drivers/module-nvidia390/files/dkms.conf new file mode 100644 index 0000000000..b6f93eb7bb --- /dev/null +++ b/kernel/drivers/module-nvidia390/files/dkms.conf @@ -0,0 +1,19 @@ +PACKAGE_NAME="nvidia" +PACKAGE_VERSION="%VERSION%" +AUTOINSTALL="yes" + +# By default, DKMS will add KERNELRELEASE to the make command line; however, +# this will cause the kernel module build to infer that it was invoked via +# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting +# the 'make' command name to suppress this behavior. +MAKE[0]="'make' -j5 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules" + +# The list of kernel modules was generated by nvidia-installer at runtime. +BUILT_MODULE_NAME[0]="nvidia" +DEST_MODULE_LOCATION[0]="/extra" +BUILT_MODULE_NAME[1]="nvidia-uvm" +DEST_MODULE_LOCATION[1]="/extra" +BUILT_MODULE_NAME[2]="nvidia-modeset" +DEST_MODULE_LOCATION[2]="/extra" +BUILT_MODULE_NAME[3]="nvidia-drm" +DEST_MODULE_LOCATION[3]="/extra" diff --git a/kernel/drivers/module-nvidia390/files/linux-5.1.patch b/kernel/drivers/module-nvidia390/files/linux-5.1.patch old mode 100755 new mode 100644 diff --git a/kernel/drivers/module-nvidia390/files/modprobe.conf b/kernel/drivers/module-nvidia390/files/modprobe.conf old mode 100755 new mode 100644 diff --git a/kernel/drivers/module-nvidia390/files/nvidia-settings.desktop b/kernel/drivers/module-nvidia390/files/nvidia-settings.desktop old mode 100755 new mode 100644 diff --git a/kernel/drivers/module-nvidia390/files/package-emul32.py b/kernel/drivers/module-nvidia390/files/package-emul32.py old mode 100755 new mode 100644 diff --git a/kernel/drivers/module-nvidia390/files/package.py b/kernel/drivers/module-nvidia390/files/package.py old mode 100755 new mode 100644 diff --git a/kernel/drivers/module-nvidia390/files/xorg.conf b/kernel/drivers/module-nvidia390/files/xorg.conf new file mode 100644 index 0000000000..9c36f59b54 --- /dev/null +++ b/kernel/drivers/module-nvidia390/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-nvidia390/pspec.xml b/kernel/drivers/module-nvidia390/pspec.xml old mode 100755 new mode 100644 index 9954037b64..ca8da17225 --- a/kernel/drivers/module-nvidia390/pspec.xml +++ b/kernel/drivers/module-nvidia390/pspec.xml @@ -13,6 +13,9 @@ NVIDIA graphics drivers provide optimized 2D/3D performance. http://us.download.nvidia.com/XFree86/Linux-x86/390.132/NVIDIA-Linux-x86-390.132.run http://us.download.nvidia.com/XFree86/Linux-x86_64/390.132/NVIDIA-Linux-x86_64-390.132.run + + dkms.conf + kernel-module-headers libX11-devel @@ -39,17 +42,21 @@ noDelta + + nvidia390-dkms + - - nvidia-xconfig390 app:console hardware.graphics Xconfig file for nvidia390 kernel driver - module-nvidia-current + + module-nvidia390 + nvidia390-dkms + /usr/bin/nvidia-xconfig @@ -66,25 +73,25 @@ libX11 mesa xorg-server - module-nvidia390 + + module-nvidia390 + nvidia390-dkms + - + xorg-video-nvidia-current xorg-video-nvidia304 - xorg-video-nvidia340 + xorg-video-nvidia340 /etc/OpenCL /usr/bin /usr/lib /usr/share/X11 - /usr/share/nvidia-current + /usr/share/nvidia390 /usr/share/doc /usr/share/man - - System.Package - noDelta @@ -112,30 +119,58 @@ pango gdk-pixbuf - + xorg-video-nvidia-current-32bit xorg-video-nvidia304-32bit - xorg-video-nvidia340-32bit + xorg-video-nvidia340-32bit /usr/lib32 - /usr/share/nvidia-current/32bit-ld.so.conf + /usr/share/nvidia390/32bit-ld.so.conf - - System.Package - noDelta + + nvidia390-dkms + driver + NVIDIA driver sources for linux + + dkms + + + /etc/modprobe.d/nvidia390-dkms.conf + /usr/src/nvidia* + + + modprobe.conf + xorg.conf + + + noDelta + + + module-nvidia390 + nvidia-current-dkms + + + - + + 2020-01-09 + 390.132 + Add dkms support + Marcin Bojara + marcin.bojara@gmail.com + + 2019-12-12 390.132 First release İdris Kalp idriskalp@gmail.com - + diff --git a/kernel/drivers/module-nvidia390/translations.xml b/kernel/drivers/module-nvidia390/translations.xml old mode 100755 new mode 100644