# TODO
-# - should -libs Require main package?
-# - drop binary-only nvidia-settings from here, and use nvidia-settings.spec for it?
+# - drop binary-only nvidia-settings from here, and use nvidia-settings.spec for it
# - kernel-drm is required on never kernels. driver for kernel-longterm not requires drm
#
# Conditional build:
-%bcond_with glvnd # with GL vendor neutral libs
+%bcond_without 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
%define vulkan_lib libGL.so.1
%endif
-%if %{without userspace}
-# nothing to be placed to debuginfo package
%define _enable_debug_packages 0
-%endif
%define no_install_post_check_so 1
-%define rel 1
+%define rel 5
%define pname xorg-driver-video-nvidia-legacy-390xx
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.138
+Version: 390.157
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: 1247db325e3127324e28fb5f7c59ad50
-Source1: http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-no-compat32.run
-# Source1-md5: 06e8b4f973719cb425a580542c861259
+Source0: https://us.download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}.run
+# Source0-md5: 0975ee17f9c690555dfb2a342a0138b8
+Source1: https://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-no-compat32.run
+# Source1-md5: 405c2220d5d3711e9f298c871e8d66ee
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
-URL: http://www.nvidia.com/object/unix.html
-BuildRequires: rpmbuild(macros) >= 1.701
+Patch2: kenrel-6.2.patch
+Patch3: kernel-6.3.patch
+Patch4: kernel-6.3-uvm.patch
+Patch5: kernel-6.4.patch
+Patch6: kernel-6.5-garbage-collect-all-references-to-get_user.patch
+Patch7: kernel-6.5-handle-get_user_pages-vmas-argument-remova.patch
+Patch8: kernel-6.5-handle-get_user_pages-vmas-argument-removal-x8664.patch
+URL: https://www.nvidia.com/en-us/drivers/unix/
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.752
%{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
BuildRequires: sed >= 4.0
BuildConflicts: XFree86-nvidia
Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
Requires: xorg-xserver-server
-Requires: xorg-xserver-server(videodrv-abi) <= 24.1
+Requires: xorg-xserver-server(videodrv-abi) <= 25.2
Requires: xorg-xserver-server(videodrv-abi) >= 2.0
Provides: ocl-icd(nvidia)
Provides: ocl-icd-driver
Provides: vulkan(icd) = 1.0.65
Provides: xorg-driver-video
Provides: xorg-xserver-module(glx)
-Obsoletes: XFree86-driver-nvidia
-Obsoletes: XFree86-nvidia
+Obsoletes: XFree86-driver-nvidia < 1.0.5336-4
+Obsoletes: XFree86-nvidia < 1.0
Conflicts: XFree86-OpenGL-devel <= 4.2.0-3
ExclusiveArch: %{ix86} %{x8664}
BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
-%define _noautoreqdep libGL.so.1 libnvcuvid.so
# libnvidia-encode.so.*.* links with libnvcuvid.so instead of libnvcuvid.so.1
%define _noautoreq libnvcuvid.so
%description
This driver set adds improved 2D functionality to the Xorg X server as
well as high performance OpenGL acceleration, AGP support, support for
-most flat panels, and 2D multiple monitor support. Supported hardware:
-modern NVIDIA GeForce (from GeForce2 MX) and Quadro (Quadro4 and up)
-based graphics accelerators.
-
-The older graphics chips are unsupported:
-- NV1 and RIVA 128/128ZX chips are supported in the base Xorg install
- (nv driver)
-- TNT/TNT2/GeForce 256/GeForce2 Ultra/Quadro2 are suported by -legacy
- drivers.
+most flat panels, and 2D multiple monitor support.
+
+Supported hardware:
+- GeForce 400/400M series (excluding 405)
+- GeForce 500/500M series
+- GeForce 600/600M series
+- GeForce 700/700M series
+- GeForce 800M series
+- GeForce 900/900M series
+- GeForce 10 series (excluding GT 1010)
+- GeForce 10 mobile series
+- GeForce MX100 series
+- GeForce TITAN series (GTX TITAN Z/GTX TITAN Black/GTX TITAN/
+ GTX TITAN X)
+- NVIDIA TITAN series (X/Xp/V)
+- NVS series (NVS 310/NVS 315/NVS 510/NVS 810)
+- NVS mobile series (NVS 4200M/NVS 5200M/NVS 5400M)
+- Quadro SDI
+- Quadro Sync series (G-Sync II/Sync/Sync II)
+- Quadro NVS series (NVS 310/NVS 315/NVS 510/NVS 810)
+- Quadro NVS mobile series (NVS 4200M/NVS 5200M/NVS 5400M)
+- Quadro Blade/Embedded series
+- Quadro series (excluding P2200 and 400)
+- Quadro mobile series (excluding T*/P520)
%description -l hu.UTF-8
Ez a meghajtó kibővíti az Xorg X szerver 2D működését OpenGL
gyorsítással, AGP támogatással és támogatja a több monitort.
-Támogatott hardverek: modern NVIDIA GeForce (GeForce2 MX-től) és
-Quadro (Quadro4 és újabbak) alapú grafikai gyorsítók.
-A régekbbi grafikus chipek nem támogatottak:
-- NV1 és RIVA 128/128ZX chipek az alap Xorg telepítéssel (nv meghajtó)
-- TNT/TNT2/GeForce 256/GeForce2 Ultra/Quadro2 a -legacy driverekkel
- támogatottak.
+Támogatott hardverek:
+- GeForce 400/400M series (- 405)
+- GeForce 500/500M series
+- GeForce 600/600M series
+- GeForce 700/700M series
+- GeForce 800M series
+- GeForce 900/900M series
+- GeForce 10 series (- GT 1010)
+- GeForce 10 mobile series
+- GeForce MX100 series
+- GeForce TITAN series (GTX TITAN Z/GTX TITAN Black/GTX TITAN/
+ GTX TITAN X)
+- NVIDIA TITAN series (X/Xp/V)
+- NVS series (NVS 310/NVS 315/NVS 510/NVS 810)
+- NVS mobile series (NVS 4200M/NVS 5200M/NVS 5400M)
+- Quadro SDI
+- Quadro Sync series (G-Sync II/Sync/Sync II)
+- Quadro NVS series (NVS 310/NVS 315/NVS 510/NVS 810)
+- Quadro NVS mobile series (NVS 4200M/NVS 5200M/NVS 5400M)
+- Quadro Blade/Embedded series
+- Quadro series (- P2200 and 400)
+- Quadro mobile series (- T*/P520)
%description -l pl.UTF-8
Usprawnione sterowniki dla kart graficznych nVidia do serwera Xorg,
dające wysokowydajną akcelerację OpenGL, obsługę AGP i wielu monitorów
-2D. Obsługują w miarę nowe karty NVIDIA GeForce (od wersji GeForce2
-MX) oraz Quadro (od wersji Quadro4).
-
-Starsze układy graficzne nie są obsługiwane przez ten pakiet:
-- NV1 i RIVA 128/128ZX są obsługiwane przez sterownik nv z Xorg
-- TNT/TNT2/GeForce 256/GeForce 2 Ultra/Quadro 2 są obsługiwane przez
- sterowniki -legacy
+2D.
+
+Obsługują karty:
+- GeForce serii 400/400M (oprócz 405)
+- GeForce serii 500/500M
+- GeForce serii 600/600M
+- GeForce serii 700/700M
+- GeForce serii 800M
+- GeForce serii 900/900M
+- GeForce serii 10 (oprócz GT 1010)
+- GeForce serii 10 mobile
+- GeForce serii MX100
+- GeForce serii TITAN (GTX TITAN Z/GTX TITAN Black/GTX TITAN/
+ GTX TITAN X)
+- NVIDIA serii TITAN (X/Xp/V)
+- serii NVS (NVS 310/NVS 315/NVS 510/NVS 810)
+- serii NVS mobile (NVS 4200M/NVS 5200M/NVS 5400M)
+- Quadro SDI
+- Quadro serii Sync (G-Sync II/Sync/Sync II)
+- Quadro serii NVS (NVS 310/NVS 315/NVS 510/NVS 810)
+- Quadro serii NVS mobile (NVS 4200M/NVS 5200M/NVS 5400M)
+- Quadro serii Blade/Embedded
+- Quadro (oprócz P2200 and 400)
+- Quadro mobile (oprócz T*/P520)
%package libs
Summary: OpenGL (GL and GLX) Nvidia libraries
Group: X11/Development/Libraries
Requires(post,postun): /sbin/ldconfig
%if %{with glvnd} && %{with system_libglvnd}
-Requires: libglvnd
-Requires: libglvnd-libGL
-Requires: libglvnd-libGLES
+Requires: libglvnd >= 1.3.4-2
+Requires: libglvnd-libGL >= 1.3.4-2
+Requires: libglvnd-libGLES >= 1.3.4-2
%endif
Requires: libvdpau >= 0.3
-Provides: OpenGL = 3.3
+Provides: OpenGL = 4.3
Provides: OpenGL-GLX = 1.4
Obsoletes: X11-OpenGL-core < 1:7.0.0
Obsoletes: X11-OpenGL-libGL < 1:7.0.0
Obsoletes: XFree86-OpenGL-core < 1:7.0.0
Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
+%if %{with glvnd} && %{with system_libglvnd}
+Obsoletes: xorg-driver-video-nvidia-legacy-390xx-devel < 390.143-2
+%endif
%description libs
NVIDIA OpenGL (GL and GLX only) implementation libraries.
Group: X11/Development/Libraries
Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
Provides: OpenGL-GLX-devel = 1.4
-Provides: OpenGL-devel = 2.1
-Obsoletes: X11-OpenGL-devel-base
-Obsoletes: XFree86-OpenGL-devel-base
-Obsoletes: XFree86-driver-nvidia-devel
+Provides: OpenGL-devel = 3.0
+Obsoletes: X11-OpenGL-devel-base < 1:7.0.0
+Obsoletes: XFree86-OpenGL-devel-base < 1:7.0.0
+Obsoletes: XFree86-driver-nvidia-devel < 1.0.5336-4
Conflicts: XFree86-OpenGL-devel < 4.3.99.902-0.3
%description devel
%package doc
Summary: Documentation for NVIDIA Graphics Driver
+Summary(pl.UTF-8): Dokumentacja do sterownika graficznego NVIDIA
Group: Documentation
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description doc
NVIDIA Accelerated Linux Graphics Driver README and Installation
Guide.
+%description doc -l pl.UTF-8
+Plik README oraz przewodnik instalacji do akcelerowanego sterownika
+graficznego NVIDIA dla Linuksa.
+
%package progs
Summary: Tools for advanced control of nVidia graphic cards
Summary(hu.UTF-8): Eszközök az nVidia grafikus kártyák beállításához
Group: Applications/System
Requires: %{pname} = %{epoch}:%{version}
Suggests: pkgconfig
-Obsoletes: XFree86-driver-nvidia-progs
+Obsoletes: XFree86-driver-nvidia-progs < 1.0.5336-4
%description progs
Tools for advanced control of nVidia graphic cards.
Requires(postun): %releq_kernel\
Requires: %{pname} = %{epoch}:%{version}\
Provides: X11-driver-nvidia(kernel)\
-Obsoletes: XFree86-nvidia-kernel\
+Obsoletes: XFree86-nvidia-kernel < 1.0.5336-4\
\
%description -n kernel%{_alt_kernel}-video-nvidia-legacy-390xx\
nVidia Architecture support for Linux kernel.\
%endif
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%ifarch %{x8664}
+%patch4 -p1
+%endif
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%ifarch %{x8664}
+%patch8 -p1
+%endif
echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> kernel/Makefile.kbuild
%build
%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/libGL.so
%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
%else
%attr(755,root,root) %{_libdir}/nvidia/libGL.so.*.*
%attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1
+%attr(755,root,root) %{_libdir}/nvidia/libGL.so
%endif
%attr(755,root,root) %{_libdir}/nvidia/libcuda.so.*.*
%attr(755,root,root) %ghost %{_libdir}/nvidia/libcuda.so.1
%endif
%{_datadir}/vulkan/icd.d/nvidia_icd.json
+%if %{without glvnd} || %{without system_libglvnd}
%files devel
%defattr(644,root,root,755)
-%dir %{_includedir}/GL
-%{_includedir}/GL/gl.h
-%{_includedir}/GL/glext.h
-%{_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
+%dir %{_includedir}/GL
+%{_includedir}/GL/gl.h
+%{_includedir}/GL/glext.h
+%{_includedir}/GL/glx.h
+%{_includedir}/GL/glxext.h
%{_pkgconfigdir}/gl.pc
+%endif
%files doc
%defattr(644,root,root,755)