Merge pull request #7406 from marcin-/master
nvidia390: add dkms support
This commit is contained in:
@@ -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/")
|
||||
|
||||
@@ -176,6 +176,7 @@
|
||||
</BuildFlags>
|
||||
<Conflicts>
|
||||
<Package>module-nvidia-current</Package>
|
||||
<Package>nvidia390-dkms</Package>
|
||||
</Conflicts>
|
||||
</Package>
|
||||
|
||||
@@ -183,7 +184,7 @@
|
||||
<Update release="28">
|
||||
<Date>2020-01-08</Date>
|
||||
<Version>440.44</Version>
|
||||
<Comment>Add dkms.</Comment>
|
||||
<Comment>Add dkms support</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin.bojara@gmail.com</Email>
|
||||
</Update>
|
||||
|
||||
Executable → Regular
+12
-2
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
Executable → Regular
Executable → Regular
@@ -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"
|
||||
Executable → Regular
Executable → Regular
Executable → Regular
Executable → Regular
Executable → Regular
@@ -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
|
||||
Executable → Regular
+53
-18
@@ -13,6 +13,9 @@
|
||||
<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>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="dkms.conf">dkms.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildDependencies>
|
||||
<Dependency version="5.4.2">kernel-module-headers</Dependency>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
@@ -39,17 +42,21 @@
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
<Conflicts>
|
||||
<Package>nvidia390-dkms</Package>
|
||||
</Conflicts>
|
||||
</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>
|
||||
<AnyDependency>
|
||||
<Dependency version="current">module-nvidia390</Dependency>
|
||||
<Dependency>nvidia390-dkms</Dependency>
|
||||
</AnyDependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/nvidia-xconfig</Path>
|
||||
@@ -66,25 +73,25 @@
|
||||
<Dependency>libX11</Dependency>
|
||||
<Dependency>mesa</Dependency>
|
||||
<Dependency>xorg-server</Dependency>
|
||||
<Dependency version="current">module-nvidia390</Dependency>
|
||||
<AnyDependency>
|
||||
<Dependency version="current">module-nvidia390</Dependency>
|
||||
<Dependency>nvidia390-dkms</Dependency>
|
||||
</AnyDependency>
|
||||
</RuntimeDependencies>
|
||||
<Conflicts>
|
||||
<Conflicts>
|
||||
<Package>xorg-video-nvidia-current</Package>
|
||||
<Package>xorg-video-nvidia304</Package>
|
||||
<Package>xorg-video-nvidia340</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="data">/usr/share/nvidia390</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>
|
||||
@@ -112,30 +119,58 @@
|
||||
<Dependency>pango</Dependency>
|
||||
<Dependency>gdk-pixbuf</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Conflicts>
|
||||
<Conflicts>
|
||||
<Package>xorg-video-nvidia-current-32bit</Package>
|
||||
<Package>xorg-video-nvidia304-32bit</Package>
|
||||
<Package>xorg-video-nvidia340-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>
|
||||
<Path fileType="library">/usr/share/nvidia390/32bit-ld.so.conf</Path>
|
||||
</Files>
|
||||
<Provides>
|
||||
<COMAR script="package-emul32.py">System.Package</COMAR>
|
||||
</Provides>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>nvidia390-dkms</Name>
|
||||
<IsA>driver</IsA>
|
||||
<Summary>NVIDIA driver sources for linux</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>dkms</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc/modprobe.d/nvidia390-dkms.conf</Path>
|
||||
<Path fileType="data">/usr/src/nvidia*</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/modprobe.d/nvidia390-dkms.conf">modprobe.conf</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf">xorg.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildFlags>
|
||||
<Flag>noDelta</Flag>
|
||||
</BuildFlags>
|
||||
<Conflicts>
|
||||
<Package>module-nvidia390</Package>
|
||||
<Package>nvidia-current-dkms</Package>
|
||||
</Conflicts>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="4">
|
||||
<Update release="5">
|
||||
<Date>2020-01-09</Date>
|
||||
<Version>390.132</Version>
|
||||
<Comment>Add dkms support</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin.bojara@gmail.com</Email>
|
||||
</Update>
|
||||
<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>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
|
||||
Executable → Regular
Reference in New Issue
Block a user