[packages/xorg-driver-video-nvidia] up to 396.24 (32bit driver support dropped)

atler atler at pld-linux.org
Thu May 3 13:23:26 CEST 2018


commit 7f0cefc2098e3b1011d1b43f297d9cce57393972
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu May 3 13:16:52 2018 +0200

    up to 396.24 (32bit driver support dropped)
    
    when built for 32bit target only package with compatibility libraries is
    created

 linux-4.16.patch              |  12 ----
 xorg-driver-video-nvidia.spec | 125 +++++++++++++++++++++++++-----------------
 2 files changed, 76 insertions(+), 61 deletions(-)
---
diff --git a/xorg-driver-video-nvidia.spec b/xorg-driver-video-nvidia.spec
index ff7904c..94a0039 100644
--- a/xorg-driver-video-nvidia.spec
+++ b/xorg-driver-video-nvidia.spec
@@ -33,29 +33,26 @@ exit 1
 
 %define		no_install_post_check_so 1
 
-%define		rel	2
+%define		rel	1
 %define		pname	xorg-driver-video-nvidia
 Summary:	Linux Drivers for nVidia GeForce/Quadro Chips
 Summary(hu.UTF-8):	Linux meghajtók nVidia GeForce/Quadro chipekhez
 Summary(pl.UTF-8):	Sterowniki do kart graficznych nVidia GeForce/Quadro
 Name:		%{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
 # when updating version here, keep nvidia-settings.spec in sync as well
-Version:	390.48
+Version:	396.24
 Release:	%{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
 Epoch:		1
 License:	nVidia Binary
 Group:		X11
-Source0:	http://us.download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}.run
-# Source0-md5:	754bbdc3eb6f3873cca49ae807964c0e
-Source1:	http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-no-compat32.run
-# Source1-md5:	8ed67fc67710b6cfd9c9273054e2117a
+Source0:	http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run
+# Source0-md5:	7b5c4735a5b7ad3a9d166ca85cc88e17
 Source2:	%{pname}-xinitrc.sh
 Source3:	gl.pc.in
 Source4:	10-nvidia.conf
 Source5:	10-nvidia-modules.conf
 Patch0:		X11-driver-nvidia-GL.patch
 Patch1:		X11-driver-nvidia-desktop.patch
-Patch2:		linux-4.16.patch
 URL:		http://www.nvidia.com/object/unix.html
 BuildRequires:	rpmbuild(macros) >= 1.701
 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
@@ -63,7 +60,7 @@ BuildRequires:	sed >= 4.0
 BuildConflicts:	XFree86-nvidia
 Requires:	%{pname}-libs = %{epoch}:%{version}-%{rel}
 Requires:	xorg-xserver-server
-Requires:	xorg-xserver-server(videodrv-abi) <= 23.0
+Requires:	xorg-xserver-server(videodrv-abi) <= 24.0
 Requires:	xorg-xserver-server(videodrv-abi) >= 2.0
 Provides:	ocl-icd(nvidia)
 Provides:	ocl-icd-driver
@@ -192,6 +189,7 @@ Eszközök az nVidia grafikus kártyák beállításához.
 %description progs -l pl.UTF-8
 Narzędzia do zarządzania kartami graficznymi nVidia.
 
+%ifarch %{x8664}
 %define	kernel_pkg()\
 %package -n kernel%{_alt_kernel}-video-nvidia\
 Summary:	nVidia kernel module for nVidia Architecture support\
@@ -250,30 +248,25 @@ cd kernel\
 %{__make} SYSSRC=%{_kernelsrcdir} IGNORE_CC_MISMATCH=1 NV_VERBOSE=1 CC=%{__cc} module\
 cd ..\
 %install_kernel_modules -D installed -m kernel/nvidia,kernel/nvidia-drm,kernel/nvidia-modeset -d misc\
-%ifarch %{x8664}\
 %install_kernel_modules -D installed -m kernel/nvidia-uvm -d misc\
-%endif\
 %{nil}
 
 %{?with_kernel:%{expand:%create_kernel_packages}}
+%endif
 
 %prep
 cd %{_builddir}
-rm -rf NVIDIA-Linux-x86*-%{version}*
-%ifarch %{ix86}
+rm -rf NVIDIA-Linux-x86_64-%{version}
 /bin/sh %{SOURCE0} --extract-only
-%setup -qDT -n NVIDIA-Linux-x86-%{version}
-%else
-/bin/sh %{SOURCE1} --extract-only
-%setup -qDT -n NVIDIA-Linux-x86_64-%{version}-no-compat32
-%endif
+%setup -qDT -n NVIDIA-Linux-x86_64-%{version}
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
 echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> kernel/Makefile.kbuild
 
 %build
+%ifarch %{x8664}
 %{?with_kernel:%{expand:%build_kernel_packages}}
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -285,6 +278,7 @@ install -d $RPM_BUILD_ROOT%{_libdir}/{nvidia,xorg/modules/{drivers,extensions/nv
 	$RPM_BUILD_ROOT%{_sysconfdir}/{OpenCL/vendors,ld.so.conf.d,X11/xorg.conf.d} \
 	$RPM_BUILD_ROOT%{_datadir}/{glvnd/egl_vendor.d,nvidia,vulkan/icd.d}
 
+%ifarch %{x8664}
 %if %{with settings}
 install -p nvidia-settings $RPM_BUILD_ROOT%{_bindir}
 cp -p nvidia-settings.1* $RPM_BUILD_ROOT%{_mandir}/man1
@@ -305,53 +299,67 @@ install -p nvidia-drm-outputclass.conf $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nv
 
 install -p nvidia-application-profiles-%{version}-key-documentation $RPM_BUILD_ROOT%{_datadir}/nvidia
 install -p nvidia-application-profiles-%{version}-rc $RPM_BUILD_ROOT%{_datadir}/nvidia
+%endif
+
+%ifarch %{ix86}
+%define	srcdir	32
+%else
+%define	srcdir	.
+%endif
 
 for f in \
 %if %{with glvnd}
 %if %{without system_libglvnd}
-	libGL.so.1.7.0				\
-	libGLX.so.0				\
-	libOpenGL.so.0				\
-	libGLdispatch.so.0			\
-	libGLESv1_CM.so.1.2.0			\
-	libGLESv2.so.2.1.0			\
-	libEGL.so.1.1.0				\
-%endif
-	libGLX_nvidia.so.%{version}		\
-	libEGL_nvidia.so.%{version}		\
-	libGLESv1_CM_nvidia.so.%{version}	\
-	libGLESv2_nvidia.so.%{version}		\
-	libnvidia-egl-wayland.so.1.0.2		\
-	libnvidia-eglcore.so.%{version}		\
+	%{srcdir}/libGL.so.1.7.0				\
+	%{srcdir}/libGLX.so.0				\
+	%{srcdir}/libOpenGL.so.0				\
+	%{srcdir}/libGLdispatch.so.0			\
+	%{srcdir}/libGLESv1_CM.so.1.2.0			\
+	%{srcdir}/libGLESv2.so.2.1.0			\
+	%{srcdir}/libEGL.so.1.1.0				\
+%endif
+	%{srcdir}/libGLX_nvidia.so.%{version}		\
+	%{srcdir}/libEGL_nvidia.so.%{version}		\
+	%{srcdir}/libGLESv1_CM_nvidia.so.%{version}	\
+	%{srcdir}/libGLESv2_nvidia.so.%{version}		\
+%ifarch %{x8664}
+	%{srcdir}/libnvidia-egl-wayland.so.1.0.3		\
+	%{srcdir}/libnvidia-eglcore.so.%{version}		\
+%endif
 %else
-	libGL.so.%{version}			\
-%endif
-	libcuda.so.%{version}			\
-	libnvcuvid.so.%{version}		\
-	libnvidia-cfg.so.%{version}		\
-	libnvidia-compiler.so.%{version}	\
-	libnvidia-encode.so.%{version}		\
-	libnvidia-fatbinaryloader.so.%{version}	\
-	libnvidia-fbc.so.%{version}	\
-	libnvidia-glcore.so.%{version}		\
-	libnvidia-glsi.so.%{version}		\
-	libnvidia-ifr.so.%{version}		\
-	libnvidia-ml.so.%{version}		\
-	libnvidia-opencl.so.%{version}		\
-	libnvidia-ptxjitcompiler.so.%{version}	\
-	tls/libnvidia-tls.so.%{version}		\
+	%{srcdir}/libGL.so.%{version}			\
+%endif
+	%{srcdir}/libcuda.so.%{version}			\
+	%{srcdir}/libnvcuvid.so.%{version}		\
+%ifarch %{x8664}
+	%{srcdir}/libnvidia-cfg.so.%{version}		\
+%endif
+	%{srcdir}/libnvidia-compiler.so.%{version}	\
+	%{srcdir}/libnvidia-encode.so.%{version}		\
+	%{srcdir}/libnvidia-fatbinaryloader.so.%{version}	\
+	%{srcdir}/libnvidia-fbc.so.%{version}	\
+	%{srcdir}/libnvidia-glcore.so.%{version}		\
+	%{srcdir}/libnvidia-glsi.so.%{version}		\
+	%{srcdir}/libnvidia-glvkspirv.so.%{version}		\
+	%{srcdir}/libnvidia-ifr.so.%{version}		\
+	%{srcdir}/libnvidia-ml.so.%{version}		\
+	%{srcdir}/libnvidia-opencl.so.%{version}		\
+	%{srcdir}/libnvidia-ptxjitcompiler.so.%{version}	\
+	%{srcdir}/tls/libnvidia-tls.so.%{version}		\
 ; do
 	install -p $f $RPM_BUILD_ROOT%{_libdir}/nvidia
 done
 
-install -p libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau
+install -p %{srcdir}/libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau
 
+%ifarch %{x8664}
 install -p libglx.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
 ln -s libglx.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia/libglx.so
 install -p nvidia_drv.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so.%{version}
 ln -s nvidia_drv.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so
 install -p libnvidia-wfb.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
 ln -s libnvidia-wfb.so.1 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia/libnvidia-wfb.so
+%endif
 
 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/nvidia
 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
@@ -388,7 +396,9 @@ ln -sf libEGL_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL_nvidi
 ln -sf libGLESv1_CM_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1
 ln -sf libGLESv2_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2_nvidia.so.2
 
+%ifarch %{x8664}
 install -p 10_nvidia.json $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d
+%endif
 %else
 ln -sf libGL.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1
 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so
@@ -396,13 +406,17 @@ ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so
 ln -sf libcuda.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libcuda.so
 ln -sf libnvcuvid.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libnvcuvid.so
 
+%ifarch %{x8664}
 sed 's!__NV_VK_ICD__!%{vulkan_lib}!g' nvidia_icd.json.template > $RPM_BUILD_ROOT%{_datadir}/vulkan/icd.d/nvidia_icd.json
 %endif
+%endif
 
+%ifarch %{x8664}
 %if %{with kernel}
 install -d $RPM_BUILD_ROOT
 cp -a installed/* $RPM_BUILD_ROOT
 %endif
+%endif
 
 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
 sed -e '
@@ -426,6 +440,7 @@ EOF
 %postun	libs -p /sbin/ldconfig
 
 %if %{with userspace}
+%ifarch %{x8664}
 %files
 %defattr(644,root,root,755)
 %doc LICENSE NVIDIA_Changelog README.txt
@@ -443,12 +458,15 @@ EOF
 %dir %{_datadir}/nvidia
 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-key-documentation
 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-rc
+%endif
 
 %files libs
 %defattr(644,root,root,755)
+%ifarch %{x8664}
 %dir %{_sysconfdir}/OpenCL
 %dir %{_sysconfdir}/OpenCL/vendors
 %{_sysconfdir}/OpenCL/vendors/nvidia.icd
+%endif}
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/nvidia*.conf
 %dir %{_libdir}/nvidia
 %if %{with glvnd}
@@ -474,9 +492,11 @@ EOF
 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_indirect.so.0
 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_nvidia.so.0
 %attr(755,root,root) %{_libdir}/nvidia/libGLX_nvidia.so.*.*
+%ifarch %{x8664}
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-egl-wayland.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-egl-wayland.so.1
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-eglcore.so.*.*
+%endif
 %else
 %attr(755,root,root) %{_libdir}/nvidia/libGL.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1
@@ -487,8 +507,10 @@ EOF
 %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvcuvid.so.1
 %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so
+%ifarch %{x8664}
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-cfg.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-cfg.so.1
+%endif
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-compiler.so.*.*
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-encode.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-encode.so.1
@@ -497,6 +519,7 @@ EOF
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-fbc.so.*.*
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glcore.so.*.*
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glsi.so.*.*
+%attr(755,root,root) %{_libdir}/nvidia/libnvidia-glvkspirv.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ifr.so.1
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ifr.so.*.*
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.1
@@ -508,10 +531,12 @@ EOF
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-tls.so.*.*
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nvidia.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1
+%ifarch %{x8664}
 %if %{with glvnd}
 %{_datadir}/glvnd/egl_vendor.d/10_nvidia.json
 %endif
 %{_datadir}/vulkan/icd.d/nvidia_icd.json
+%endif
 
 %files devel
 %defattr(644,root,root,755)
@@ -538,6 +563,7 @@ EOF
 %defattr(644,root,root,755)
 %doc html/*
 
+%ifarch %{x8664}
 %files progs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/nvidia-bug-report.sh
@@ -556,3 +582,4 @@ EOF
 %{_pixmapsdir}/nvidia-settings.png
 %endif
 %endif
+%endif
diff --git a/linux-4.16.patch b/linux-4.16.patch
deleted file mode 100644
index 8fd7e1d..0000000
--- a/linux-4.16.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur NVIDIA-Linux-x86_64-390.48-no-compat32.orig/kernel/common/inc/nv-linux.h NVIDIA-Linux-x86_64-390.48-no-compat32/kernel/common/inc/nv-linux.h
---- NVIDIA-Linux-x86_64-390.48-no-compat32.orig/kernel/common/inc/nv-linux.h	2018-04-06 23:06:17.967287478 +0200
-+++ NVIDIA-Linux-x86_64-390.48-no-compat32/kernel/common/inc/nv-linux.h	2018-04-06 23:06:31.980554716 +0200
-@@ -1209,7 +1209,7 @@
- static inline NvBool nv_dma_maps_swiotlb(struct pci_dev *dev)
- {
-     NvBool swiotlb_in_use = NV_FALSE;
--#if defined(CONFIG_SWIOTLB)
-+#if defined(CONFIG_SWIOTLB) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
-   #if defined(NV_DMA_OPS_PRESENT) || defined(NV_GET_DMA_OPS_PRESENT)
-     /*
-      * We only use the 'dma_ops' symbol on older x86_64 kernels; later kernels,
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xorg-driver-video-nvidia.git/commitdiff/7f0cefc2098e3b1011d1b43f297d9cce57393972



More information about the pld-cvs-commit mailing list