2 # - drop binary-only nvidia-settings from here, and use nvidia-settings.spec for it
3 # - kernel-drm is required on never kernels. driver for kernel-longterm not requires drm
6 %bcond_without glvnd # with GL vendor neutral libs
7 %bcond_without system_libglvnd # do not use system libglvnd
8 %bcond_without kernel # without kernel packages
9 %bcond_without userspace # don't build userspace programs
10 %bcond_with settings # package nvidia-settings here (GPL version of same packaged from nvidia-settings.spec)
11 %bcond_with verbose # verbose build (V=1)
13 # The goal here is to have main, userspace, package built once with
14 # simple release number, and only rebuild kernel packages with kernel
15 # version as part of release number, without the need to bump release
16 # with every kernel change.
17 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
18 %{error:kernel and userspace cannot be built at the same time on PLD builders}
23 %define vulkan_lib libGLX_nvidia.so.0
25 %define vulkan_lib libGL.so.1
28 %define _enable_debug_packages 0
30 %define no_install_post_check_so 1
33 %define pname xorg-driver-video-nvidia-legacy-390xx
34 Summary: Linux Drivers for nVidia GeForce/Quadro Chips
35 Summary(hu.UTF-8): Linux meghajtók nVidia GeForce/Quadro chipekhez
36 Summary(pl.UTF-8): Sterowniki do kart graficznych nVidia GeForce/Quadro
37 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
38 # when updating version here, keep nvidia-settings.spec in sync as well
40 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
42 License: nVidia Binary
44 Source0: https://us.download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}.run
45 # Source0-md5: 0975ee17f9c690555dfb2a342a0138b8
46 Source1: https://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-no-compat32.run
47 # Source1-md5: 405c2220d5d3711e9f298c871e8d66ee
48 Source2: %{pname}-xinitrc.sh
50 Source4: 10-nvidia.conf
51 Source5: 10-nvidia-modules.conf
52 Patch0: X11-driver-nvidia-GL.patch
53 Patch1: X11-driver-nvidia-desktop.patch
54 Patch2: kenrel-6.2.patch
55 Patch3: kernel-6.3.patch
56 Patch4: kernel-6.3-uvm.patch
57 Patch5: kernel-6.4.patch
58 Patch6: kernel-6.5-garbage-collect-all-references-to-get_user.patch
59 Patch7: kernel-6.5-handle-get_user_pages-vmas-argument-remova.patch
60 Patch8: kernel-6.5-handle-get_user_pages-vmas-argument-removal-x8664.patch
61 URL: https://www.nvidia.com/en-us/drivers/unix/
62 BuildRequires: rpm-build >= 4.6
63 BuildRequires: rpmbuild(macros) >= 1.752
64 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
65 BuildRequires: sed >= 4.0
66 BuildConflicts: XFree86-nvidia
67 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
68 Requires: xorg-xserver-server
69 Requires: xorg-xserver-server(videodrv-abi) <= 25.2
70 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
71 Provides: ocl-icd(nvidia)
72 Provides: ocl-icd-driver
73 Provides: vulkan(icd) = 1.0.65
74 Provides: xorg-driver-video
75 Provides: xorg-xserver-module(glx)
76 Obsoletes: XFree86-driver-nvidia < 1.0.5336-4
77 Obsoletes: XFree86-nvidia < 1.0
78 Conflicts: XFree86-OpenGL-devel <= 4.2.0-3
79 ExclusiveArch: %{ix86} %{x8664}
80 BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
82 # libnvidia-encode.so.*.* links with libnvcuvid.so instead of libnvcuvid.so.1
83 %define _noautoreq libnvcuvid.so
86 This driver set adds improved 2D functionality to the Xorg X server as
87 well as high performance OpenGL acceleration, AGP support, support for
88 most flat panels, and 2D multiple monitor support.
91 - GeForce 400/400M series (excluding 405)
92 - GeForce 500/500M series
93 - GeForce 600/600M series
94 - GeForce 700/700M series
96 - GeForce 900/900M series
97 - GeForce 10 series (excluding GT 1010)
98 - GeForce 10 mobile series
99 - GeForce MX100 series
100 - GeForce TITAN series (GTX TITAN Z/GTX TITAN Black/GTX TITAN/
102 - NVIDIA TITAN series (X/Xp/V)
103 - NVS series (NVS 310/NVS 315/NVS 510/NVS 810)
104 - NVS mobile series (NVS 4200M/NVS 5200M/NVS 5400M)
106 - Quadro Sync series (G-Sync II/Sync/Sync II)
107 - Quadro NVS series (NVS 310/NVS 315/NVS 510/NVS 810)
108 - Quadro NVS mobile series (NVS 4200M/NVS 5200M/NVS 5400M)
109 - Quadro Blade/Embedded series
110 - Quadro series (excluding P2200 and 400)
111 - Quadro mobile series (excluding T*/P520)
113 %description -l hu.UTF-8
114 Ez a meghajtó kibővíti az Xorg X szerver 2D működését OpenGL
115 gyorsítással, AGP támogatással és támogatja a több monitort.
117 Támogatott hardverek:
118 - GeForce 400/400M series (- 405)
119 - GeForce 500/500M series
120 - GeForce 600/600M series
121 - GeForce 700/700M series
122 - GeForce 800M series
123 - GeForce 900/900M series
124 - GeForce 10 series (- GT 1010)
125 - GeForce 10 mobile series
126 - GeForce MX100 series
127 - GeForce TITAN series (GTX TITAN Z/GTX TITAN Black/GTX TITAN/
129 - NVIDIA TITAN series (X/Xp/V)
130 - NVS series (NVS 310/NVS 315/NVS 510/NVS 810)
131 - NVS mobile series (NVS 4200M/NVS 5200M/NVS 5400M)
133 - Quadro Sync series (G-Sync II/Sync/Sync II)
134 - Quadro NVS series (NVS 310/NVS 315/NVS 510/NVS 810)
135 - Quadro NVS mobile series (NVS 4200M/NVS 5200M/NVS 5400M)
136 - Quadro Blade/Embedded series
137 - Quadro series (- P2200 and 400)
138 - Quadro mobile series (- T*/P520)
140 %description -l pl.UTF-8
141 Usprawnione sterowniki dla kart graficznych nVidia do serwera Xorg,
142 dające wysokowydajną akcelerację OpenGL, obsługę AGP i wielu monitorów
146 - GeForce serii 400/400M (oprócz 405)
147 - GeForce serii 500/500M
148 - GeForce serii 600/600M
149 - GeForce serii 700/700M
151 - GeForce serii 900/900M
152 - GeForce serii 10 (oprócz GT 1010)
153 - GeForce serii 10 mobile
154 - GeForce serii MX100
155 - GeForce serii TITAN (GTX TITAN Z/GTX TITAN Black/GTX TITAN/
157 - NVIDIA serii TITAN (X/Xp/V)
158 - serii NVS (NVS 310/NVS 315/NVS 510/NVS 810)
159 - serii NVS mobile (NVS 4200M/NVS 5200M/NVS 5400M)
161 - Quadro serii Sync (G-Sync II/Sync/Sync II)
162 - Quadro serii NVS (NVS 310/NVS 315/NVS 510/NVS 810)
163 - Quadro serii NVS mobile (NVS 4200M/NVS 5200M/NVS 5400M)
164 - Quadro serii Blade/Embedded
165 - Quadro (oprócz P2200 and 400)
166 - Quadro mobile (oprócz T*/P520)
169 Summary: OpenGL (GL and GLX) Nvidia libraries
170 Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) Nvidia
171 Group: X11/Development/Libraries
172 Requires(post,postun): /sbin/ldconfig
173 %if %{with glvnd} && %{with system_libglvnd}
174 Requires: libglvnd >= 1.3.4-2
175 Requires: libglvnd-libGL >= 1.3.4-2
176 Requires: libglvnd-libGLES >= 1.3.4-2
178 Requires: libvdpau >= 0.3
179 Provides: OpenGL = 4.3
180 Provides: OpenGL-GLX = 1.4
181 Obsoletes: X11-OpenGL-core < 1:7.0.0
182 Obsoletes: X11-OpenGL-libGL < 1:7.0.0
183 Obsoletes: XFree86-OpenGL-core < 1:7.0.0
184 Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
185 %if %{with glvnd} && %{with system_libglvnd}
186 Obsoletes: xorg-driver-video-nvidia-legacy-390xx-devel < 390.143-2
190 NVIDIA OpenGL (GL and GLX only) implementation libraries.
192 %description libs -l pl.UTF-8
193 Implementacja OpenGL (tylko GL i GLX) firmy NVIDIA.
196 Summary: OpenGL (GL and GLX) header files
197 Summary(hu.UTF-8): OpenGL (GL és GLX) fejléc fájlok
198 Summary(pl.UTF-8): Pliki nagłówkowe OpenGL (GL i GLX)
199 Group: X11/Development/Libraries
200 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
201 Provides: OpenGL-GLX-devel = 1.4
202 Provides: OpenGL-devel = 3.0
203 Obsoletes: X11-OpenGL-devel-base < 1:7.0.0
204 Obsoletes: XFree86-OpenGL-devel-base < 1:7.0.0
205 Obsoletes: XFree86-driver-nvidia-devel < 1.0.5336-4
206 Conflicts: XFree86-OpenGL-devel < 4.3.99.902-0.3
209 OpenGL header files (GL and GLX only) for NVIDIA OpenGL
212 %description devel -l hu.UTF-8
213 OpenGL fejléc fájlok (csak GL és GLX) NVIDIA OpenGL implementációhoz.
215 %description devel -l pl.UTF-8
216 Pliki nagłówkowe OpenGL (tylko GL i GLX) dla implementacji OpenGL
220 Summary: Documentation for NVIDIA Graphics Driver
221 Summary(pl.UTF-8): Dokumentacja do sterownika graficznego NVIDIA
226 NVIDIA Accelerated Linux Graphics Driver README and Installation
229 %description doc -l pl.UTF-8
230 Plik README oraz przewodnik instalacji do akcelerowanego sterownika
231 graficznego NVIDIA dla Linuksa.
234 Summary: Tools for advanced control of nVidia graphic cards
235 Summary(hu.UTF-8): Eszközök az nVidia grafikus kártyák beállításához
236 Summary(pl.UTF-8): Narzędzia do zarządzania kartami graficznymi nVidia
237 Group: Applications/System
238 Requires: %{pname} = %{epoch}:%{version}
240 Obsoletes: XFree86-driver-nvidia-progs < 1.0.5336-4
243 Tools for advanced control of nVidia graphic cards.
245 %description progs -l hu.UTF-8
246 Eszközök az nVidia grafikus kártyák beállításához.
248 %description progs -l pl.UTF-8
249 Narzędzia do zarządzania kartami graficznymi nVidia.
251 %define kernel_pkg()\
252 %package -n kernel%{_alt_kernel}-video-nvidia-legacy-390xx\
253 Summary: nVidia kernel module for nVidia Architecture support\
254 Summary(de.UTF-8): Das nVidia-Kern-Modul für die nVidia-Architektur-Unterstützung\
255 Summary(hu.UTF-8): nVidia Architektúra támogatás Linux kernelhez.\
256 Summary(pl.UTF-8): Moduł jądra dla obsługi kart graficznych nVidia\
257 Release: %{rel}@%{_kernel_ver_str}\
259 Requires(post,postun): /sbin/depmod\
260 Requires: dev >= 2.7.7-10\
261 %requires_releq_kernel\
262 %if %{_kernel_version_code} >= %{_kernel_version_magic 3 10 0}\
263 Requires: %{releq_kernel -n drm}\
265 Requires(postun): %releq_kernel\
266 Requires: %{pname} = %{epoch}:%{version}\
267 Provides: X11-driver-nvidia(kernel)\
268 Obsoletes: XFree86-nvidia-kernel < 1.0.5336-4\
270 %description -n kernel%{_alt_kernel}-video-nvidia-legacy-390xx\
271 nVidia Architecture support for Linux kernel.\
273 %description -n kernel%{_alt_kernel}-video-nvidia-legacy-390xx -l de.UTF-8\
274 Die nVidia-Architektur-Unterstützung für den Linux-Kern.\
276 %description -n kernel%{_alt_kernel}-video-nvidia-legacy-390xx -l hu.UTF-8\
277 nVidia Architektúra támogatás Linux kernelhez.\
279 %description -n kernel%{_alt_kernel}-video-nvidia-legacy-390xx -l pl.UTF-8\
280 Obsługa architektury nVidia dla jądra Linuksa. Pakiet wymagany przez\
281 sterownik nVidii dla Xorg/XFree86.\
284 %files -n kernel%{_alt_kernel}-video-nvidia-legacy-390xx\
285 %defattr(644,root,root,755)\
286 /lib/modules/%{_kernel_ver}/misc/*.ko*\
289 %post -n kernel%{_alt_kernel}-video-nvidia-legacy-390xx\
290 %depmod %{_kernel_ver}\
292 %postun -n kernel%{_alt_kernel}-video-nvidia-legacy-390xx\
293 %depmod %{_kernel_ver}\
296 %define build_kernel_pkg()\
298 %{__make} SYSSRC=%{_kernelsrcdir} clean\
299 %{__make} SYSSRC=%{_kernelsrcdir} IGNORE_CC_MISMATCH=1 NV_VERBOSE=1 CC=%{__cc} module\
301 %install_kernel_modules -D installed -m kernel/nvidia,kernel/nvidia-drm,kernel/nvidia-modeset -d misc\
303 %install_kernel_modules -D installed -m kernel/nvidia-uvm -d misc\
307 %{?with_kernel:%{expand:%create_kernel_packages}}
311 rm -rf NVIDIA-Linux-x86*-%{version}*
313 /bin/sh %{SOURCE0} --extract-only
314 %setup -qDT -n NVIDIA-Linux-x86-%{version}
316 /bin/sh %{SOURCE1} --extract-only
317 %setup -qDT -n NVIDIA-Linux-x86_64-%{version}-no-compat32
332 echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> kernel/Makefile.kbuild
335 %{?with_kernel:%{expand:%build_kernel_packages}}
338 rm -rf $RPM_BUILD_ROOT
340 %if %{with userspace}
341 install -d $RPM_BUILD_ROOT%{_libdir}/{nvidia,xorg/modules/{drivers,extensions/nvidia}} \
342 $RPM_BUILD_ROOT{%{_includedir}/GL,%{_libdir}/vdpau,%{_bindir},%{_mandir}/man1} \
343 $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/etc/X11/xinit/xinitrc.d} \
344 $RPM_BUILD_ROOT%{_sysconfdir}/{OpenCL/vendors,ld.so.conf.d,X11/xorg.conf.d} \
345 $RPM_BUILD_ROOT%{_datadir}/{glvnd/egl_vendor.d,nvidia,vulkan/icd.d}
348 install -p nvidia-settings $RPM_BUILD_ROOT%{_bindir}
349 cp -p nvidia-settings.1* $RPM_BUILD_ROOT%{_mandir}/man1
350 cp -p nvidia-settings.desktop $RPM_BUILD_ROOT%{_desktopdir}
351 cp -p nvidia-settings.png $RPM_BUILD_ROOT%{_pixmapsdir}
352 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/nvidia-settings.sh
355 install -p nvidia-{smi,xconfig,bug-report.sh} $RPM_BUILD_ROOT%{_bindir}
356 install -p nvidia-cuda-mps-{control,server} $RPM_BUILD_ROOT%{_bindir}
357 cp -p nvidia-{smi,xconfig,cuda-mps-control}.1* $RPM_BUILD_ROOT%{_mandir}/man1
358 install -p nvidia.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
360 install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
361 install %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
362 sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-modules.conf
363 install -p nvidia-drm-outputclass.conf $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
365 install -p nvidia-application-profiles-%{version}-key-documentation $RPM_BUILD_ROOT%{_datadir}/nvidia
366 install -p nvidia-application-profiles-%{version}-rc $RPM_BUILD_ROOT%{_datadir}/nvidia
370 %if %{without system_libglvnd}
375 libGLESv1_CM.so.1.2.0 \
379 libGLX_nvidia.so.%{version} \
380 libEGL_nvidia.so.%{version} \
381 libGLESv1_CM_nvidia.so.%{version} \
382 libGLESv2_nvidia.so.%{version} \
383 libnvidia-egl-wayland.so.1.0.2 \
384 libnvidia-eglcore.so.%{version} \
386 libGL.so.%{version} \
388 libcuda.so.%{version} \
389 libnvcuvid.so.%{version} \
390 libnvidia-cfg.so.%{version} \
391 libnvidia-compiler.so.%{version} \
392 libnvidia-encode.so.%{version} \
393 libnvidia-fatbinaryloader.so.%{version} \
394 libnvidia-fbc.so.%{version} \
395 libnvidia-glcore.so.%{version} \
396 libnvidia-glsi.so.%{version} \
397 libnvidia-ifr.so.%{version} \
398 libnvidia-ml.so.%{version} \
399 libnvidia-opencl.so.%{version} \
400 libnvidia-ptxjitcompiler.so.%{version} \
401 tls/libnvidia-tls.so.%{version} \
403 install -p $f $RPM_BUILD_ROOT%{_libdir}/nvidia
406 install -p libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau
408 install -p libglx.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
409 ln -s libglx.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia/libglx.so
410 install -p nvidia_drv.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so.%{version}
411 ln -s nvidia_drv.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so
412 install -p libnvidia-wfb.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
413 ln -s libnvidia-wfb.so.1 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia/libnvidia-wfb.so
415 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/nvidia
416 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
418 cp -p gl*.h $RPM_BUILD_ROOT%{_includedir}/GL
420 ln -sf libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_nvidia.so.1
423 echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf
424 echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf
426 echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf
427 echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf
430 # OpenGL ABI for Linux compatibility
432 %if %{without system_libglvnd}
433 ln -sf libGL.so.1.7.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1
434 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so
435 ln -sf libGLX.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX.so
436 ln -sf libOpenGL.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libOpenGL.so
437 ln -sf libGLESv1_CM.so.1.2.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so.1
438 ln -sf libGLESv1_CM.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so
439 ln -sf libGLESv2.so.2.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so.2
440 ln -sf libGLESv2.so.2 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so
441 ln -sf libEGL.so.1.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so.1
442 ln -sf libEGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so
444 ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_nvidia.so.0
445 ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_indirect.so.0
446 ln -sf libEGL_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL_nvidia.so.0
447 ln -sf libGLESv1_CM_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1
448 ln -sf libGLESv2_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2_nvidia.so.2
450 install -p 10_nvidia.json $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d
452 ln -sf libGL.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1
453 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so
455 ln -sf libcuda.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libcuda.so
456 ln -sf libnvcuvid.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libnvcuvid.so
458 sed 's!__NV_VK_ICD__!%{vulkan_lib}!g' nvidia_icd.json.template > $RPM_BUILD_ROOT%{_datadir}/vulkan/icd.d/nvidia_icd.json
462 install -d $RPM_BUILD_ROOT
463 cp -a installed/* $RPM_BUILD_ROOT
466 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
468 s|@@prefix@@|%{_prefix}|g;
469 s|@@libdir@@|%{_libdir}|g;
470 s|@@includedir@@|%{_includedir}|g;
471 s|@@version@@|%{version}|g' < %{SOURCE3} \
472 > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
475 rm -rf $RPM_BUILD_ROOT
479 NOTE: You must also install kernel module for this driver to work
480 kernel%{_alt_kernel}-video-nvidia-legacy-390xx-%{version}
484 %post libs -p /sbin/ldconfig
485 %postun libs -p /sbin/ldconfig
487 %if %{with userspace}
489 %defattr(644,root,root,755)
490 %doc LICENSE NVIDIA_Changelog README.txt
491 %dir %{_libdir}/xorg/modules/extensions/nvidia
492 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libnvidia-wfb.so.*.*
493 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libnvidia-wfb.so.1
494 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libnvidia-wfb.so
495 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglx.so.*
496 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglx.so
497 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so.*
498 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so
499 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf
500 %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-modules.conf
501 %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
502 %dir %{_datadir}/nvidia
503 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-key-documentation
504 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-rc
507 %defattr(644,root,root,755)
508 %dir %{_sysconfdir}/OpenCL
509 %dir %{_sysconfdir}/OpenCL/vendors
510 %{_sysconfdir}/OpenCL/vendors/nvidia.icd
511 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/nvidia*.conf
512 %dir %{_libdir}/nvidia
514 %if %{without system_libglvnd}
515 %attr(755,root,root) %{_libdir}/nvidia/libGL.so.1.7.0
516 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1
517 %attr(755,root,root) %{_libdir}/nvidia/libGL.so
518 %attr(755,root,root) %{_libdir}/nvidia/libGLX.so.0
519 %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so.0
520 %attr(755,root,root) %{_libdir}/nvidia/libGLdispatch.so.0
521 %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so.1.2.0
522 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM.so.1
523 %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so.2.1.0
524 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2.so.2
525 %attr(755,root,root) %{_libdir}/nvidia/libEGL.so.1.1.0
526 %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL.so.1
528 %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL_nvidia.so.0
529 %attr(755,root,root) %{_libdir}/nvidia/libEGL_nvidia.so.*.*
530 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1
531 %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.*.*
532 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2_nvidia.so.2
533 %attr(755,root,root) %{_libdir}/nvidia/libGLESv2_nvidia.so.*.*
534 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_indirect.so.0
535 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_nvidia.so.0
536 %attr(755,root,root) %{_libdir}/nvidia/libGLX_nvidia.so.*.*
537 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-egl-wayland.so.*.*.*
538 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-egl-wayland.so.1
539 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-eglcore.so.*.*
541 %attr(755,root,root) %{_libdir}/nvidia/libGL.so.*.*
542 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1
543 %attr(755,root,root) %{_libdir}/nvidia/libGL.so
545 %attr(755,root,root) %{_libdir}/nvidia/libcuda.so.*.*
546 %attr(755,root,root) %ghost %{_libdir}/nvidia/libcuda.so.1
547 %attr(755,root,root) %{_libdir}/nvidia/libcuda.so
548 %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so.*.*
549 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvcuvid.so.1
550 %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so
551 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-cfg.so.*.*
552 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-cfg.so.1
553 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-compiler.so.*.*
554 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-encode.so.*.*
555 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-encode.so.1
556 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-fatbinaryloader.so.*.*
557 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-fbc.so.1
558 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-fbc.so.*.*
559 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glcore.so.*.*
560 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glsi.so.*.*
561 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ifr.so.1
562 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ifr.so.*.*
563 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.1
564 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ml.so.*.*
565 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ml.so.1
566 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-opencl.so.*.*
567 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-opencl.so.1
568 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.*.*
569 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-tls.so.*.*
570 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nvidia.so.*.*
571 %attr(755,root,root) %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1
573 %{_datadir}/glvnd/egl_vendor.d/10_nvidia.json
575 %{_datadir}/vulkan/icd.d/nvidia_icd.json
577 %if %{without glvnd} || %{without system_libglvnd}
579 %defattr(644,root,root,755)
581 %attr(755,root,root) %{_libdir}/nvidia/libGLX.so
582 %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so
583 %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so
584 %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so
585 %attr(755,root,root) %{_libdir}/nvidia/libEGL.so
587 %dir %{_includedir}/GL
588 %{_includedir}/GL/gl.h
589 %{_includedir}/GL/glext.h
590 %{_includedir}/GL/glx.h
591 %{_includedir}/GL/glxext.h
592 %{_pkgconfigdir}/gl.pc
596 %defattr(644,root,root,755)
600 %defattr(644,root,root,755)
601 %attr(755,root,root) %{_bindir}/nvidia-bug-report.sh
602 %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-control
603 %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-server
604 %attr(755,root,root) %{_bindir}/nvidia-smi
605 %attr(755,root,root) %{_bindir}/nvidia-xconfig
606 %{_mandir}/man1/nvidia-cuda-mps-control.1*
607 %{_mandir}/man1/nvidia-smi.1*
608 %{_mandir}/man1/nvidia-xconfig.1*
610 %attr(755,root,root) /etc/X11/xinit/xinitrc.d/*.sh
611 %attr(755,root,root) %{_bindir}/nvidia-settings
612 %{_mandir}/man1/nvidia-settings.1*
613 %{_desktopdir}/nvidia-settings.desktop
614 %{_pixmapsdir}/nvidia-settings.png