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 system_libglvnd # use system libglvnd
7 %bcond_without kernel # without kernel packages
8 %bcond_without userspace # don't build userspace programs
9 %bcond_with settings # package nvidia-settings here (GPL version of same packaged from nvidia-settings.spec)
10 %bcond_with verbose # verbose build (V=1)
12 # The goal here is to have main, userspace, package built once with
13 # simple release number, and only rebuild kernel packages with kernel
14 # version as part of release number, without the need to bump release
15 # with every kernel change.
16 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
17 %{error:kernel and userspace cannot be built at the same time on PLD builders}
21 %define no_install_post_check_so 1
24 %define pname xorg-driver-video-nvidia
25 Summary: Linux Drivers for nVidia GeForce/Quadro Chips
26 Summary(hu.UTF-8): Linux meghajtók nVidia GeForce/Quadro chipekhez
27 Summary(pl.UTF-8): Sterowniki do kart graficznych nVidia GeForce/Quadro
28 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
29 # when updating version here, keep nvidia-settings.spec in sync as well
31 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
33 License: nVidia Binary
35 Source0: https://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run
36 # Source0-md5: db1d6b0f9e590249bbf940a99825f000
37 Source2: %{pname}-xinitrc.sh
39 Source4: 10-nvidia.conf
40 Source5: 10-nvidia-modules.conf
41 Patch0: X11-driver-nvidia-desktop.patch
42 Patch1: kernel-5.16.patch
43 URL: https://www.nvidia.com/en-us/drivers/unix/
44 BuildRequires: rpm-build >= 4.6
45 BuildRequires: rpmbuild(macros) >= 1.752
46 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:3.10}}
47 BuildRequires: sed >= 4.0
48 BuildConflicts: XFree86-nvidia
49 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
50 Requires: xorg-xserver-server
51 Requires: xorg-xserver-server(videodrv-abi) <= 25.2
52 Requires: xorg-xserver-server(videodrv-abi) >= 4.0
53 Provides: ocl-icd(nvidia)
54 Provides: ocl-icd-driver
55 Provides: vulkan(icd) = 1.2.155
56 Provides: xorg-driver-video
57 Provides: xorg-xserver-module(glx)
58 Obsoletes: XFree86-driver-nvidia < 1.0.5336-4
59 Obsoletes: XFree86-nvidia < 1.0
60 Conflicts: XFree86-OpenGL-devel <= 4.2.0-3
61 ExclusiveArch: %{?with_userspace:%{ix86}} %{x8664}
62 BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
64 %define _enable_debug_packages 0
66 # libnvidia-encode.so.*.* links with libnvcuvid.so instead of libnvcuvid.so.1
67 %define _noautoreq libnvcuvid.so
69 %define _noautostrip .*/lib/firmware/.*
72 This driver set adds improved 2D functionality to the Xorg X server as
73 well as high performance OpenGL acceleration, AGP support, support for
74 most flat panels, and 2D multiple monitor support.
77 - GeForce 600 series (excluding 605/GT 610/GT 620/GT 645)
78 - GeForce 600M series (GT 640M LE only)
79 - GeForce 700 series (excluding GT 705)
80 - GeForce 800M series (830M/840M/845M/850M/860M only)
81 - GeForce 900/900M series (excluding 910M/920M)
82 - GeForce 10 series (including GT 1010)
83 - GeForce 10 mobile series
84 - GeForce 16 series (also mobile)
85 - GeForce MX100 series
86 - GeForce MX200 series
87 - GeForce MX300 series
88 - GeForce MX400 series
89 - GeForce RTX 20 series (also mobile)
90 - GeForce RTX 30 series (also mobile)
91 - GeForce TITAN series (GTX TITAN X/GTX TITAN Black/GTX TITAN Z)
92 - NVIDIA RTX series (also mobile)
93 - NVIDIA TITAN series (RTX/V/Xp)
94 - NVS series (NVS 510/NVS 810 only)
95 - Quadro NVS series (NVS 510/NVS 810 only)
96 - Quadro Blade/Embedded series (M3000 SE/M5000 SE/P3000/P5000 only)
97 - Quadro mobile series (K620M/K2200M/M*/P*/T* only)
98 - Quadro series (410/K*/M*/P*/GP100/GV100 only)
99 - Quadro RTX series (also mobile)
102 For older hardware see appropriate xorg-driver-video-nvidia-legacy-*
105 %description -l hu.UTF-8
106 Ez a meghajtó kibővíti az Xorg X szerver 2D működését OpenGL
107 gyorsítással, AGP támogatással és támogatja a több monitort.
109 Támogatott hardverek:
110 - GeForce 600 series (- 605/GT 610/GT 620/GT 645)
111 - GeForce 600M series (GT 640M LE)
112 - GeForce 700 series (- GT 705)
113 - GeForce 800M series (830M/840M/845M/850M/860M)
114 - GeForce 900/900M series (- 910M/920M)
116 - GeForce 10 mobile series
117 - GeForce 16 series (+mobile)
118 - GeForce MX100 series
119 - GeForce MX200 series
120 - GeForce MX300 series
121 - GeForce MX400 series
122 - GeForce RTX 20 series (+mobile)
123 - GeForce RTX 30 series (+mobile)
124 - GeForce TITAN series (GTX TITAN X/GTX TITAN Black/GTX TITAN Z)
125 - NVIDIA RTX series (+mobile)
126 - NVIDIA TITAN series (RTX/V/Xp)
127 - NVS series (NVS 510/NVS 810)
128 - Quadro NVS series (NVS 510/NVS 810)
129 - Quadro Blade/Embedded series (M3000 SE/M5000 SE/P3000/P5000)
130 - Quadro mobile series (K620M/K2200M/M*/P*/T*)
131 - Quadro series (410/K*/M*/P*/GP100/GV100)
132 - Quadro RTX series (+mobile)
135 %description -l pl.UTF-8
136 Usprawnione sterowniki dla kart graficznych nVidia do serwera Xorg,
137 dające wysokowydajną akcelerację OpenGL, obsługę AGP i wielu monitorów
141 - GeForce serii 600 (oprócz 605/GT 610/GT 620/GT 645)
142 - GeForce serii 600M (tylko GT 640M LE)
143 - GeForce serii 700 (oprócz GT 705)
144 - GeForce serii 800M (tylko 830M/840M/845M/850M/860M)
145 - GeForce serii 900/900M series (oprócz 910M/920M)
146 - GeForce serii 10 (wraz z GT 1010)
147 - GeForce serii 10 mobile
148 - GeForce serii 16 (także mobile)
149 - GeForce serii MX100
150 - GeForce serii MX200
151 - GeForce serii MX300
152 - GeForce serii MX400
153 - GeForce serii RTX 20 (także mobile)
154 - GeForce serii RTX 30 (także mobile)
155 - GeForce serii TITAN (GTX TITAN X/GTX TITAN Black/GTX TITAN Z)
156 - NVIDIA serii RTX (także mobile)
157 - NVIDIA serii TITAN (RTX/V/Xp)
158 - serii NVS (tylko NVS 510/NVS 810)
159 - Quadro serii NVS (tylko NVS 510/NVS 810)
160 - Quadro serii Blade/Embedded (tylko M3000 SE/M5000 SE/P3000/P5000)
161 - Quadro mobile (tylko K620M/K2200M/M*/P*/T*)
162 - Quadro (tylko 410/K*/M*/P*/GP100/GV100)
163 - Quadro serii RTX (także mobile)
167 Summary: OpenGL (GL and GLX) Nvidia libraries
168 Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) Nvidia
169 Group: X11/Development/Libraries
170 Requires(post,postun): /sbin/ldconfig
171 %if %{with system_libglvnd}
172 Requires: libglvnd >= 1.3.4-2
173 Requires: libglvnd-libGL >= 1.3.4-2
174 Requires: libglvnd-libGLES >= 1.3.4-2
176 Requires: libvdpau >= 0.3
177 Provides: OpenGL = 4.6
178 Provides: OpenGL-GLX = 1.4
179 Obsoletes: X11-OpenGL-core < 1:7.0.0
180 Obsoletes: X11-OpenGL-libGL < 1:7.0.0
181 Obsoletes: XFree86-OpenGL-core < 1:7.0.0
182 Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
183 %if %{with system_libglvnd}
184 Obsoletes: xorg-driver-video-nvidia-devel < 465.27-2
188 NVIDIA OpenGL (GL and GLX only) implementation libraries.
190 %description libs -l pl.UTF-8
191 Implementacja OpenGL (tylko GL i GLX) firmy NVIDIA.
194 Summary: OpenGL (GL and GLX) header files
195 Summary(hu.UTF-8): OpenGL (GL és GLX) fejléc fájlok
196 Summary(pl.UTF-8): Pliki nagłówkowe OpenGL (GL i GLX)
197 Group: X11/Development/Libraries
198 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
199 Obsoletes: X11-OpenGL-devel-base < 1:7.0.0
200 Obsoletes: XFree86-OpenGL-devel-base < 1:7.0.0
201 Obsoletes: XFree86-driver-nvidia-devel < 1.0.5336-4
202 Conflicts: XFree86-OpenGL-devel < 4.3.99.902-0.3
205 OpenGL header files (GL and GLX only) for NVIDIA OpenGL
208 %description devel -l hu.UTF-8
209 OpenGL fejléc fájlok (csak GL és GLX) NVIDIA OpenGL implementációhoz.
211 %description devel -l pl.UTF-8
212 Pliki nagłówkowe OpenGL (tylko GL i GLX) dla implementacji OpenGL
216 Summary: Documentation for NVIDIA Graphics Driver
217 Summary(pl.UTF-8): Dokumentacja do sterownika graficznego NVIDIA
222 NVIDIA Accelerated Linux Graphics Driver README and Installation
225 %description doc -l pl.UTF-8
226 Plik README oraz przewodnik instalacji do akcelerowanego sterownika
227 graficznego NVIDIA dla Linuksa.
230 Summary: Tools for advanced control of nVidia graphic cards
231 Summary(hu.UTF-8): Eszközök az nVidia grafikus kártyák beállításához
232 Summary(pl.UTF-8): Narzędzia do zarządzania kartami graficznymi nVidia
233 Group: Applications/System
234 Requires: %{pname} = %{epoch}:%{version}
236 Obsoletes: XFree86-driver-nvidia-progs < 1.0.5336-4
239 Tools for advanced control of nVidia graphic cards.
241 %description progs -l hu.UTF-8
242 Eszközök az nVidia grafikus kártyák beállításához.
244 %description progs -l pl.UTF-8
245 Narzędzia do zarządzania kartami graficznymi nVidia.
247 %define kernel_pkg()\
248 %package -n kernel%{_alt_kernel}-video-nvidia\
249 Summary: nVidia kernel module for nVidia Architecture support\
250 Summary(de.UTF-8): Das nVidia-Kern-Modul für die nVidia-Architektur-Unterstützung\
251 Summary(hu.UTF-8): nVidia Architektúra támogatás Linux kernelhez.\
252 Summary(pl.UTF-8): Moduł jądra dla obsługi kart graficznych nVidia\
253 Release: %{rel}@%{_kernel_ver_str}\
255 Requires(post,postun): /sbin/depmod\
256 Requires: dev >= 2.7.7-10\
257 %requires_releq_kernel\
258 %if %{_kernel_version_code} >= %{_kernel_version_magic 3 10 0}\
259 Requires: %{releq_kernel -n drm}\
261 Requires(postun): %releq_kernel\
262 Requires: %{pname} = %{epoch}:%{version}\
263 Provides: X11-driver-nvidia(kernel)\
264 Obsoletes: XFree86-nvidia-kernel < 1.0.5336-4\
266 %description -n kernel%{_alt_kernel}-video-nvidia\
267 nVidia Architecture support for Linux kernel.\
269 %description -n kernel%{_alt_kernel}-video-nvidia -l de.UTF-8\
270 Die nVidia-Architektur-Unterstützung für den Linux-Kern.\
272 %description -n kernel%{_alt_kernel}-video-nvidia -l hu.UTF-8\
273 nVidia Architektúra támogatás Linux kernelhez.\
275 %description -n kernel%{_alt_kernel}-video-nvidia -l pl.UTF-8\
276 Obsługa architektury nVidia dla jądra Linuksa. Pakiet wymagany przez\
277 sterownik nVidii dla Xorg/XFree86.\
280 %files -n kernel%{_alt_kernel}-video-nvidia\
281 %defattr(644,root,root,755)\
282 %dir /lib/firmware/nvidia\
283 %dir /lib/firmware/nvidia/%{version}\
284 /lib/firmware/nvidia/%{version}/gsp.bin\
285 /lib/modules/%{_kernel_ver}/misc/*.ko*\
288 %post -n kernel%{_alt_kernel}-video-nvidia\
289 %depmod %{_kernel_ver}\
291 %postun -n kernel%{_alt_kernel}-video-nvidia\
292 %depmod %{_kernel_ver}\
295 %define build_kernel_pkg()\
297 %{__make} SYSSRC=%{_kernelsrcdir} clean\
298 %{__make} SYSSRC=%{_kernelsrcdir} IGNORE_CC_MISMATCH=1 NV_VERBOSE=1 CC=%{__cc} module\
300 %install_kernel_modules -D installed -m kernel/nvidia,kernel/nvidia-drm,kernel/nvidia-modeset -d misc\
301 %install_kernel_modules -D installed -m kernel/nvidia-uvm -d misc\
305 %{?with_kernel:%{expand:%create_kernel_packages}}
310 rm -rf NVIDIA-Linux-x86_64-%{version}
311 /bin/sh %{SOURCE0} --extract-only
312 %setup -qDT -n NVIDIA-Linux-x86_64-%{version}
315 echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> kernel/Makefile.kbuild
319 %{?with_kernel:%{expand:%build_kernel_packages}}
323 rm -rf $RPM_BUILD_ROOT
325 %if %{with userspace}
326 install -d $RPM_BUILD_ROOT%{_libdir}/{gbm,nvidia,xorg/modules/{drivers,extensions/nvidia}} \
327 $RPM_BUILD_ROOT{%{_libdir}/vdpau,%{_bindir},%{_mandir}/man1} \
328 $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/etc/X11/xinit/xinitrc.d} \
329 $RPM_BUILD_ROOT%{_sysconfdir}/{OpenCL/vendors,ld.so.conf.d,X11/xorg.conf.d} \
330 $RPM_BUILD_ROOT%{_datadir}/{glvnd/egl_vendor.d,nvidia,vulkan/icd.d,egl/egl_external_platform.d}
334 install -p nvidia-settings $RPM_BUILD_ROOT%{_bindir}
335 cp -p nvidia-settings.1* $RPM_BUILD_ROOT%{_mandir}/man1
336 cp -p nvidia-settings.desktop $RPM_BUILD_ROOT%{_desktopdir}
337 cp -p nvidia-settings.png $RPM_BUILD_ROOT%{_pixmapsdir}
338 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/nvidia-settings.sh
341 install -p nvidia-{smi,xconfig,bug-report.sh} $RPM_BUILD_ROOT%{_bindir}
342 install -p nvidia-cuda-mps-{control,server} $RPM_BUILD_ROOT%{_bindir}
343 cp -p nvidia-{smi,xconfig,cuda-mps-control}.1* $RPM_BUILD_ROOT%{_mandir}/man1
344 install -p nvidia.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
346 install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
347 install %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
348 sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-modules.conf
349 install -p nvidia-drm-outputclass.conf $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
351 install -p nvidia-application-profiles-%{version}-key-documentation $RPM_BUILD_ROOT%{_datadir}/nvidia
352 install -p nvidia-application-profiles-%{version}-rc $RPM_BUILD_ROOT%{_datadir}/nvidia
362 %if %{without system_libglvnd}
363 %{srcdir}/libGL.so.1.7.0 \
364 %{srcdir}/libGLX.so.0 \
365 %{srcdir}/libOpenGL.so.0 \
366 %{srcdir}/libGLdispatch.so.0 \
367 %{srcdir}/libGLESv1_CM.so.1.2.0 \
368 %{srcdir}/libGLESv2.so.2.1.0 \
369 %{srcdir}/libEGL.so.1.1.0 \
371 %{srcdir}/libGLX_nvidia.so.%{version} \
372 %{srcdir}/libEGL_nvidia.so.%{version} \
373 %{srcdir}/libGLESv1_CM_nvidia.so.%{version} \
374 %{srcdir}/libGLESv2_nvidia.so.%{version} \
376 %{srcdir}/libnvidia-egl-gbm.so.1.1.0 \
377 %{srcdir}/libnvidia-egl-wayland.so.1.1.9 \
378 %{srcdir}/libnvidia-eglcore.so.%{version} \
380 %{srcdir}/libcuda.so.%{version} \
381 %{srcdir}/libnvcuvid.so.%{version} \
383 %{srcdir}/libnvidia-cfg.so.%{version} \
384 %{srcdir}/libnvidia-ngx.so.%{version} \
385 %{srcdir}/libnvidia-nvvm.so.4.0.0 \
386 %{srcdir}/libnvidia-rtcore.so.%{version} \
387 %{srcdir}/libnvidia-vulkan-producer.so.%{version} \
388 %{srcdir}/libnvoptix.so.%{version} \
390 %{srcdir}/libnvidia-allocator.so.%{version} \
391 %{srcdir}/libnvidia-compiler.so.%{version} \
392 %{srcdir}/libnvidia-encode.so.%{version} \
393 %{srcdir}/libnvidia-fbc.so.%{version} \
394 %{srcdir}/libnvidia-glcore.so.%{version} \
395 %{srcdir}/libnvidia-glsi.so.%{version} \
396 %{srcdir}/libnvidia-glvkspirv.so.%{version} \
397 %{srcdir}/libnvidia-ml.so.%{version} \
398 %{srcdir}/libnvidia-opencl.so.%{version} \
399 %{srcdir}/libnvidia-opticalflow.so.%{version} \
400 %{srcdir}/libnvidia-ptxjitcompiler.so.%{version} \
401 %{srcdir}/libnvidia-tls.so.%{version} \
403 install -p $f $RPM_BUILD_ROOT%{_libdir}/nvidia
406 install -p %{srcdir}/libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau
409 install -p libglxserver_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
410 ln -s libglxserver_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so
411 install -p nvidia_drv.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so.%{version}
412 ln -s nvidia_drv.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so
415 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/nvidia
416 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia
418 ln -sf libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_nvidia.so.1
421 echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf
422 echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf
424 echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf
425 echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf
428 # OpenGL ABI for Linux compatibility
429 %if %{without system_libglvnd}
430 ln -sf libGL.so.1.7.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1
431 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so
432 ln -sf libGLX.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX.so
433 ln -sf libOpenGL.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libOpenGL.so
434 ln -sf libGLESv1_CM.so.1.2.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so.1
435 ln -sf libGLESv1_CM.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so
436 ln -sf libGLESv2.so.2.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so.2
437 ln -sf libGLESv2.so.2 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so
438 ln -sf libEGL.so.1.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so.1
439 ln -sf libEGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so
441 ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_nvidia.so.0
442 ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_indirect.so.0
443 ln -sf libEGL_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL_nvidia.so.0
444 ln -sf libGLESv1_CM_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1
445 ln -sf libGLESv2_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2_nvidia.so.2
447 ln -sf ../nvidia/libnvidia-allocator.so.%{version} $RPM_BUILD_ROOT%{_libdir}/gbm/nvidia-drm_gbm.so
450 install -p 10_nvidia.json $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d
451 install -p 15_nvidia_gbm.json $RPM_BUILD_ROOT%{_datadir}/egl/egl_external_platform.d
452 install -p nvidia_icd.json $RPM_BUILD_ROOT%{_datadir}/vulkan/icd.d
454 ln -sf libcuda.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libcuda.so
455 ln -sf libnvcuvid.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libnvcuvid.so
461 install -d $RPM_BUILD_ROOT
462 cp -a installed/* $RPM_BUILD_ROOT
463 install -D firmware/gsp.bin $RPM_BUILD_ROOT/lib/firmware/nvidia/%{version}/gsp.bin
467 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
469 s|@@prefix@@|%{_prefix}|g;
470 s|@@libdir@@|%{_libdir}|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-%{version}
484 %post libs -p /sbin/ldconfig
485 %postun libs -p /sbin/ldconfig
487 %if %{with userspace}
490 %defattr(644,root,root,755)
491 %doc LICENSE NVIDIA_Changelog README.txt
492 %dir %{_libdir}/xorg/modules/extensions/nvidia
493 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so.*
494 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so
495 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so.*
496 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so
497 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf
498 %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-modules.conf
499 %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
500 %dir %{_datadir}/nvidia
501 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-key-documentation
502 %{_datadir}/nvidia/nvidia-application-profiles-%{version}-rc
506 %defattr(644,root,root,755)
508 %dir %{_sysconfdir}/OpenCL
509 %dir %{_sysconfdir}/OpenCL/vendors
510 %{_sysconfdir}/OpenCL/vendors/nvidia.icd
512 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/nvidia*.conf
513 %attr(755,root,root) %{_libdir}/gbm/nvidia-drm_gbm.so
514 %dir %{_libdir}/nvidia
515 %if %{without system_libglvnd}
516 %attr(755,root,root) %{_libdir}/nvidia/libGL.so.1.7.0
517 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1
518 %attr(755,root,root) %{_libdir}/nvidia/libGL.so
519 %attr(755,root,root) %{_libdir}/nvidia/libGLX.so.0
520 %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so.0
521 %attr(755,root,root) %{_libdir}/nvidia/libGLdispatch.so.0
522 %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so.1.2.0
523 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM.so.1
524 %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so.2.1.0
525 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2.so.2
526 %attr(755,root,root) %{_libdir}/nvidia/libEGL.so.1.1.0
527 %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL.so.1
529 %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL_nvidia.so.0
530 %attr(755,root,root) %{_libdir}/nvidia/libEGL_nvidia.so.*.*
531 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1
532 %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.*.*
533 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2_nvidia.so.2
534 %attr(755,root,root) %{_libdir}/nvidia/libGLESv2_nvidia.so.*.*
535 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_indirect.so.0
536 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_nvidia.so.0
537 %attr(755,root,root) %{_libdir}/nvidia/libGLX_nvidia.so.*.*
539 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-egl-gbm.so.*.*.*
540 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-egl-gbm.so.1
541 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-egl-wayland.so.*.*.*
542 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-egl-wayland.so.1
543 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-eglcore.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
552 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-cfg.so.*.*
553 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-cfg.so.1
554 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ngx.so.*.*
555 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ngx.so.1
556 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-nvvm.so.*.*
557 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-nvvm.so.4
558 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-rtcore.so.*.*
559 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-vulkan-producer.so.*.*
560 %attr(755,root,root) %{_libdir}/nvidia/libnvoptix.so.*.*
561 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvoptix.so.1
563 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-allocator.so.*.*
564 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-allocator.so.1
565 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-compiler.so.*.*
566 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-encode.so.*.*
567 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-encode.so.1
568 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-fbc.so.1
569 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-fbc.so.*.*
570 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glcore.so.*.*
571 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glsi.so.*.*
572 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glvkspirv.so.*.*
573 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ml.so.*.*
574 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ml.so.1
575 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-opencl.so.*.*
576 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-opencl.so.1
577 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-opticalflow.so.*.*
578 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-opticalflow.so.1
579 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.*.*
580 %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.1
581 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-tls.so.*.*
582 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nvidia.so.*.*
583 %attr(755,root,root) %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1
585 # which package should own those?
587 %dir %{_datadir}/egl/egl_external_platform.d
588 %{_datadir}/egl/egl_external_platform.d/15_nvidia_gbm.json
589 %{_datadir}/glvnd/egl_vendor.d/10_nvidia.json
590 %{_datadir}/vulkan/icd.d/nvidia_icd.json
593 %if %{without system_libglvnd}
595 %defattr(644,root,root,755)
596 %attr(755,root,root) %{_libdir}/nvidia/libGLX.so
597 %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so
598 %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so
599 %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so
600 %attr(755,root,root) %{_libdir}/nvidia/libEGL.so
601 %{_pkgconfigdir}/gl.pc
605 %defattr(644,root,root,755)
610 %defattr(644,root,root,755)
611 %attr(755,root,root) %{_bindir}/nvidia-bug-report.sh
612 %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-control
613 %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-server
614 %attr(755,root,root) %{_bindir}/nvidia-smi
615 %attr(755,root,root) %{_bindir}/nvidia-xconfig
616 %{_mandir}/man1/nvidia-cuda-mps-control.1*
617 %{_mandir}/man1/nvidia-smi.1*
618 %{_mandir}/man1/nvidia-xconfig.1*
620 %attr(755,root,root) /etc/X11/xinit/xinitrc.d/nvidia-settings.sh
621 %attr(755,root,root) %{_bindir}/nvidia-settings
622 %{_mandir}/man1/nvidia-settings.1*
623 %{_desktopdir}/nvidia-settings.desktop
624 %{_pixmapsdir}/nvidia-settings.png