3 %bcond_without dist_kernel # without distribution kernel
4 %bcond_without kernel # don't build kernel modules
5 %bcond_without userspace # don't build userspace tools
6 %bcond_with verbose # verbose build (V=1)
7 %bcond_with multigl # package libGL in a way allowing concurrent install with nvidia/fglrx drivers
12 %undefine with_dist_kernel
14 %if "%{_alt_kernel}" != "%{nil}"
15 %undefine with_userspace
17 %if %{without userspace}
18 # nothing to be placed to debuginfo package
19 %define _enable_debug_packages 0
23 %define arch_sufix %{nil}
26 %define arch_sufix _64a
27 %define arch_dir x86_64
31 %define pname xorg-driver-video-fglrx
32 Summary: Linux Drivers for ATI graphics accelerators
33 Summary(pl.UTF-8): Sterowniki do akceleratorów graficznych ATI
36 Release: %{rel}%{?with_multigl:.mgl}
38 License: ATI Binary (parts are GPL)
40 Source0: http://dlmdownloads.ati.com/drivers/linux/ati-driver-installer-%(echo %{version} | tr . -)-x86.x86_64.run
41 # Source0-md5: f28f358b3a40a0a06e16f45925d9a875
42 Source1: atieventsd.init
43 Source2: atieventsd.sysconfig
45 Source4: 10-fglrx.conf
46 Patch0: %{pname}-kh.patch
47 Patch1: %{pname}-smp.patch
48 Patch2: %{pname}-x86genericarch.patch
49 Patch3: %{pname}-desktop.patch
50 Patch4: %{pname}-nofinger.patch
51 Patch5: %{pname}-GPL-only.patch
52 URL: http://ati.amd.com/support/drivers/linux/linux-radeon.html
53 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
54 BuildRequires: rpmbuild(macros) >= 1.379
55 BuildRequires: sed >= 4.0
56 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
57 Requires: xorg-xserver-server
58 Requires: xorg-xserver-server(videodrv-abi) <= 8.0
59 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
60 Suggests: %{name}-config
61 Suggests: kernel-video-firegl
62 Provides: xorg-xserver-module(glx)
63 Obsoletes: X11-driver-firegl < 1:7.0.0
64 Obsoletes: XFree86-driver-firegl < 1:7.0.0
65 Obsoletes: xorg-driver-video-fglrx-libdri
66 Obsoletes: xorg-driver-video-fglrx-libglx
67 %if %{without multigl}
68 Conflicts: xorg-driver-video-nvidia
69 Conflicts: xorg-xserver-libglx
71 ExclusiveArch: i586 i686 athlon pentium3 pentium4 %{x8664}
72 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74 %define _ccver %(rpm -q --qf "%{VERSION}" gcc | sed 's/\\..*//')
76 %define _noautoreqdep libGL.so.1
77 %define no_install_post_check_so 1
80 Display driver files for the ATI Radeon 8500, 9700, Mobility M9 and
81 the FireGL 8700/8800, E1, Z1/X1 graphics accelerators. This package
82 provides 2D display drivers and hardware accelerated OpenGL.
84 %description -l pl.UTF-8
85 Sterowniki do kart graficznych ATI Radeon 8500, 9700, Mobility M9 oraz
86 graficznych akceleratorów FireGL 8700/8800, E1, Z1/X1. Pakiet
87 dostarcza sterowniki obsługujące wyświetlanie 2D oraz sprzętowo
91 Summary: OpenGL (GL and GLX) ATI/AMD libraries
92 Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) ATI/AMD
93 Group: X11/Development/Libraries
94 Requires(post,postun): /sbin/ldconfig
95 # 4.0 for Radeon HD 5000 Series
96 Provides: OpenGL = 3.3
97 Provides: OpenGL-GLX = 1.4
98 %if %{without multigl}
100 Conflicts: Mesa-libGL
102 Obsoletes: X11-OpenGL-core < 1:7.0.0
103 Obsoletes: X11-OpenGL-libGL < 1:7.0.0
104 Obsoletes: XFree86-OpenGL-core < 1:7.0.0
105 Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
108 ATI/AMD OpenGL (GL and GLX only) implementation libraries.
110 %description libs -l pl.UTF-8
111 Implementacja OpenGL (tylko GL i GLX) firmy ATI/AMD.
114 Summary: Header files for development for the ATI Radeon cards proprietary driver
115 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
116 Group: X11/Development/Libraries
117 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
119 Requires: xorg-proto-glproto-devel
120 # 4.0 for Radeon HD 5000 Series
121 Provides: OpenGL-GLX-devel = 1.4
122 Provides: OpenGL-devel = 3.3
123 Obsoletes: X11-OpenGL-devel-base
124 Obsoletes: XFree86-OpenGL-devel-base
127 Header files for development for the ATI proprietary driver for ATI
128 Radeon graphic cards.
130 %description devel -l pl.UTF-8
131 Pliki nagłówkowe do programowania z użyciem własnościowego sterownika
132 ATI dla kart graficznych Radeon.
135 Summary: Static libraries for development for the ATI Radeon cards proprietary driver
136 Summary(pl.UTF-8): Biblioteki statyczne do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
137 Group: X11/Development/Libraries
138 Requires: %{pname}-devel = %{epoch}:%{version}-%{release}
141 Static libraries for development for the ATI proprietary driver for
142 ATI Radeon graphic cards.
144 %description static -l pl.UTF-8
145 Biblioteki statyczne do programowania z użyciem własnościowego
146 sterownika ATI dla kart graficznych ATI Radeon.
149 Summary: ATI external events daemon
150 Summary(pl.UTF-8): Demon zewnętrznych zdarzeń ATI
152 Requires: %{pname} = %{epoch}:%{version}-%{rel}
154 Requires(post,preun): /sbin/chkconfig
157 %description atieventsd
158 The ATI External Events Daemon is a user-level application that
159 monitors various system events such as ACPI or hotplug, then notifies
160 the driver via the X extensions interface that the event has occured.
162 %description atieventsd -l pl.UTF-8
163 Demon zewnętrznych zdarzeń ATI jest aplikacją monitorującą różne
164 zdarzenia systemowe, takie jak ACPI lub hotplug, a następnie
165 informującą sterownik poprzez interfejs rozszerzeń X, że zaszło
169 Summary: Xorg configuration file to use fglrx module
170 Summary(pl.UTF-8): Plik konfiguracyjny modułu fglrx dla Xorg
172 Requires: %{name} = %{epoch}:%{version}-%{rel}
175 Without configuration file Xorg doesn't use fglrx module. If you want
176 to use it you should install this package or create own configuration
179 %description config -l pl.UTF-8
180 Bez odpowiedniej konfiguracji Xorg nie będzie używał modułu fglrx. Aby
181 to umożliwić należy zainstalować tą paczkę lub stworzyć własny plik
184 %package -n kernel%{_alt_kernel}-video-firegl
185 Summary: ATI kernel module for FireGL support
186 Summary(pl.UTF-8): Moduł jądra oferujący wsparcie dla ATI FireGL
187 Release: %{rel}@%{_kernel_ver_str}
190 %{?with_dist_kernel:%requires_releq_kernel}
191 %if "%{_alt_kernel}" != "%{nil}"
192 Provides: kernel-video-firegl = %{epoch}:%{version}-%{rel}@%{_kernel_ver_str}
194 Requires(post,postun): /sbin/depmod
196 %description -n kernel%{_alt_kernel}-video-firegl
197 ATI kernel module for FireGL support.
199 %description -n kernel%{_alt_kernel}-video-firegl -l pl.UTF-8
200 Moduł jądra oferujący wsparcie dla ATI FireGL.
205 sh %{SOURCE0} --extract .
207 cp arch/%{arch_dir}/lib/modules/fglrx/build_mod/* common/lib/modules/fglrx/build_mod
209 %if %{with dist_kernel}
218 install -d common%{_prefix}/{%{_lib},bin,sbin}
219 cp -r %{x11ver}%{arch_sufix}/usr/X11R6/%{_lib}/* common%{_libdir}
220 cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/* common%{_libdir}
221 cp -r arch/%{arch_dir}/usr/X11R6/bin/* common%{_bindir}
222 cp -r arch/%{arch_dir}/usr/sbin/* common%{_sbindir}
223 cp -r arch/%{arch_dir}/usr/%{_lib}/*.so* common%{_libdir}
227 cd common/lib/modules/fglrx/build_mod
228 cp -f 2.6.x/Makefile .
229 %build_kernel_modules -m fglrx GCC_VER_MAJ=%{_ccver}
234 rm -rf $RPM_BUILD_ROOT
237 %install_kernel_modules -m common/lib/modules/fglrx/build_mod/fglrx -d misc
240 %if %{with userspace}
241 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{ati,env.d,X11/xorg.conf.d},%{_bindir},%{_sbindir}} \
242 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/ati,%{_mandir}/man8} \
243 $RPM_BUILD_ROOT{%{_libdir}/xorg/modules,%{_includedir}/{X11/extensions,GL}} \
244 $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d}
246 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/atieventsd
247 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/atieventsd
248 install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
249 cp -r common%{_datadir}/doc/fglrx/examples/etc/acpi $RPM_BUILD_ROOT/etc
251 install common%{_bindir}/* $RPM_BUILD_ROOT%{_bindir}
252 install common/usr/X11R6/bin/* $RPM_BUILD_ROOT%{_bindir}
253 install common%{_sbindir}/* $RPM_BUILD_ROOT%{_sbindir}
255 rm $RPM_BUILD_ROOT%{_sbindir}/atigetsysteminfo.sh
257 cp -r common%{_libdir}/modules/* $RPM_BUILD_ROOT%{_libdir}/xorg/modules
258 ln -s %{_libdir}/xorg/modules/dri $RPM_BUILD_ROOT%{_libdir}
259 cp -r common%{_sysconfdir}/ati/control $RPM_BUILD_ROOT%{_sysconfdir}/ati/control
260 cp -r common%{_sysconfdir}/ati/signature $RPM_BUILD_ROOT%{_sysconfdir}/ati/signature
261 cp -r common%{_sysconfdir}/ati/amdpcsdb.default $RPM_BUILD_ROOT%{_sysconfdir}/ati/amdpcsdb.default
262 cp -r common%{_sysconfdir}/ati/atiogl.xml $RPM_BUILD_ROOT%{_sysconfdir}/ati/atiogl.xml
264 cp -r common%{_datadir}/ati/* $RPM_BUILD_ROOT%{_datadir}/ati
265 cp -r common%{_datadir}/icons/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
267 cp -r common%{_desktopdir}/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
269 cp -r common%{_mandir}/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
272 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/ld.so.conf.d,%{_libdir}/fglrx}
274 echo %{_libdir}/fglrx >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx.conf
276 cp -r common%{_libdir}/lib*.a $RPM_BUILD_ROOT%{_libdir}
277 cp -r common%{_libdir}/lib*.so* $RPM_BUILD_ROOT%{_libdir}/fglrx
278 cp -r common%{_libdir}/lib*.cap $RPM_BUILD_ROOT%{_libdir}/fglrx
280 mv -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/{libglx.so,libglx.so.%{version}}
281 ln -sf libglx.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/libglx.so
283 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/fglrx
284 ln -sf fglrx/libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
286 cp -r common%{_libdir}/lib* $RPM_BUILD_ROOT%{_libdir}
288 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
289 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
292 install common%{_includedir}/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
293 install common/usr/X11R6/include/X11/extensions/*.h $RPM_BUILD_ROOT%{_includedir}/X11/extensions
294 echo "LIBGL_DRIVERS_PATH=%{_libdir}/xorg/modules/dri" > $RPM_BUILD_ROOT%{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
296 cd $RPM_BUILD_ROOT%{_libdir}
297 for f in libfglrx_dm libfglrx_gamma; do
299 ln -s fglrx/$f.so.*.* $f.so
301 ln -s $f.so.*.* $f.so
306 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
307 %{__sed} -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
308 > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
311 rm -rf $RPM_BUILD_ROOT
315 if [ ! -e %{_libdir}/xorg/modules/extensions/libglx.so ]; then
316 ln -sf libglx.so.%{version} %{_libdir}/xorg/modules/extensions/libglx.so
320 %post libs -p /sbin/ldconfig
321 %postun libs -p /sbin/ldconfig
324 /sbin/chkconfig --add atieventsd
325 %service atieventsd restart
328 if [ "$1" = "0" ]; then
329 %service -q atieventsd stop
330 /sbin/chkconfig --del atieventsd
333 %post -n kernel%{_alt_kernel}-video-firegl
334 %depmod %{_kernel_ver}
336 %postun -n kernel%{_alt_kernel}-video-firegl
337 %depmod %{_kernel_ver}
339 %if %{with userspace}
341 %defattr(644,root,root,755)
342 %doc ATI_LICENSE.TXT common%{_docdir}/fglrx/*.html common%{_docdir}/fglrx/articles common%{_docdir}/fglrx/user-manual
343 %dir %{_sysconfdir}/ati
344 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/control
345 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/signature
346 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/amdpcsdb.default
347 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/atiogl.xml
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
349 %attr(755,root,root) %{_bindir}/*
350 %attr(755,root,root) %{_sbindir}/amdnotifyui
351 %{_desktopdir}/*.desktop
355 %ghost %{_libdir}/xorg/modules/extensions/libglx.so
356 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so.%{version}
358 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so
361 %attr(755,root,root) %{_libdir}/xorg/modules/dri/fglrx_dri.so
362 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/fglrx_drv.so
363 %dir %{_libdir}/xorg/modules/linux
364 %attr(755,root,root) %{_libdir}/xorg/modules/linux/libfglrxdrm.so
365 %attr(755,root,root) %{_libdir}/xorg/modules/amdxmm.so
366 %attr(755,root,root) %{_libdir}/xorg/modules/glesx.so
369 %defattr(644,root,root,755)
371 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/fglrx.conf
372 %dir %{_libdir}/fglrx
373 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.*.*
374 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.1
375 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.*.*
376 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.1
377 %{_libdir}/fglrx/libAMDXvBA.cap
378 %attr(755,root,root) %{_libdir}/fglrx/libatiadlxx.so
379 %attr(755,root,root) %{_libdir}/fglrx/libaticalcl.so
380 %attr(755,root,root) %{_libdir}/fglrx/libaticaldd.so
381 %attr(755,root,root) %{_libdir}/fglrx/libaticalrt.so
382 %attr(755,root,root) %{_libdir}/fglrx/libatiuki.so.*.*
383 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.*.*
384 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.1
385 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so.*.*
386 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_gamma.so.*.*
387 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_gamma.so.1
389 %attr(755,root,root) %{_libdir}/libAMDXvBA.so.*.*
390 %attr(755,root,root) %ghost %{_libdir}/libAMDXvBA.so.1
391 %attr(755,root,root) %{_libdir}/libXvBAW.so.*.*
392 %attr(755,root,root) %ghost %{_libdir}/libXvBAW.so.1
393 %{_libdir}/libAMDXvBA.cap
394 %attr(755,root,root) %{_libdir}/libatiadlxx.so
395 %attr(755,root,root) %{_libdir}/libaticalcl.so
396 %attr(755,root,root) %{_libdir}/libaticaldd.so
397 %attr(755,root,root) %{_libdir}/libaticalrt.so
398 %attr(755,root,root) %{_libdir}/libatiuki.so.*.*
399 %attr(755,root,root) %ghost %{_libdir}/libatiuki.so.1
400 %attr(755,root,root) %{_libdir}/libGL.so.*.*
401 %attr(755,root,root) %ghost %{_libdir}/libGL.so.1
402 %attr(755,root,root) %{_libdir}/libGL.so
403 %attr(755,root,root) %{_libdir}/libfglrx_dm.so.*.*
404 %attr(755,root,root) %{_libdir}/libfglrx_gamma.so.*.*
405 %attr(755,root,root) %ghost %{_libdir}/libfglrx_gamma.so.1
409 %defattr(644,root,root,755)
410 %attr(755,root,root) %{_libdir}/libfglrx_dm.so
411 %attr(755,root,root) %{_libdir}/libfglrx_gamma.so
413 %{_includedir}/X11/extensions/fglrx_gamma.h
415 %attr(755,root,root) %{_libdir}/libGL.so
417 %{_pkgconfigdir}/gl.pc
420 %defattr(644,root,root,755)
421 %{_libdir}/libfglrx_dm.a
422 %{_libdir}/libfglrx_gamma.a
425 %defattr(644,root,root,755)
426 %attr(754,root,root) /etc/rc.d/init.d/atieventsd
427 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/atieventsd
428 %attr(755,root,root) %{_sbindir}/atieventsd
429 %attr(755,root,root) %{_sysconfdir}/acpi/ati-powermode.sh
430 %{_sysconfdir}/acpi/events/*
431 %{_mandir}/man8/atieventsd.8*
434 %defattr(644,root,root,755)
435 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx.conf
439 %files -n kernel%{_alt_kernel}-video-firegl
440 %defattr(644,root,root,755)
441 /lib/modules/%{_kernel_ver}/misc/*.ko*