]>
Commit | Line | Data |
---|---|---|
1 | # TODO | |
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 | |
4 | # | |
5 | # Conditional build: | |
6 | %bcond_with 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) | |
11 | ||
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} | |
18 | exit 1 | |
19 | %endif | |
20 | ||
21 | %define no_install_post_check_so 1 | |
22 | ||
23 | %define rel 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 | |
30 | Version: 465.31 | |
31 | Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}} | |
32 | Epoch: 1 | |
33 | License: nVidia Binary | |
34 | Group: X11 | |
35 | Source0: https://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run | |
36 | # Source0-md5: 4996eefa54392b0c9541d22e88abab66 | |
37 | Source2: %{pname}-xinitrc.sh | |
38 | Source3: gl.pc.in | |
39 | Source4: 10-nvidia.conf | |
40 | Source5: 10-nvidia-modules.conf | |
41 | Patch0: X11-driver-nvidia-desktop.patch | |
42 | URL: https://www.nvidia.com/en-us/drivers/unix/ | |
43 | BuildRequires: rpm-build >= 4.6 | |
44 | BuildRequires: rpmbuild(macros) >= 1.752 | |
45 | %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.32}} | |
46 | BuildRequires: sed >= 4.0 | |
47 | BuildConflicts: XFree86-nvidia | |
48 | Requires: %{pname}-libs = %{epoch}:%{version}-%{rel} | |
49 | Requires: xorg-xserver-server | |
50 | Requires: xorg-xserver-server(videodrv-abi) <= 24.1 | |
51 | Requires: xorg-xserver-server(videodrv-abi) >= 4.0 | |
52 | Provides: ocl-icd(nvidia) | |
53 | Provides: ocl-icd-driver | |
54 | Provides: vulkan(icd) = 1.2.155 | |
55 | Provides: xorg-driver-video | |
56 | Provides: xorg-xserver-module(glx) | |
57 | Obsoletes: XFree86-driver-nvidia < 1.0.5336-4 | |
58 | Obsoletes: XFree86-nvidia < 1.0 | |
59 | Conflicts: XFree86-OpenGL-devel <= 4.2.0-3 | |
60 | ExclusiveArch: %{?with_userspace:%{ix86}} %{x8664} | |
61 | BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n) | |
62 | ||
63 | %define _enable_debug_packages 0 | |
64 | ||
65 | # libnvidia-encode.so.*.* links with libnvcuvid.so instead of libnvcuvid.so.1 | |
66 | %define _noautoreq libnvcuvid.so | |
67 | ||
68 | %description | |
69 | This driver set adds improved 2D functionality to the Xorg X server as | |
70 | well as high performance OpenGL acceleration, AGP support, support for | |
71 | most flat panels, and 2D multiple monitor support. | |
72 | ||
73 | Supported hardware: | |
74 | - GeForce 600 series (excluding 605/GT 610/GT 620/GT 645) | |
75 | - GeForce 600M series (GT 640M LE only) | |
76 | - GeForce 700 series (excluding GT 705) | |
77 | - GeForce 800M series (830M/840M/845M/850M/860M only) | |
78 | - GeForce 900/900M series (excluding 910M/920M) | |
79 | - GeForce 10 series (including GT 1010) | |
80 | - GeForce 10 mobile series | |
81 | - GeForce 16 series (also mobile) | |
82 | - GeForce MX100 series | |
83 | - GeForce MX200 series | |
84 | - GeForce MX300 series | |
85 | - GeForce MX400 series | |
86 | - GeForce RTX 20 series (also mobile) | |
87 | - GeForce RTX 30 series (also mobile) | |
88 | - GeForce TITAN series (GTX TITAN X/GTX TITAN Black/GTX TITAN Z) | |
89 | - NVIDIA RTX series (also mobile) | |
90 | - NVIDIA TITAN series (RTX/V/Xp) | |
91 | - NVS series (NVS 510/NVS 810 only) | |
92 | - Quadro NVS series (NVS 510/NVS 810 only) | |
93 | - Quadro Blade/Embedded series (M3000 SE/M5000 SE/P3000/P5000 only) | |
94 | - Quadro mobile series (K620M/K2200M/M*/P*/T* only) | |
95 | - Quadro series (410/K*/M*/P*/GP100/GV100 only) | |
96 | - Quadro RTX series (also mobile) | |
97 | - GRID series (K520) | |
98 | ||
99 | For older hardware see appropriate xorg-driver-video-nvidia-legacy-* | |
100 | driver series. | |
101 | ||
102 | %description -l hu.UTF-8 | |
103 | Ez a meghajtó kibővíti az Xorg X szerver 2D működését OpenGL | |
104 | gyorsítással, AGP támogatással és támogatja a több monitort. | |
105 | ||
106 | Támogatott hardverek: | |
107 | - GeForce 600 series (- 605/GT 610/GT 620/GT 645) | |
108 | - GeForce 600M series (GT 640M LE) | |
109 | - GeForce 700 series (- GT 705) | |
110 | - GeForce 800M series (830M/840M/845M/850M/860M) | |
111 | - GeForce 900/900M series (- 910M/920M) | |
112 | - GeForce 10 series | |
113 | - GeForce 10 mobile series | |
114 | - GeForce 16 series (+mobile) | |
115 | - GeForce MX100 series | |
116 | - GeForce MX200 series | |
117 | - GeForce MX300 series | |
118 | - GeForce MX400 series | |
119 | - GeForce RTX 20 series (+mobile) | |
120 | - GeForce RTX 30 series (+mobile) | |
121 | - GeForce TITAN series (GTX TITAN X/GTX TITAN Black/GTX TITAN Z) | |
122 | - NVIDIA RTX series (+mobile) | |
123 | - NVIDIA TITAN series (RTX/V/Xp) | |
124 | - NVS series (NVS 510/NVS 810) | |
125 | - Quadro NVS series (NVS 510/NVS 810) | |
126 | - Quadro Blade/Embedded series (M3000 SE/M5000 SE/P3000/P5000) | |
127 | - Quadro mobile series (K620M/K2200M/M*/P*/T*) | |
128 | - Quadro series (410/K*/M*/P*/GP100/GV100) | |
129 | - Quadro RTX series (+mobile) | |
130 | - GRID series (K520) | |
131 | ||
132 | %description -l pl.UTF-8 | |
133 | Usprawnione sterowniki dla kart graficznych nVidia do serwera Xorg, | |
134 | dające wysokowydajną akcelerację OpenGL, obsługę AGP i wielu monitorów | |
135 | 2D. | |
136 | ||
137 | Obsługują karty: | |
138 | - GeForce serii 600 (oprócz 605/GT 610/GT 620/GT 645) | |
139 | - GeForce serii 600M (tylko GT 640M LE) | |
140 | - GeForce serii 700 (oprócz GT 705) | |
141 | - GeForce serii 800M (tylko 830M/840M/845M/850M/860M) | |
142 | - GeForce serii 900/900M series (oprócz 910M/920M) | |
143 | - GeForce serii 10 (wraz z GT 1010) | |
144 | - GeForce serii 10 mobile | |
145 | - GeForce serii 16 (także mobile) | |
146 | - GeForce serii MX100 | |
147 | - GeForce serii MX200 | |
148 | - GeForce serii MX300 | |
149 | - GeForce serii MX400 | |
150 | - GeForce serii RTX 20 (także mobile) | |
151 | - GeForce serii RTX 30 (także mobile) | |
152 | - GeForce serii TITAN (GTX TITAN X/GTX TITAN Black/GTX TITAN Z) | |
153 | - NVIDIA serii RTX (także mobile) | |
154 | - NVIDIA serii TITAN (RTX/V/Xp) | |
155 | - serii NVS (tylko NVS 510/NVS 810) | |
156 | - Quadro serii NVS (tylko NVS 510/NVS 810) | |
157 | - Quadro serii Blade/Embedded (tylko M3000 SE/M5000 SE/P3000/P5000) | |
158 | - Quadro mobile (tylko K620M/K2200M/M*/P*/T*) | |
159 | - Quadro (tylko 410/K*/M*/P*/GP100/GV100) | |
160 | - Quadro serii RTX (także mobile) | |
161 | - GRID (K520) | |
162 | ||
163 | %package libs | |
164 | Summary: OpenGL (GL and GLX) Nvidia libraries | |
165 | Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) Nvidia | |
166 | Group: X11/Development/Libraries | |
167 | Requires(post,postun): /sbin/ldconfig | |
168 | %if %{with system_libglvnd} | |
169 | Requires: libglvnd | |
170 | Requires: libglvnd-libGL | |
171 | Requires: libglvnd-libGLES | |
172 | %endif | |
173 | Requires: libvdpau >= 0.3 | |
174 | Provides: OpenGL = 4.6 | |
175 | Provides: OpenGL-GLX = 1.4 | |
176 | Obsoletes: X11-OpenGL-core < 1:7.0.0 | |
177 | Obsoletes: X11-OpenGL-libGL < 1:7.0.0 | |
178 | Obsoletes: XFree86-OpenGL-core < 1:7.0.0 | |
179 | Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0 | |
180 | %if %{with system_libglvnd} | |
181 | Obsoletes: xorg-driver-video-nvidia-devel < 465.27-2 | |
182 | %endif | |
183 | ||
184 | %description libs | |
185 | NVIDIA OpenGL (GL and GLX only) implementation libraries. | |
186 | ||
187 | %description libs -l pl.UTF-8 | |
188 | Implementacja OpenGL (tylko GL i GLX) firmy NVIDIA. | |
189 | ||
190 | %package devel | |
191 | Summary: OpenGL (GL and GLX) header files | |
192 | Summary(hu.UTF-8): OpenGL (GL és GLX) fejléc fájlok | |
193 | Summary(pl.UTF-8): Pliki nagłówkowe OpenGL (GL i GLX) | |
194 | Group: X11/Development/Libraries | |
195 | Requires: %{pname}-libs = %{epoch}:%{version}-%{rel} | |
196 | Obsoletes: X11-OpenGL-devel-base < 1:7.0.0 | |
197 | Obsoletes: XFree86-OpenGL-devel-base < 1:7.0.0 | |
198 | Obsoletes: XFree86-driver-nvidia-devel < 1.0.5336-4 | |
199 | Conflicts: XFree86-OpenGL-devel < 4.3.99.902-0.3 | |
200 | ||
201 | %description devel | |
202 | OpenGL header files (GL and GLX only) for NVIDIA OpenGL | |
203 | implementation. | |
204 | ||
205 | %description devel -l hu.UTF-8 | |
206 | OpenGL fejléc fájlok (csak GL és GLX) NVIDIA OpenGL implementációhoz. | |
207 | ||
208 | %description devel -l pl.UTF-8 | |
209 | Pliki nagłówkowe OpenGL (tylko GL i GLX) dla implementacji OpenGL | |
210 | firmy NVIDIA. | |
211 | ||
212 | %package doc | |
213 | Summary: Documentation for NVIDIA Graphics Driver | |
214 | Summary(pl.UTF-8): Dokumentacja do sterownika graficznego NVIDIA | |
215 | Group: Documentation | |
216 | BuildArch: noarch | |
217 | ||
218 | %description doc | |
219 | NVIDIA Accelerated Linux Graphics Driver README and Installation | |
220 | Guide. | |
221 | ||
222 | %description doc -l pl.UTF-8 | |
223 | Plik README oraz przewodnik instalacji do akcelerowanego sterownika | |
224 | graficznego NVIDIA dla Linuksa. | |
225 | ||
226 | %package progs | |
227 | Summary: Tools for advanced control of nVidia graphic cards | |
228 | Summary(hu.UTF-8): Eszközök az nVidia grafikus kártyák beállításához | |
229 | Summary(pl.UTF-8): Narzędzia do zarządzania kartami graficznymi nVidia | |
230 | Group: Applications/System | |
231 | Requires: %{pname} = %{epoch}:%{version} | |
232 | Suggests: pkgconfig | |
233 | Obsoletes: XFree86-driver-nvidia-progs < 1.0.5336-4 | |
234 | ||
235 | %description progs | |
236 | Tools for advanced control of nVidia graphic cards. | |
237 | ||
238 | %description progs -l hu.UTF-8 | |
239 | Eszközök az nVidia grafikus kártyák beállításához. | |
240 | ||
241 | %description progs -l pl.UTF-8 | |
242 | Narzędzia do zarządzania kartami graficznymi nVidia. | |
243 | ||
244 | %define kernel_pkg()\ | |
245 | %package -n kernel%{_alt_kernel}-video-nvidia\ | |
246 | Summary: nVidia kernel module for nVidia Architecture support\ | |
247 | Summary(de.UTF-8): Das nVidia-Kern-Modul für die nVidia-Architektur-Unterstützung\ | |
248 | Summary(hu.UTF-8): nVidia Architektúra támogatás Linux kernelhez.\ | |
249 | Summary(pl.UTF-8): Moduł jądra dla obsługi kart graficznych nVidia\ | |
250 | Release: %{rel}@%{_kernel_ver_str}\ | |
251 | Group: Base/Kernel\ | |
252 | Requires(post,postun): /sbin/depmod\ | |
253 | Requires: dev >= 2.7.7-10\ | |
254 | %requires_releq_kernel\ | |
255 | %if %{_kernel_version_code} >= %{_kernel_version_magic 3 10 0}\ | |
256 | Requires: %{releq_kernel -n drm}\ | |
257 | %endif\ | |
258 | Requires(postun): %releq_kernel\ | |
259 | Requires: %{pname} = %{epoch}:%{version}\ | |
260 | Provides: X11-driver-nvidia(kernel)\ | |
261 | Obsoletes: XFree86-nvidia-kernel < 1.0.5336-4\ | |
262 | \ | |
263 | %description -n kernel%{_alt_kernel}-video-nvidia\ | |
264 | nVidia Architecture support for Linux kernel.\ | |
265 | \ | |
266 | %description -n kernel%{_alt_kernel}-video-nvidia -l de.UTF-8\ | |
267 | Die nVidia-Architektur-Unterstützung für den Linux-Kern.\ | |
268 | \ | |
269 | %description -n kernel%{_alt_kernel}-video-nvidia -l hu.UTF-8\ | |
270 | nVidia Architektúra támogatás Linux kernelhez.\ | |
271 | \ | |
272 | %description -n kernel%{_alt_kernel}-video-nvidia -l pl.UTF-8\ | |
273 | Obsługa architektury nVidia dla jądra Linuksa. Pakiet wymagany przez\ | |
274 | sterownik nVidii dla Xorg/XFree86.\ | |
275 | \ | |
276 | %if %{with kernel}\ | |
277 | %files -n kernel%{_alt_kernel}-video-nvidia\ | |
278 | %defattr(644,root,root,755)\ | |
279 | /lib/modules/%{_kernel_ver}/misc/*.ko*\ | |
280 | %endif\ | |
281 | \ | |
282 | %post -n kernel%{_alt_kernel}-video-nvidia\ | |
283 | %depmod %{_kernel_ver}\ | |
284 | \ | |
285 | %postun -n kernel%{_alt_kernel}-video-nvidia\ | |
286 | %depmod %{_kernel_ver}\ | |
287 | %{nil} | |
288 | ||
289 | %define build_kernel_pkg()\ | |
290 | cd kernel\ | |
291 | %{__make} SYSSRC=%{_kernelsrcdir} clean\ | |
292 | %{__make} SYSSRC=%{_kernelsrcdir} IGNORE_CC_MISMATCH=1 NV_VERBOSE=1 CC=%{__cc} module\ | |
293 | cd ..\ | |
294 | %install_kernel_modules -D installed -m kernel/nvidia,kernel/nvidia-drm,kernel/nvidia-modeset -d misc\ | |
295 | %install_kernel_modules -D installed -m kernel/nvidia-uvm -d misc\ | |
296 | %{nil} | |
297 | ||
298 | %ifarch %{x8664} | |
299 | %{?with_kernel:%{expand:%create_kernel_packages}} | |
300 | %endif | |
301 | ||
302 | %prep | |
303 | cd %{_builddir} | |
304 | rm -rf NVIDIA-Linux-x86_64-%{version} | |
305 | /bin/sh %{SOURCE0} --extract-only | |
306 | %setup -qDT -n NVIDIA-Linux-x86_64-%{version} | |
307 | %patch0 -p1 | |
308 | echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> kernel/Makefile.kbuild | |
309 | ||
310 | %build | |
311 | %ifarch %{x8664} | |
312 | %{?with_kernel:%{expand:%build_kernel_packages}} | |
313 | %endif | |
314 | ||
315 | %install | |
316 | rm -rf $RPM_BUILD_ROOT | |
317 | ||
318 | %if %{with userspace} | |
319 | install -d $RPM_BUILD_ROOT%{_libdir}/{nvidia,xorg/modules/{drivers,extensions/nvidia}} \ | |
320 | $RPM_BUILD_ROOT{%{_libdir}/vdpau,%{_bindir},%{_mandir}/man1} \ | |
321 | $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/etc/X11/xinit/xinitrc.d} \ | |
322 | $RPM_BUILD_ROOT%{_sysconfdir}/{OpenCL/vendors,ld.so.conf.d,X11/xorg.conf.d} \ | |
323 | $RPM_BUILD_ROOT%{_datadir}/{glvnd/egl_vendor.d,nvidia,vulkan/icd.d} | |
324 | ||
325 | %ifarch %{x8664} | |
326 | %if %{with settings} | |
327 | install -p nvidia-settings $RPM_BUILD_ROOT%{_bindir} | |
328 | cp -p nvidia-settings.1* $RPM_BUILD_ROOT%{_mandir}/man1 | |
329 | cp -p nvidia-settings.desktop $RPM_BUILD_ROOT%{_desktopdir} | |
330 | cp -p nvidia-settings.png $RPM_BUILD_ROOT%{_pixmapsdir} | |
331 | install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/nvidia-settings.sh | |
332 | %endif | |
333 | ||
334 | install -p nvidia-{smi,xconfig,bug-report.sh} $RPM_BUILD_ROOT%{_bindir} | |
335 | install -p nvidia-cuda-mps-{control,server} $RPM_BUILD_ROOT%{_bindir} | |
336 | cp -p nvidia-{smi,xconfig,cuda-mps-control}.1* $RPM_BUILD_ROOT%{_mandir}/man1 | |
337 | install -p nvidia.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors | |
338 | ||
339 | install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d | |
340 | install %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d | |
341 | sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-modules.conf | |
342 | install -p nvidia-drm-outputclass.conf $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf | |
343 | ||
344 | install -p nvidia-application-profiles-%{version}-key-documentation $RPM_BUILD_ROOT%{_datadir}/nvidia | |
345 | install -p nvidia-application-profiles-%{version}-rc $RPM_BUILD_ROOT%{_datadir}/nvidia | |
346 | %endif | |
347 | ||
348 | %ifarch %{ix86} | |
349 | %define srcdir 32 | |
350 | %else | |
351 | %define srcdir . | |
352 | %endif | |
353 | ||
354 | for f in \ | |
355 | %if %{without system_libglvnd} | |
356 | %{srcdir}/libGL.so.1.7.0 \ | |
357 | %{srcdir}/libGLX.so.0 \ | |
358 | %{srcdir}/libOpenGL.so.0 \ | |
359 | %{srcdir}/libGLdispatch.so.0 \ | |
360 | %{srcdir}/libGLESv1_CM.so.1.2.0 \ | |
361 | %{srcdir}/libGLESv2.so.2.1.0 \ | |
362 | %{srcdir}/libEGL.so.1.1.0 \ | |
363 | %endif | |
364 | %{srcdir}/libGLX_nvidia.so.%{version} \ | |
365 | %{srcdir}/libEGL_nvidia.so.%{version} \ | |
366 | %{srcdir}/libGLESv1_CM_nvidia.so.%{version} \ | |
367 | %{srcdir}/libGLESv2_nvidia.so.%{version} \ | |
368 | %ifarch %{x8664} | |
369 | %{srcdir}/libnvidia-egl-wayland.so.1.1.5 \ | |
370 | %{srcdir}/libnvidia-eglcore.so.%{version} \ | |
371 | %endif | |
372 | %{srcdir}/libcuda.so.%{version} \ | |
373 | %{srcdir}/libnvcuvid.so.%{version} \ | |
374 | %ifarch %{x8664} | |
375 | %{srcdir}/libnvidia-cbl.so.%{version} \ | |
376 | %{srcdir}/libnvidia-cfg.so.%{version} \ | |
377 | %{srcdir}/libnvidia-ngx.so.%{version} \ | |
378 | %{srcdir}/libnvidia-rtcore.so.%{version} \ | |
379 | %{srcdir}/libnvoptix.so.%{version} \ | |
380 | %endif | |
381 | %{srcdir}/libnvidia-allocator.so.%{version} \ | |
382 | %{srcdir}/libnvidia-compiler.so.%{version} \ | |
383 | %{srcdir}/libnvidia-encode.so.%{version} \ | |
384 | %{srcdir}/libnvidia-fbc.so.%{version} \ | |
385 | %{srcdir}/libnvidia-glcore.so.%{version} \ | |
386 | %{srcdir}/libnvidia-glsi.so.%{version} \ | |
387 | %{srcdir}/libnvidia-glvkspirv.so.%{version} \ | |
388 | %{srcdir}/libnvidia-ifr.so.%{version} \ | |
389 | %{srcdir}/libnvidia-ml.so.%{version} \ | |
390 | %{srcdir}/libnvidia-opencl.so.%{version} \ | |
391 | %{srcdir}/libnvidia-opticalflow.so.%{version} \ | |
392 | %{srcdir}/libnvidia-ptxjitcompiler.so.%{version} \ | |
393 | %{srcdir}/libnvidia-tls.so.%{version} \ | |
394 | ; do | |
395 | install -p $f $RPM_BUILD_ROOT%{_libdir}/nvidia | |
396 | done | |
397 | ||
398 | install -p %{srcdir}/libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau | |
399 | ||
400 | %ifarch %{x8664} | |
401 | install -p libglxserver_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia | |
402 | ln -s libglxserver_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so | |
403 | install -p nvidia_drv.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so.%{version} | |
404 | ln -s nvidia_drv.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so | |
405 | %endif | |
406 | ||
407 | /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/nvidia | |
408 | /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/nvidia | |
409 | ||
410 | ln -sf libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_nvidia.so.1 | |
411 | ||
412 | %ifarch %{x8664} | |
413 | echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf | |
414 | echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia64.conf | |
415 | %else | |
416 | echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf | |
417 | echo %{_libdir}/vdpau >>$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf | |
418 | %endif | |
419 | ||
420 | # OpenGL ABI for Linux compatibility | |
421 | %if %{without system_libglvnd} | |
422 | ln -sf libGL.so.1.7.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1 | |
423 | ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so | |
424 | ln -sf libGLX.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX.so | |
425 | ln -sf libOpenGL.so.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libOpenGL.so | |
426 | ln -sf libGLESv1_CM.so.1.2.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so.1 | |
427 | ln -sf libGLESv1_CM.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM.so | |
428 | ln -sf libGLESv2.so.2.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so.2 | |
429 | ln -sf libGLESv2.so.2 $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2.so | |
430 | ln -sf libEGL.so.1.1.0 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so.1 | |
431 | ln -sf libEGL.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL.so | |
432 | %endif | |
433 | ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_nvidia.so.0 | |
434 | ln -sf libGLX_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLX_indirect.so.0 | |
435 | ln -sf libEGL_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libEGL_nvidia.so.0 | |
436 | ln -sf libGLESv1_CM_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1 | |
437 | ln -sf libGLESv2_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGLESv2_nvidia.so.2 | |
438 | ||
439 | %ifarch %{x8664} | |
440 | install -p 10_nvidia.json $RPM_BUILD_ROOT%{_datadir}/glvnd/egl_vendor.d | |
441 | %endif | |
442 | ln -sf libcuda.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libcuda.so | |
443 | ln -sf libnvcuvid.so.1 $RPM_BUILD_ROOT%{_libdir}/nvidia/libnvcuvid.so | |
444 | ||
445 | %ifarch %{x8664} | |
446 | install -p nvidia_icd.json $RPM_BUILD_ROOT%{_datadir}/vulkan/icd.d | |
447 | %endif | |
448 | %endif | |
449 | ||
450 | %ifarch %{x8664} | |
451 | %if %{with kernel} | |
452 | install -d $RPM_BUILD_ROOT | |
453 | cp -a installed/* $RPM_BUILD_ROOT | |
454 | %endif | |
455 | %endif | |
456 | ||
457 | install -d $RPM_BUILD_ROOT%{_pkgconfigdir} | |
458 | sed -e ' | |
459 | s|@@prefix@@|%{_prefix}|g; | |
460 | s|@@libdir@@|%{_libdir}|g; | |
461 | s|@@version@@|%{version}|g' < %{SOURCE3} \ | |
462 | > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc | |
463 | ||
464 | %clean | |
465 | rm -rf $RPM_BUILD_ROOT | |
466 | ||
467 | %post | |
468 | cat << 'EOF' | |
469 | NOTE: You must also install kernel module for this driver to work | |
470 | kernel%{_alt_kernel}-video-nvidia-%{version} | |
471 | ||
472 | EOF | |
473 | ||
474 | %post libs -p /sbin/ldconfig | |
475 | %postun libs -p /sbin/ldconfig | |
476 | ||
477 | %if %{with userspace} | |
478 | %ifarch %{x8664} | |
479 | %files | |
480 | %defattr(644,root,root,755) | |
481 | %doc LICENSE NVIDIA_Changelog README.txt | |
482 | %dir %{_libdir}/xorg/modules/extensions/nvidia | |
483 | %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so.* | |
484 | %attr(755,root,root) %{_libdir}/xorg/modules/extensions/nvidia/libglxserver_nvidia.so | |
485 | %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so.* | |
486 | %attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so | |
487 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf | |
488 | %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-modules.conf | |
489 | %{_sysconfdir}/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf | |
490 | %dir %{_datadir}/nvidia | |
491 | %{_datadir}/nvidia/nvidia-application-profiles-%{version}-key-documentation | |
492 | %{_datadir}/nvidia/nvidia-application-profiles-%{version}-rc | |
493 | %endif | |
494 | ||
495 | %files libs | |
496 | %defattr(644,root,root,755) | |
497 | %ifarch %{x8664} | |
498 | %dir %{_sysconfdir}/OpenCL | |
499 | %dir %{_sysconfdir}/OpenCL/vendors | |
500 | %{_sysconfdir}/OpenCL/vendors/nvidia.icd | |
501 | %endif | |
502 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/nvidia*.conf | |
503 | %dir %{_libdir}/nvidia | |
504 | %if %{without system_libglvnd} | |
505 | %attr(755,root,root) %{_libdir}/nvidia/libGL.so.1.7.0 | |
506 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1 | |
507 | %attr(755,root,root) %{_libdir}/nvidia/libGL.so | |
508 | %attr(755,root,root) %{_libdir}/nvidia/libGLX.so.0 | |
509 | %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so.0 | |
510 | %attr(755,root,root) %{_libdir}/nvidia/libGLdispatch.so.0 | |
511 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so.1.2.0 | |
512 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM.so.1 | |
513 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so.2.1.0 | |
514 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2.so.2 | |
515 | %attr(755,root,root) %{_libdir}/nvidia/libEGL.so.1.1.0 | |
516 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL.so.1 | |
517 | %endif | |
518 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libEGL_nvidia.so.0 | |
519 | %attr(755,root,root) %{_libdir}/nvidia/libEGL_nvidia.so.*.* | |
520 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.1 | |
521 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM_nvidia.so.*.* | |
522 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLESv2_nvidia.so.2 | |
523 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv2_nvidia.so.*.* | |
524 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_indirect.so.0 | |
525 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libGLX_nvidia.so.0 | |
526 | %attr(755,root,root) %{_libdir}/nvidia/libGLX_nvidia.so.*.* | |
527 | %ifarch %{x8664} | |
528 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-egl-wayland.so.*.*.* | |
529 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-egl-wayland.so.1 | |
530 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-eglcore.so.*.* | |
531 | %endif | |
532 | %attr(755,root,root) %{_libdir}/nvidia/libcuda.so.*.* | |
533 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libcuda.so.1 | |
534 | %attr(755,root,root) %{_libdir}/nvidia/libcuda.so | |
535 | %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so.*.* | |
536 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvcuvid.so.1 | |
537 | %attr(755,root,root) %{_libdir}/nvidia/libnvcuvid.so | |
538 | %ifarch %{x8664} | |
539 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-cbl.so.*.* | |
540 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-cfg.so.*.* | |
541 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-cfg.so.1 | |
542 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ngx.so.*.* | |
543 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ngx.so.1 | |
544 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-rtcore.so.*.* | |
545 | %attr(755,root,root) %{_libdir}/nvidia/libnvoptix.so.*.* | |
546 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvoptix.so.1 | |
547 | %endif | |
548 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-allocator.so.*.* | |
549 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-allocator.so.1 | |
550 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-compiler.so.*.* | |
551 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-encode.so.*.* | |
552 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-encode.so.1 | |
553 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-fbc.so.1 | |
554 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-fbc.so.*.* | |
555 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glcore.so.*.* | |
556 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glsi.so.*.* | |
557 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-glvkspirv.so.*.* | |
558 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ifr.so.1 | |
559 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ifr.so.*.* | |
560 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ml.so.*.* | |
561 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ml.so.1 | |
562 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-opencl.so.*.* | |
563 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-opencl.so.1 | |
564 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-opticalflow.so.*.* | |
565 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-opticalflow.so.1 | |
566 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.*.* | |
567 | %attr(755,root,root) %ghost %{_libdir}/nvidia/libnvidia-ptxjitcompiler.so.1 | |
568 | %attr(755,root,root) %{_libdir}/nvidia/libnvidia-tls.so.*.* | |
569 | %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nvidia.so.*.* | |
570 | %attr(755,root,root) %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1 | |
571 | %ifarch %{x8664} | |
572 | %{_datadir}/glvnd/egl_vendor.d/10_nvidia.json | |
573 | %{_datadir}/vulkan/icd.d/nvidia_icd.json | |
574 | %endif | |
575 | ||
576 | %if %{without system_libglvnd} | |
577 | %files devel | |
578 | %defattr(644,root,root,755) | |
579 | %attr(755,root,root) %{_libdir}/nvidia/libGLX.so | |
580 | %attr(755,root,root) %{_libdir}/nvidia/libOpenGL.so | |
581 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv1_CM.so | |
582 | %attr(755,root,root) %{_libdir}/nvidia/libGLESv2.so | |
583 | %attr(755,root,root) %{_libdir}/nvidia/libEGL.so | |
584 | %{_pkgconfigdir}/gl.pc | |
585 | %endif | |
586 | ||
587 | %files doc | |
588 | %defattr(644,root,root,755) | |
589 | %doc html/* | |
590 | ||
591 | %ifarch %{x8664} | |
592 | %files progs | |
593 | %defattr(644,root,root,755) | |
594 | %attr(755,root,root) %{_bindir}/nvidia-bug-report.sh | |
595 | %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-control | |
596 | %attr(755,root,root) %{_bindir}/nvidia-cuda-mps-server | |
597 | %attr(755,root,root) %{_bindir}/nvidia-smi | |
598 | %attr(755,root,root) %{_bindir}/nvidia-xconfig | |
599 | %{_mandir}/man1/nvidia-cuda-mps-control.1* | |
600 | %{_mandir}/man1/nvidia-smi.1* | |
601 | %{_mandir}/man1/nvidia-xconfig.1* | |
602 | %if %{with settings} | |
603 | %attr(755,root,root) /etc/X11/xinit/xinitrc.d/nvidia-settings.sh | |
604 | %attr(755,root,root) %{_bindir}/nvidia-settings | |
605 | %{_mandir}/man1/nvidia-settings.1* | |
606 | %{_desktopdir}/nvidia-settings.desktop | |
607 | %{_pixmapsdir}/nvidia-settings.png | |
608 | %endif | |
609 | %endif | |
610 | %endif |