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