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)
11 %undefine with_dist_kernel
13 %if "%{_alt_kernel}" != "%{nil}"
14 %undefine with_userspace
16 %if %{without userspace}
17 # nothing to be placed to debuginfo package
18 %define _enable_debug_packages 0
22 %define arch_sufix %{nil}
25 %define arch_sufix _64a
26 %define arch_dir x86_64
29 %define pname xorg-driver-video-fglrx
30 Summary: Linux Drivers for AMD/ATI graphics accelerators
31 Summary(pl.UTF-8): Sterowniki do akceleratorów graficznych AMD/ATI
36 License: AMD Binary (parts are GPL)
38 Source0: http://dlmdownloads.ati.com/drivers/linux/amd-driver-installer-%(echo %{version} | tr . -)-x86.x86_64.run
39 # Source0-md5: 6396d0f6f70b89d605bac896feb2b7c9
40 Source1: atieventsd.init
41 Source2: atieventsd.sysconfig
43 Source4: 10-fglrx.conf
44 Source5: 10-fglrx-modules.conf
45 Patch0: %{pname}-kh.patch
46 Patch1: %{pname}-smp.patch
47 Patch2: %{pname}-x86genericarch.patch
48 Patch3: %{pname}-desktop.patch
49 Patch4: %{pname}-nofinger.patch
50 Patch5: %{pname}-GPL-only.patch
51 Patch6: %{pname}-WARN.patch
52 Patch7: %{pname}-kernel-fpu.patch
53 URL: http://ati.amd.com/support/drivers/linux/linux-radeon.html
54 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
55 BuildRequires: rpmbuild(macros) >= 1.379
56 BuildRequires: sed >= 4.0
57 Requires: %{pname}-libs = %{epoch}:%{version}-%{release}
58 Requires: xorg-xserver-server
59 Requires: xorg-xserver-server(videodrv-abi) <= 11.0
60 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
61 Suggests: %{name}-config
62 Suggests: kernel-video-firegl
63 Provides: xorg-driver-video
64 Provides: xorg-xserver-module(glx)
65 Obsoletes: X11-driver-firegl < 1:7.0.0
66 Obsoletes: XFree86-driver-firegl < 1:7.0.0
67 Obsoletes: xorg-driver-video-fglrx-libdri
68 Obsoletes: xorg-driver-video-fglrx-libglx
69 ExclusiveArch: i586 i686 athlon pentium3 pentium4 %{x8664}
70 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
72 %define _ccver %(rpm -q --qf "%{VERSION}" gcc | sed 's/\\..*//')
74 %define _noautoreqdep libGL.so.1
75 %define no_install_post_check_so 1
78 Display driver files for the ATI Radeon 8500, 9700, Mobility M9 and
79 the FireGL 8700/8800, E1, Z1/X1 graphics accelerators. This package
80 provides 2D display drivers and hardware accelerated OpenGL.
82 %description -l pl.UTF-8
83 Sterowniki do kart graficznych ATI Radeon 8500, 9700, Mobility M9 oraz
84 graficznych akceleratorów FireGL 8700/8800, E1, Z1/X1. Pakiet
85 dostarcza sterowniki obsługujące wyświetlanie 2D oraz sprzętowo
89 Summary: OpenGL (GL and GLX) ATI/AMD libraries
90 Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) ATI/AMD
91 Group: X11/Development/Libraries
92 Requires(post,postun): /sbin/ldconfig
93 # 4.0 for Radeon HD 5000 Series
94 Provides: OpenGL = 3.3
95 Provides: OpenGL-GLX = 1.4
96 Obsoletes: X11-OpenGL-core < 1:7.0.0
97 Obsoletes: X11-OpenGL-libGL < 1:7.0.0
98 Obsoletes: XFree86-OpenGL-core < 1:7.0.0
99 Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
102 ATI/AMD OpenGL (GL and GLX only) implementation libraries.
104 %description libs -l pl.UTF-8
105 Implementacja OpenGL (tylko GL i GLX) firmy ATI/AMD.
108 Summary: Header files for development for the ATI Radeon cards proprietary driver
109 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
110 Group: X11/Development/Libraries
111 Requires: %{pname}-libs = %{epoch}:%{version}-%{release}
113 Requires: xorg-proto-glproto-devel
114 # 4.0 for Radeon HD 5000 Series
115 Provides: OpenGL-GLX-devel = 1.4
116 Provides: OpenGL-devel = 3.3
117 Obsoletes: X11-OpenGL-devel-base
118 Obsoletes: XFree86-OpenGL-devel-base
121 Header files for development for the ATI proprietary driver for ATI
122 Radeon graphic cards.
124 %description devel -l pl.UTF-8
125 Pliki nagłówkowe do programowania z użyciem własnościowego sterownika
126 ATI dla kart graficznych Radeon.
129 Summary: Static libraries for development for the ATI Radeon cards proprietary driver
130 Summary(pl.UTF-8): Biblioteki statyczne do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
131 Group: X11/Development/Libraries
132 Requires: %{pname}-devel = %{epoch}:%{version}-%{release}
135 Static libraries for development for the ATI proprietary driver for
136 ATI Radeon graphic cards.
138 %description static -l pl.UTF-8
139 Biblioteki statyczne do programowania z użyciem własnościowego
140 sterownika ATI dla kart graficznych ATI Radeon.
143 Summary: ATI external events daemon
144 Summary(pl.UTF-8): Demon zewnętrznych zdarzeń ATI
146 Requires: %{pname} = %{epoch}:%{version}-%{release}
148 Requires(post,preun): /sbin/chkconfig
151 %description atieventsd
152 The ATI External Events Daemon is a user-level application that
153 monitors various system events such as ACPI or hotplug, then notifies
154 the driver via the X extensions interface that the event has occured.
156 %description atieventsd -l pl.UTF-8
157 Demon zewnętrznych zdarzeń ATI jest aplikacją monitorującą różne
158 zdarzenia systemowe, takie jak ACPI lub hotplug, a następnie
159 informującą sterownik poprzez interfejs rozszerzeń X, że zaszło
163 Summary: Xorg configuration file to use fglrx module
164 Summary(pl.UTF-8): Plik konfiguracyjny modułu fglrx dla Xorg
166 Requires: %{name} = %{epoch}:%{version}-%{release}
169 Without configuration file Xorg doesn't use fglrx module. If you want
170 to use it you should install this package or create own configuration
173 %description config -l pl.UTF-8
174 Bez odpowiedniej konfiguracji Xorg nie będzie używał modułu fglrx. Aby
175 to umożliwić należy zainstalować tą paczkę lub stworzyć własny plik
178 %package -n kernel%{_alt_kernel}-video-firegl
179 Summary: ATI kernel module for FireGL support
180 Summary(pl.UTF-8): Moduł jądra oferujący wsparcie dla ATI FireGL
181 Release: %{release}@%{_kernel_ver_str}
184 %{?with_dist_kernel:%requires_releq_kernel}
185 %if "%{_alt_kernel}" != "%{nil}"
186 Provides: kernel-video-firegl = %{epoch}:%{version}-%{release}@%{_kernel_ver_str}
188 Requires(post,postun): /sbin/depmod
190 %description -n kernel%{_alt_kernel}-video-firegl
191 ATI kernel module for FireGL support.
193 %description -n kernel%{_alt_kernel}-video-firegl -l pl.UTF-8
194 Moduł jądra oferujący wsparcie dla ATI FireGL.
199 sh %{SOURCE0} --extract .
201 cp arch/%{arch_dir}/lib/modules/fglrx/build_mod/* common/lib/modules/fglrx/build_mod
203 %if %{with dist_kernel}
214 install -d common{%{_prefix}/{%{_lib},bin,sbin},/etc}
215 cp -r %{x11ver}%{arch_sufix}/usr/X11R6/%{_lib}/* common%{_libdir}
216 mv common%{_libdir}/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
217 cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/* common%{_libdir}
218 cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/modules common%{_libdir}/xorg
219 cp -r arch/%{arch_dir}/usr/X11R6/bin/* common%{_bindir}
220 cp -r arch/%{arch_dir}/usr/bin/* common%{_bindir}
221 cp -r arch/%{arch_dir}/usr/sbin/* common%{_sbindir}
222 cp -r arch/%{arch_dir}/usr/%{_lib}/*.so* common%{_libdir}
223 mv common%{_libdir}/{fglrx/fglrx-libGL.so.1.2,libGL.so.1.2}
224 cp -r arch/%{arch_dir}/etc/* common/etc
228 cd common/lib/modules/fglrx/build_mod
229 cp -f 2.6.x/Makefile .
230 %build_kernel_modules -c -m fglrx GCC_VER_MAJ=%{_ccver}
235 rm -rf $RPM_BUILD_ROOT
238 %install_kernel_modules -m common/lib/modules/fglrx/build_mod/fglrx -d misc
241 %if %{with userspace}
242 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{ati,env.d,X11/xorg.conf.d,ld.so.conf.d} \
243 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_includedir}/GL} \
244 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/ati,%{_mandir}/man8} \
245 $RPM_BUILD_ROOT%{_libdir}/{fglrx,xorg/modules/extensions/fglrx} \
246 $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
247 $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
250 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/atieventsd
251 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/atieventsd
253 install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
254 install %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
255 sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-fglrx-modules.conf
257 cp -r common%{_datadir}/doc/fglrx/examples/etc/acpi $RPM_BUILD_ROOT/etc
258 install -p common/etc/OpenCL/vendors/*.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
260 install common%{_bindir}/* $RPM_BUILD_ROOT%{_bindir}
261 install common/usr/X11R6/bin/* $RPM_BUILD_ROOT%{_bindir}
262 install common%{_sbindir}/* $RPM_BUILD_ROOT%{_sbindir}
264 rm $RPM_BUILD_ROOT%{_sbindir}/atigetsysteminfo.sh
266 cp -r common%{_libdir}/modules/* $RPM_BUILD_ROOT%{_libdir}/xorg/modules
267 ln -s %{_libdir}/xorg/modules/dri $RPM_BUILD_ROOT%{_libdir}
268 cp -r common%{_sysconfdir}/ati/control $RPM_BUILD_ROOT%{_sysconfdir}/ati/control
269 cp -r common%{_sysconfdir}/ati/signature $RPM_BUILD_ROOT%{_sysconfdir}/ati/signature
270 cp -r common%{_sysconfdir}/ati/amdpcsdb.default $RPM_BUILD_ROOT%{_sysconfdir}/ati/amdpcsdb.default
271 cp -r common%{_sysconfdir}/ati/atiogl.xml $RPM_BUILD_ROOT%{_sysconfdir}/ati/atiogl.xml
273 cp -r common%{_datadir}/ati/* $RPM_BUILD_ROOT%{_datadir}/ati
274 cp -r common%{_datadir}/icons/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
276 cp -r common%{_desktopdir}/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
278 cp -r common%{_mandir}/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
280 echo %{_libdir}/fglrx >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx.conf
282 cp -r common%{_libdir}/lib* $RPM_BUILD_ROOT%{_libdir}/fglrx
284 mv -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/{,fglrx}/libglx.so
286 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/fglrx
287 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/fglrx/libGL.so
288 ln -sf libfglrx_dm.so.*.* $RPM_BUILD_ROOT%{_libdir}/fglrx/libfglrx_dm.so
290 install common%{_includedir}/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
291 echo "LIBGL_DRIVERS_PATH=%{_libdir}/xorg/modules/dri" > $RPM_BUILD_ROOT%{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
293 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
294 %{__sed} -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
295 > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
298 rm -rf $RPM_BUILD_ROOT
300 %post libs -p /sbin/ldconfig
301 %postun libs -p /sbin/ldconfig
304 /sbin/chkconfig --add atieventsd
305 %service atieventsd restart
308 if [ "$1" = "0" ]; then
309 %service -q atieventsd stop
310 /sbin/chkconfig --del atieventsd
313 %post -n kernel%{_alt_kernel}-video-firegl
314 %depmod %{_kernel_ver}
316 %postun -n kernel%{_alt_kernel}-video-firegl
317 %depmod %{_kernel_ver}
319 %if %{with userspace}
321 %defattr(644,root,root,755)
322 %doc LICENSE.TXT common%{_docdir}/fglrx/*.html common%{_docdir}/fglrx/articles common%{_docdir}/fglrx/user-manual
323 %dir %{_sysconfdir}/ati
324 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/control
325 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/signature
326 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/amdpcsdb.default
327 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/atiogl.xml
328 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
329 %attr(755,root,root) %{_bindir}/*
330 %attr(755,root,root) %{_sbindir}/amdnotifyui
331 %{_desktopdir}/*.desktop
334 %dir %{_libdir}/xorg/modules/extensions/fglrx
335 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/fglrx/libglx.so
337 %attr(755,root,root) %{_libdir}/xorg/modules/dri/fglrx_dri.so
338 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/fglrx_drv.so
339 %dir %{_libdir}/xorg/modules/linux
340 %attr(755,root,root) %{_libdir}/xorg/modules/linux/libfglrxdrm.so
341 %attr(755,root,root) %{_libdir}/xorg/modules/amdxmm.so
342 %attr(755,root,root) %{_libdir}/xorg/modules/glesx.so
345 %defattr(644,root,root,755)
346 %dir %{_sysconfdir}/OpenCL
347 %dir %{_sysconfdir}/OpenCL/vendors
348 %{_sysconfdir}/OpenCL/vendors/*.icd
349 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/fglrx.conf
350 %dir %{_libdir}/fglrx
351 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.*.*
352 %attr(755,root,root) %ghost %{_libdir}/fglrx/libAMDXvBA.so.1
353 %attr(755,root,root) %{_libdir}/fglrx/libOpenCL.so.1
354 %attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerAg.so
356 %attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerBe.so
358 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.*.*
359 %attr(755,root,root) %ghost %{_libdir}/fglrx/libXvBAW.so.1
360 %{_libdir}/fglrx/libAMDXvBA.cap
361 %attr(755,root,root) %{_libdir}/fglrx/libamdocl*.so
362 %attr(755,root,root) %{_libdir}/fglrx/libatiadlxx.so
363 %attr(755,root,root) %{_libdir}/fglrx/libaticalcl.so
364 %attr(755,root,root) %{_libdir}/fglrx/libaticaldd.so
365 %attr(755,root,root) %{_libdir}/fglrx/libaticalrt.so
366 %attr(755,root,root) %{_libdir}/fglrx/libatiuki.so.*.*
367 %attr(755,root,root) %ghost %{_libdir}/fglrx/libatiuki.so.1
368 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.*.*
369 %attr(755,root,root) %ghost %{_libdir}/fglrx/libGL.so.1
370 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so.*.*
373 %defattr(644,root,root,755)
374 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so
375 %attr(755,root,root) %{_libdir}/fglrx/libGL.so
377 %{_pkgconfigdir}/gl.pc
380 %defattr(644,root,root,755)
381 %{_libdir}/fglrx/libfglrx_dm.a
384 %defattr(644,root,root,755)
385 %attr(754,root,root) /etc/rc.d/init.d/atieventsd
386 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/atieventsd
387 %attr(755,root,root) %{_sbindir}/atieventsd
388 %attr(755,root,root) %{_sysconfdir}/acpi/ati-powermode.sh
389 %{_sysconfdir}/acpi/events/*
390 %{_mandir}/man8/atieventsd.8*
393 %defattr(644,root,root,755)
394 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx.conf
395 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx-modules.conf
399 %files -n kernel%{_alt_kernel}-video-firegl
400 %defattr(644,root,root,755)
401 /lib/modules/%{_kernel_ver}/misc/*.ko*