2 %bcond_without dist_kernel # without distribution kernel
3 %bcond_without kernel # don't build kernel modules
4 %bcond_without userspace # don't build userspace tools
5 %bcond_with verbose # verbose build (V=1)
10 %undefine with_dist_kernel
12 %if "%{_alt_kernel}" != "%{nil}"
13 %undefine with_userspace
15 %if %{without userspace}
16 # nothing to be placed to debuginfo package
17 %define _enable_debug_packages 0
21 %define arch_sufix %{nil}
24 %define arch_sufix _64a
25 %define arch_dir x86_64
31 %define pname xorg-driver-video-fglrx
32 Summary: Linux Drivers for AMD/ATI graphics accelerators
33 Summary(pl.UTF-8): Sterowniki do akceleratorów graficznych AMD/ATI
34 Name: %{pname}%{_alt_kernel}
38 License: AMD Binary (parts are GPL)
40 # http://support.amd.com/ click through "download drivers", desktop -> radeon hd -> 7xxx -> linux
41 Source0: http://www2.ati.com/drivers/linux/amd-catalyst-%{version}-linux-x86.x86_64.zip
42 # Source0-md5: 558bd1b31173b06b25da647a7112e734
43 Source1: atieventsd.init
44 Source2: atieventsd.sysconfig
46 Source4: 10-fglrx.conf
47 Source5: 10-fglrx-modules.conf
48 Patch0: %{pname}-kh.patch
49 Patch1: %{pname}-smp.patch
50 Patch2: %{pname}-x86genericarch.patch
51 Patch3: %{pname}-desktop.patch
52 Patch4: %{pname}-nofinger.patch
53 Patch5: %{pname}-GPL-only.patch
54 Patch7: %{pname}-kernel-fpu.patch
55 Patch8: linux-3.7.patch
56 URL: http://ati.amd.com/support/drivers/linux/linux-radeon.html
57 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
58 BuildRequires: rpmbuild(macros) >= 1.659
59 BuildRequires: sed >= 4.0
60 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
61 Requires: xorg-xserver-server
62 Requires: xorg-xserver-server(videodrv-abi) <= 13.1
63 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
64 Suggests: kernel-video-firegl
65 Provides: xorg-driver-video
66 Provides: xorg-xserver-module(glx)
67 Obsoletes: X11-driver-firegl < 1:7.0.0
68 Obsoletes: XFree86-driver-firegl < 1:7.0.0
69 Obsoletes: xorg-driver-video-fglrx-config
70 Obsoletes: xorg-driver-video-fglrx-libdri
71 Obsoletes: xorg-driver-video-fglrx-libglx
72 ExclusiveArch: i586 i686 athlon pentium3 pentium4 %{x8664}
73 BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
75 %define _ccver %(rpm -q --qf "%{VERSION}" gcc | sed 's/\\..*//')
77 %define _noautoreqdep libGL.so.1
78 %define no_install_post_check_so 1
81 AMD display driver which allows for hardware accelerated rendering
82 with ATI Mobility, FireGL and Desktop GPUs. Some of the Desktop and
83 Mobility GPUs supported are the Radeon HD 5xxx series to the
84 Radeon HD 7xxx series.
86 %description -l pl.UTF-8
87 Sterownik AMD umożliwiający sprzętowo akcelerowany rendering do kart
88 graficznych ATI Mobility, FireGL i Desktopowych. Niektóre ze
89 wspieranych Desktopowych i Mobilnych kart to Radeon HD 5xxx do
93 Summary: OpenGL (GL and GLX) ATI/AMD libraries
94 Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) ATI/AMD
95 Group: X11/Development/Libraries
96 Requires(post,postun): /sbin/ldconfig
97 # 4.0 for Radeon HD 5000 Series
98 Provides: OpenGL = 3.3
99 Provides: OpenGL-GLX = 1.4
100 Obsoletes: X11-OpenGL-core < 1:7.0.0
101 Obsoletes: X11-OpenGL-libGL < 1:7.0.0
102 Obsoletes: XFree86-OpenGL-core < 1:7.0.0
103 Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
106 ATI/AMD OpenGL (GL and GLX only) implementation libraries.
108 %description libs -l pl.UTF-8
109 Implementacja OpenGL (tylko GL i GLX) firmy ATI/AMD.
112 Summary: Header files for development for the ATI Radeon cards proprietary driver
113 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
114 Group: X11/Development/Libraries
115 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
117 Requires: xorg-proto-glproto-devel
118 # 4.0 for Radeon HD 5000 Series
119 Provides: OpenGL-GLX-devel = 1.4
120 Provides: OpenGL-devel = 3.3
121 Obsoletes: X11-OpenGL-devel-base
122 Obsoletes: XFree86-OpenGL-devel-base
125 Header files for development for the ATI proprietary driver for ATI
126 Radeon graphic cards.
128 %description devel -l pl.UTF-8
129 Pliki nagłówkowe do programowania z użyciem własnościowego sterownika
130 ATI dla kart graficznych Radeon.
133 Summary: Static libraries for development for the ATI Radeon cards proprietary driver
134 Summary(pl.UTF-8): Biblioteki statyczne do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
135 Group: X11/Development/Libraries
136 Requires: %{pname}-devel = %{epoch}:%{version}-%{rel}
139 Static libraries for development for the ATI proprietary driver for
140 ATI Radeon graphic cards.
142 %description static -l pl.UTF-8
143 Biblioteki statyczne do programowania z użyciem własnościowego
144 sterownika ATI dla kart graficznych ATI Radeon.
147 Summary: ATI external events daemon
148 Summary(pl.UTF-8): Demon zewnętrznych zdarzeń ATI
150 Requires: %{pname} = %{epoch}:%{version}-%{rel}
152 Requires(post,preun): /sbin/chkconfig
155 %description atieventsd
156 The ATI External Events Daemon is a user-level application that
157 monitors various system events such as ACPI or hotplug, then notifies
158 the driver via the X extensions interface that the event has occured.
160 %description atieventsd -l pl.UTF-8
161 Demon zewnętrznych zdarzeń ATI jest aplikacją monitorującą różne
162 zdarzenia systemowe, takie jak ACPI lub hotplug, a następnie
163 informującą sterownik poprzez interfejs rozszerzeń X, że zaszło
166 %package -n kernel%{_alt_kernel}-video-firegl
167 Summary: ATI kernel module for FireGL support
168 Summary(pl.UTF-8): Moduł jądra oferujący wsparcie dla ATI FireGL
169 Release: %{rel}@%{_kernel_ver_str}
172 %{?with_dist_kernel:%requires_releq_kernel}
173 %if "%{_alt_kernel}" != "%{nil}"
174 Provides: kernel-video-firegl = %{epoch}:%{version}-%{rel}@%{_kernel_ver_str}
176 Requires(post,postun): /sbin/depmod
178 %description -n kernel%{_alt_kernel}-video-firegl
179 ATI kernel module for FireGL support.
181 %description -n kernel%{_alt_kernel}-video-firegl -l pl.UTF-8
182 Moduł jądra oferujący wsparcie dla ATI FireGL.
188 #sh %{SOURCE0} --extract .
189 sh amd-catalyst-%{version}-linux-x86.x86_64.run --extract .
191 cp -p arch/%{arch_dir}/lib/modules/fglrx/build_mod/* common/lib/modules/fglrx/build_mod
193 %if %{with dist_kernel}
204 install -d common{%{_prefix}/{%{_lib},bin,sbin},/etc}
205 cp -a %{x11ver}%{arch_sufix}/usr/X11R6/%{_lib}/* common%{_libdir}
206 mv common%{_libdir}/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
207 cp -a arch/%{arch_dir}/usr/X11R6/%{_lib}/* common%{_libdir}
208 cp -a arch/%{arch_dir}/usr/X11R6/%{_lib}/modules common%{_libdir}/xorg
209 cp -a arch/%{arch_dir}/usr/X11R6/bin/* common%{_bindir}
210 cp -a arch/%{arch_dir}/usr/bin/* common%{_bindir}
211 cp -a arch/%{arch_dir}/usr/sbin/* common%{_sbindir}
212 cp -a arch/%{arch_dir}/usr/%{_lib}/*.so* common%{_libdir}
213 mv common%{_libdir}/{fglrx/fglrx-libGL.so.1.2,libGL.so.1.2}
214 cp -a arch/%{arch_dir}/etc/* common/etc
218 cd common/lib/modules/fglrx/build_mod
219 cp -pf 2.6.x/Makefile .
220 %build_kernel_modules -c -m fglrx GCC_VER_MAJ=%{_ccver}
225 rm -rf $RPM_BUILD_ROOT
228 %install_kernel_modules -m common/lib/modules/fglrx/build_mod/fglrx -d misc
231 %if %{with userspace}
232 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{ati,env.d,X11/xorg.conf.d,ld.so.conf.d} \
233 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_includedir}/GL} \
234 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/ati,%{_mandir}/man8} \
235 $RPM_BUILD_ROOT%{_libdir}/{fglrx,xorg/modules/extensions/fglrx} \
236 $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
237 $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
239 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/atieventsd
240 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/atieventsd
242 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
243 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
244 sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-fglrx-modules.conf
246 cp -a common%{_datadir}/doc/fglrx/examples/etc/acpi $RPM_BUILD_ROOT/etc
247 install -p common/etc/OpenCL/vendors/*.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
249 install -p common%{_bindir}/* $RPM_BUILD_ROOT%{_bindir}
250 install -p common/usr/X11R6/bin/* $RPM_BUILD_ROOT%{_bindir}
251 install -p common%{_sbindir}/* $RPM_BUILD_ROOT%{_sbindir}
253 rm $RPM_BUILD_ROOT%{_sbindir}/atigetsysteminfo.sh
255 cp -a common%{_libdir}/modules/* $RPM_BUILD_ROOT%{_libdir}/xorg/modules
256 ln -s %{_libdir}/xorg/modules/dri $RPM_BUILD_ROOT%{_libdir}
257 cp -a common%{_sysconfdir}/ati/control $RPM_BUILD_ROOT%{_sysconfdir}/ati/control
258 cp -a common%{_sysconfdir}/ati/signature $RPM_BUILD_ROOT%{_sysconfdir}/ati/signature
259 cp -a common%{_sysconfdir}/ati/amdpcsdb.default $RPM_BUILD_ROOT%{_sysconfdir}/ati/amdpcsdb.default
260 cp -a common%{_sysconfdir}/ati/atiogl.xml $RPM_BUILD_ROOT%{_sysconfdir}/ati/atiogl.xml
262 cp -a common%{_datadir}/ati/* $RPM_BUILD_ROOT%{_datadir}/ati
263 cp -a common%{_datadir}/icons/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
265 cp -r common%{_desktopdir}/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
267 cp -a common%{_mandir}/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
270 echo %{_libdir}/fglrx > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx64.conf
272 echo %{_libdir}/fglrx > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx.conf
275 cp -a common%{_libdir}/lib* $RPM_BUILD_ROOT%{_libdir}/fglrx
277 mv -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/{,fglrx}/libglx.so
279 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/fglrx
280 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/fglrx/libGL.so
281 ln -sf libfglrx_dm.so.*.* $RPM_BUILD_ROOT%{_libdir}/fglrx/libfglrx_dm.so
283 cp -p common%{_includedir}/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
284 echo "LIBGL_DRIVERS_PATH=%{_libdir}/xorg/modules/dri" > $RPM_BUILD_ROOT%{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
286 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
287 %{__sed} -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
288 > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
292 rm -rf $RPM_BUILD_ROOT
294 %post libs -p /sbin/ldconfig
295 %postun libs -p /sbin/ldconfig
298 /sbin/chkconfig --add atieventsd
299 %service atieventsd restart
302 if [ "$1" = "0" ]; then
303 %service -q atieventsd stop
304 /sbin/chkconfig --del atieventsd
307 %post -n kernel%{_alt_kernel}-video-firegl
308 %depmod %{_kernel_ver}
310 %postun -n kernel%{_alt_kernel}-video-firegl
311 %depmod %{_kernel_ver}
313 %if %{with userspace}
315 %defattr(644,root,root,755)
316 %doc LICENSE.TXT common%{_docdir}/fglrx/*.html common%{_docdir}/fglrx/articles common%{_docdir}/fglrx/user-manual
317 %dir %{_sysconfdir}/ati
318 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/control
319 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/signature
320 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/amdpcsdb.default
321 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/atiogl.xml
322 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
323 %attr(755,root,root) %{_bindir}/*
324 %attr(755,root,root) %{_sbindir}/amdnotifyui
325 %{_desktopdir}/*.desktop
328 %dir %{_libdir}/xorg/modules/extensions/fglrx
329 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/fglrx/libglx.so
331 %attr(755,root,root) %{_libdir}/xorg/modules/dri/fglrx_dri.so
332 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/fglrx_drv.so
333 %dir %{_libdir}/xorg/modules/linux
334 %attr(755,root,root) %{_libdir}/xorg/modules/linux/libfglrxdrm.so
335 %attr(755,root,root) %{_libdir}/xorg/modules/amdxmm.so
336 %attr(755,root,root) %{_libdir}/xorg/modules/glesx.so
337 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx.conf
338 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx-modules.conf
341 %defattr(644,root,root,755)
342 %dir %{_sysconfdir}/OpenCL
343 %dir %{_sysconfdir}/OpenCL/vendors
344 %{_sysconfdir}/OpenCL/vendors/*.icd
345 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/fglrx*.conf
346 %dir %{_libdir}/fglrx
347 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.*.*
348 %attr(755,root,root) %ghost %{_libdir}/fglrx/libAMDXvBA.so.1
349 %attr(755,root,root) %{_libdir}/fglrx/libOpenCL.so.1
350 %attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerAg.so
351 %attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerBe.so
352 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.*.*
353 %attr(755,root,root) %ghost %{_libdir}/fglrx/libXvBAW.so.1
354 %{_libdir}/fglrx/libAMDXvBA.cap
355 %attr(755,root,root) %{_libdir}/fglrx/libamdocl*.so
356 %attr(755,root,root) %{_libdir}/fglrx/libamdsc*.so
357 %attr(755,root,root) %{_libdir}/fglrx/libatiadlxx.so
358 %attr(755,root,root) %{_libdir}/fglrx/libaticalcl.so
359 %attr(755,root,root) %{_libdir}/fglrx/libaticaldd.so
360 %attr(755,root,root) %{_libdir}/fglrx/libaticalrt.so
361 %attr(755,root,root) %{_libdir}/fglrx/libatiuki.so.*.*
362 %attr(755,root,root) %ghost %{_libdir}/fglrx/libatiuki.so.1
363 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.*.*
364 %attr(755,root,root) %ghost %{_libdir}/fglrx/libGL.so.1
365 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so.*.*
368 %defattr(644,root,root,755)
369 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so
370 %attr(755,root,root) %{_libdir}/fglrx/libGL.so
372 %{_pkgconfigdir}/gl.pc
375 %defattr(644,root,root,755)
376 %{_libdir}/fglrx/libfglrx_dm.a
379 %defattr(644,root,root,755)
380 %attr(754,root,root) /etc/rc.d/init.d/atieventsd
381 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/atieventsd
382 %attr(755,root,root) %{_sbindir}/atieventsd
383 %attr(755,root,root) %{_sysconfdir}/acpi/ati-powermode.sh
384 %{_sysconfdir}/acpi/events/*
385 %{_mandir}/man8/atieventsd.8*
389 %files -n kernel%{_alt_kernel}-video-firegl
390 %defattr(644,root,root,755)
391 /lib/modules/%{_kernel_ver}/misc/*.ko*