X-Git-Url: http://git.pld-linux.org/?p=packages%2Fxorg-driver-video-nvidia.git;a=blobdiff_plain;f=xorg-driver-video-nvidia.spec;h=3aae2e3ab65d46a4660a11ca01d6082e63495e5d;hp=83f92e8b552f1f719d12b6801fb9a996e1add20f;hb=d626b139c25484b428054b274260c0106966e36c;hpb=538b2e0c099eed259b3f56f0104ee1b7b84294a1 diff --git a/xorg-driver-video-nvidia.spec b/xorg-driver-video-nvidia.spec index 83f92e8..3aae2e3 100644 --- a/xorg-driver-video-nvidia.spec +++ b/xorg-driver-video-nvidia.spec @@ -5,6 +5,7 @@ # # Conditional build: %bcond_with glvnd # with GL vendor neutral libs +%bcond_without system_libglvnd # do not use system libglvnd %bcond_without kernel # without kernel packages %bcond_without userspace # don't build userspace programs %bcond_with settings # package nvidia-settings here (GPL version of same packaged from nvidia-settings.spec) @@ -19,6 +20,12 @@ exit 1 %endif +%if %{with glvnd} +%define vulkan_lib libGLX_nvidia.so.0 +%else +%define vulkan_lib libGL.so.1 +%endif + %if %{without userspace} # nothing to be placed to debuginfo package %define _enable_debug_packages 0 @@ -33,22 +40,19 @@ 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: 381.22 +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: 8825cec1640739521689bd80121d1425 -Source1: http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-no-compat32.run -# Source1-md5: 0e9590d48703c8baa034b6f0f8bbf1e5 +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.1-and-older.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}} @@ -56,11 +60,11 @@ 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 -Provides: vulkan(icd) = 1.0.42 +Provides: vulkan(icd) = 1.1.70 Provides: xorg-driver-video Provides: xorg-xserver-module(glx) Obsoletes: XFree86-driver-nvidia @@ -113,7 +117,7 @@ Summary: OpenGL (GL and GLX) Nvidia libraries Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) Nvidia Group: X11/Development/Libraries Requires(post,postun): /sbin/ldconfig -%if %{with glvnd} +%if %{with glvnd} && %{with system_libglvnd} Requires: libglvnd Requires: libglvnd-libGL Requires: libglvnd-libGLES @@ -185,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\ @@ -243,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 @@ -276,8 +276,9 @@ install -d $RPM_BUILD_ROOT%{_libdir}/{nvidia,xorg/modules/{drivers,extensions/nv $RPM_BUILD_ROOT{%{_includedir}/GL,%{_libdir}/vdpau,%{_bindir},%{_mandir}/man1} \ $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/etc/X11/xinit/xinitrc.d} \ $RPM_BUILD_ROOT%{_sysconfdir}/{OpenCL/vendors,ld.so.conf.d,X11/xorg.conf.d} \ - $RPM_BUILD_ROOT%{_datadir}/vulkan/icd.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 @@ -294,45 +295,71 @@ install -p nvidia.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d install %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-modules.conf +install -p nvidia-drm-outputclass.conf $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf + +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} - libGLX_nvidia.so.%{version} \ - libEGL.so.1 \ - libEGL_nvidia.so.%{version} \ - libGLESv1_CM_nvidia.so.%{version} \ - libGLESv2_nvidia.so.%{version} \ - libnvidia-egl-wayland.so.1.0.1 \ - libnvidia-eglcore.so.%{version} \ +%if %{without system_libglvnd} + %{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 @@ -351,12 +378,27 @@ echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf # OpenGL ABI for Linux compatibility %if %{with glvnd} +%if %{without system_libglvnd} +ln -sf libGL.so.1.7.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1 +ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so +ln -sf libGLX.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX.so +ln -sf libOpenGL.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libOpenGL.so +ln -sf libGLESv1_CM.so.1.2.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so.1 +ln -sf libGLESv1_CM.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so +ln -sf libGLESv2.so.2.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so.2 +ln -sf libGLESv2.so.2 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so +ln -sf libEGL.so.1.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so.1 +ln -sf libEGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so +%endif ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_nvidia.so.0 ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_indirect.so.0 -ln -sf libEGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so ln -sf libEGL_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL_nvidia.so.0 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 @@ -364,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 -install nvidia_icd.json $RPM_BUILD_ROOT%{_datadir}/vulkan/icd.d +%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 ' @@ -394,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 @@ -405,19 +452,37 @@ EOF %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglx.so %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so.* %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so -%{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-modules.conf -%{_datadir}/vulkan/icd.d/nvidia_icd.json +%{_sysconfdir}/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf +%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} -%attr(755,root,root) %{_libdir}/nvidia/libEGL.so.1 +%if %{without system_libglvnd} +%attr(755,root,root) %{_libdir}/nvidia/libGL.so.1.7.0 +%attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1 +%attr(755,root,root) %{_libdir}/nvidia/libGLX.so.0 +%attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so.0 +%attr(755,root,root) %{_libdir}/nvidia/libGLdispatch.so.0 +%attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so.1.2.0 +%attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM.so.1 +%attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so.2.1.0 +%attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2.so.2 +%attr(755,root,root) %{_libdir}/nvidia/libEGL.so.1.1.0 +%attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL.so.1 +%endif %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL_nvidia.so.0 %attr(755,root,root) %{_libdir}/nvidia/libEGL_nvidia.so.*.* %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1 @@ -427,8 +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 @@ -439,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 @@ -449,8 +519,10 @@ 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 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ml.so.*.* %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ml.so.1 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-opencl.so.*.* @@ -459,6 +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) @@ -468,7 +546,14 @@ EOF %{_includedir}/GL/glx.h %{_includedir}/GL/glxext.h %if %{with glvnd} +%if %{without system_libglvnd} +%attr(755,root,root) %{_libdir}/nvidia/libGL.so +%attr(755,root,root) %{_libdir}/nvidia/libGLX.so +%attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so +%attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so +%attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so %attr(755,root,root) %{_libdir}/nvidia/libEGL.so +%endif %else %attr(755,root,root) %{_libdir}/nvidia/libGL.so %endif @@ -478,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 @@ -496,3 +582,4 @@ EOF %{_pixmapsdir}/nvidia-settings.png %endif %endif +%endif