2 # - /usr/lib64/fglrx/libSlotMaximizerBe.so
5 %bcond_without dist_kernel # without distribution kernel
6 %bcond_without kernel # don't build kernel modules
7 %bcond_without userspace # don't build userspace tools
8 %bcond_with verbose # verbose build (V=1)
13 %undefine with_dist_kernel
15 %if "%{_alt_kernel}" != "%{nil}"
16 %undefine with_userspace
18 %if %{without userspace}
19 # nothing to be placed to debuginfo package
20 %define _enable_debug_packages 0
24 %define arch_sufix %{nil}
27 %define arch_sufix _64a
28 %define arch_dir x86_64
32 %define pname xorg-driver-video-fglrx-legacy
33 Summary: Linux Drivers for AMD graphics accelerators
34 Summary(pl.UTF-8): Sterowniki do akceleratorów graficznych AMD
35 Name: %{pname}%{_alt_kernel}
38 License: AMD Binary (parts are GPL)
40 # Download http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx?type=2.4.1&product=2.4.1.3.42&lang=English
41 # or go to http://support.amd.com/ click through "download drivers", desktop -> radeon hd -> 4xxx -> linux
42 Source0: http://www2.ati.com/drivers/legacy/amd-driver-installer-catalyst-%{version}-legacy-linux-x86.x86_64.zip
43 # Source0-md5: c07fd1332abe4c742a9a0d0e0d0a90de
44 Source1: atieventsd.init
45 Source2: atieventsd.sysconfig
47 Source4: 10-fglrx.conf
48 Source5: 10-fglrx-modules.conf
49 Patch0: xorg-driver-video-fglrx-kh.patch
50 Patch1: xorg-driver-video-fglrx-smp.patch
51 Patch2: xorg-driver-video-fglrx-x86genericarch.patch
52 Patch3: xorg-driver-video-fglrx-desktop.patch
53 Patch4: xorg-driver-video-fglrx-nofinger.patch
54 Patch5: xorg-driver-video-fglrx-GPL-only.patch
55 Patch6: xorg-driver-video-fglrx-kernel-fpu.patch
56 Patch7: linux-3.5.0-missing_do_mmap.patch
57 Patch8: linux-3.7.patch
58 URL: http://ati.amd.com/support/drivers/linux/linux-radeon.html
59 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
60 BuildRequires: rpmbuild(macros) >= 1.379
61 BuildRequires: sed >= 4.0
62 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
63 Requires: xorg-xserver-server
64 Requires: xorg-xserver-server(videodrv-abi) <= 12.1
65 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
66 Suggests: kernel-video-firegl
67 Provides: xorg-driver-video
68 Provides: xorg-xserver-module(glx)
69 Obsoletes: X11-driver-firegl < 1:7.0.0
70 Obsoletes: XFree86-driver-firegl < 1:7.0.0
71 Obsoletes: xorg-driver-video-fglrx-config
72 Obsoletes: xorg-driver-video-fglrx-legace-12.x
73 Obsoletes: xorg-driver-video-fglrx-libdri
74 Obsoletes: xorg-driver-video-fglrx-libglx
75 ExclusiveArch: i586 i686 athlon pentium3 pentium4 %{x8664}
76 BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
78 %define _ccver %(rpm -q --qf "%{VERSION}" gcc | sed 's/\\..*//')
80 %define _noautoreqdep libGL.so.1
81 %define no_install_post_check_so 1
84 AMD Display driver for the Radeon HD 2000/3000/4000
86 This package provides 2D display drivers and hardware accelerated
89 %description -l pl.UTF-8
90 Sterownik AMD do kart graficznych Radeon HD 2000/3000/4000
92 Pakiet dostarcza sterowniki obsługujące wyświetlanie 2D oraz sprzętowo
96 Summary: OpenGL (GL and GLX) AMD libraries
97 Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) AMD
98 Group: X11/Development/Libraries
99 Requires(post,postun): /sbin/ldconfig
100 # 4.0 for Radeon HD 5000 Series
101 Provides: OpenGL = 3.3
102 Provides: OpenGL-GLX = 1.4
103 Obsoletes: X11-OpenGL-core < 1:7.0.0
104 Obsoletes: X11-OpenGL-libGL < 1:7.0.0
105 Obsoletes: XFree86-OpenGL-core < 1:7.0.0
106 Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
107 Obsoletes: xorg-driver-video-fglrx-legacy-12.x-libs
110 AMD OpenGL (GL and GLX only) implementation libraries.
112 %description libs -l pl.UTF-8
113 Implementacja OpenGL (tylko GL i GLX) firmy AMD.
116 Summary: Header files for development for the AMD Radeon cards proprietary driver
117 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem własnościowego sterownika dla kart AMD Radeon
118 Group: X11/Development/Libraries
119 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
121 Requires: xorg-proto-glproto-devel
122 # 4.0 for Radeon HD 5000 Series
123 Provides: OpenGL-GLX-devel = 1.4
124 Provides: OpenGL-devel = 3.3
125 Obsoletes: X11-OpenGL-devel-base
126 Obsoletes: XFree86-OpenGL-devel-base
127 Obsoletes: xorg-driver-video-fglrx-legacy-12.x-devel
130 Header files for development for the AMD proprietary driver for AMD
131 Radeon graphic cards.
133 %description devel -l pl.UTF-8
134 Pliki nagłówkowe do programowania z użyciem własnościowego sterownika
135 AMD dla kart graficznych Radeon.
138 Summary: Static libraries for development for the AMD Radeon cards proprietary driver
139 Summary(pl.UTF-8): Biblioteki statyczne do programowania z użyciem własnościowego sterownika dla kart AMD Radeon
140 Group: X11/Development/Libraries
141 Requires: %{pname}-devel = %{epoch}:%{version}-%{rel}
142 Obsoletes: xorg-driver-video-fglrx-legacy-12.x-static
145 Static libraries for development for the AMD proprietary driver for
146 AMD Radeon graphic cards.
148 %description static -l pl.UTF-8
149 Biblioteki statyczne do programowania z użyciem własnościowego
150 sterownika AMD dla kart graficznych AMD Radeon.
153 Summary: AMD external events daemon
154 Summary(pl.UTF-8): Demon zewnętrznych zdarzeń AMD
156 Requires: %{pname} = %{epoch}:%{version}-%{rel}
158 Requires(post,preun): /sbin/chkconfig
160 Obsoletes: xorg-driver-video-fglrx-legacy-12.x-atieventsd
162 %description atieventsd
163 The AMD External Events Daemon is a user-level application that
164 monitors various system events such as ACPI or hotplug, then notifies
165 the driver via the X extensions interface that the event has occured.
167 %description atieventsd -l pl.UTF-8
168 Demon zewnętrznych zdarzeń AMD jest aplikacją monitorującą różne
169 zdarzenia systemowe, takie jak ACPI lub hotplug, a następnie
170 informującą sterownik poprzez interfejs rozszerzeń X, że zaszło
173 %package -n kernel%{_alt_kernel}-video-firegl-legacy
174 Summary: AMD kernel module for FireGL support
175 Summary(pl.UTF-8): Moduł jądra oferujący wsparcie dla AMD FireGL
176 Release: %{rel}@%{_kernel_ver_str}
179 %{?with_dist_kernel:%requires_releq_kernel}
180 %if "%{_alt_kernel}" != "%{nil}"
181 Provides: kernel-video-firegl = %{epoch}:%{version}-%{rel}@%{_kernel_ver_str}
183 Obsoletes: kernel%{_alt_kernel}-video-firegl-legacy-12.x
184 Requires(post,postun): /sbin/depmod
186 %description -n kernel%{_alt_kernel}-video-firegl-legacy
187 AMD kernel module for FireGL support.
189 %description -n kernel%{_alt_kernel}-video-firegl-legacy -l pl.UTF-8
190 Moduł jądra oferujący wsparcie dla AMD FireGL.
196 sh amd-driver-installer-catalyst-%{version}-legacy-linux-x86.x86_64.run --extract .
198 cp -p arch/%{arch_dir}/lib/modules/fglrx/build_mod/* common/lib/modules/fglrx/build_mod
200 %if %{with dist_kernel}
212 install -d common{%{_prefix}/{%{_lib},bin,sbin},/etc}
213 cp -a %{x11ver}%{arch_sufix}/usr/X11R6/%{_lib}/* common%{_libdir}
214 mv common%{_libdir}/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
215 cp -a arch/%{arch_dir}/usr/X11R6/%{_lib}/* common%{_libdir}
216 cp -a arch/%{arch_dir}/usr/X11R6/%{_lib}/modules common%{_libdir}/xorg
217 cp -a arch/%{arch_dir}/usr/X11R6/bin/* common%{_bindir}
218 cp -a arch/%{arch_dir}/usr/bin/* common%{_bindir}
219 cp -a arch/%{arch_dir}/usr/sbin/* common%{_sbindir}
220 cp -a arch/%{arch_dir}/usr/%{_lib}/*.so* common%{_libdir}
221 mv common%{_libdir}/{fglrx/fglrx-libGL.so.1.2,libGL.so.1.2}
222 cp -a arch/%{arch_dir}/etc/* common/etc
226 cd common/lib/modules/fglrx/build_mod
227 cp -pf 2.6.x/Makefile .
228 %build_kernel_modules -c -m fglrx GCC_VER_MAJ=%{_ccver}
233 rm -rf $RPM_BUILD_ROOT
236 %install_kernel_modules -m common/lib/modules/fglrx/build_mod/fglrx -d misc
239 %if %{with userspace}
240 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{ati,env.d,X11/xorg.conf.d,ld.so.conf.d} \
241 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_includedir}/GL} \
242 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/ati,%{_mandir}/man8} \
243 $RPM_BUILD_ROOT%{_libdir}/{fglrx,xorg/modules/extensions/fglrx} \
244 $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
245 $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
247 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/atieventsd
248 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/atieventsd
250 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
251 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
252 sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-fglrx-modules.conf
254 cp -a common%{_datadir}/doc/fglrx/examples/etc/acpi $RPM_BUILD_ROOT/etc
255 install -p common/etc/OpenCL/vendors/*.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
257 install -p common%{_bindir}/* $RPM_BUILD_ROOT%{_bindir}
258 install -p common/usr/X11R6/bin/* $RPM_BUILD_ROOT%{_bindir}
259 install -p common%{_sbindir}/* $RPM_BUILD_ROOT%{_sbindir}
261 rm $RPM_BUILD_ROOT%{_sbindir}/atigetsysteminfo.sh
263 cp -a common%{_libdir}/modules/* $RPM_BUILD_ROOT%{_libdir}/xorg/modules
264 ln -s %{_libdir}/xorg/modules/dri $RPM_BUILD_ROOT%{_libdir}
265 cp -a common%{_sysconfdir}/ati/control $RPM_BUILD_ROOT%{_sysconfdir}/ati/control
266 cp -a common%{_sysconfdir}/ati/signature $RPM_BUILD_ROOT%{_sysconfdir}/ati/signature
267 cp -a common%{_sysconfdir}/ati/amdpcsdb.default $RPM_BUILD_ROOT%{_sysconfdir}/ati/amdpcsdb.default
268 cp -a common%{_sysconfdir}/ati/atiogl.xml $RPM_BUILD_ROOT%{_sysconfdir}/ati/atiogl.xml
270 cp -a common%{_datadir}/ati/* $RPM_BUILD_ROOT%{_datadir}/ati
271 cp -a common%{_datadir}/icons/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
273 cp -r common%{_desktopdir}/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
275 cp -a common%{_mandir}/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
278 echo %{_libdir}/fglrx > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx64.conf
280 echo %{_libdir}/fglrx > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx.conf
283 cp -a common%{_libdir}/lib* $RPM_BUILD_ROOT%{_libdir}/fglrx
285 mv -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/{,fglrx}/libglx.so
287 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/fglrx
288 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/fglrx/libGL.so
289 ln -sf libfglrx_dm.so.*.* $RPM_BUILD_ROOT%{_libdir}/fglrx/libfglrx_dm.so
291 cp -p common%{_includedir}/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
292 echo "LIBGL_DRIVERS_PATH=%{_libdir}/xorg/modules/dri" > $RPM_BUILD_ROOT%{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
294 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
295 %{__sed} -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
296 > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
300 rm -rf $RPM_BUILD_ROOT
302 %post libs -p /sbin/ldconfig
303 %postun libs -p /sbin/ldconfig
306 /sbin/chkconfig --add atieventsd
307 %service atieventsd restart
310 if [ "$1" = "0" ]; then
311 %service -q atieventsd stop
312 /sbin/chkconfig --del atieventsd
315 %post -n kernel%{_alt_kernel}-video-firegl-legacy
316 %depmod %{_kernel_ver}
318 %postun -n kernel%{_alt_kernel}-video-firegl-legacy
319 %depmod %{_kernel_ver}
321 %if %{with userspace}
323 %defattr(644,root,root,755)
324 %doc LICENSE.TXT common%{_docdir}/fglrx/*.html common%{_docdir}/fglrx/articles common%{_docdir}/fglrx/user-manual
325 %dir %{_sysconfdir}/ati
326 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/control
327 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/signature
328 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/amdpcsdb.default
329 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/atiogl.xml
330 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
331 %attr(755,root,root) %{_bindir}/*
332 %attr(755,root,root) %{_sbindir}/amdnotifyui
333 %{_desktopdir}/*.desktop
336 %dir %{_libdir}/xorg/modules/extensions/fglrx
337 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/fglrx/libglx.so
339 %attr(755,root,root) %{_libdir}/xorg/modules/dri/fglrx_dri.so
340 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/fglrx_drv.so
341 %dir %{_libdir}/xorg/modules/linux
342 %attr(755,root,root) %{_libdir}/xorg/modules/linux/libfglrxdrm.so
343 %attr(755,root,root) %{_libdir}/xorg/modules/amdxmm.so
344 %attr(755,root,root) %{_libdir}/xorg/modules/glesx.so
345 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx.conf
346 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx-modules.conf
349 %defattr(644,root,root,755)
350 %dir %{_sysconfdir}/OpenCL
351 %dir %{_sysconfdir}/OpenCL/vendors
352 %{_sysconfdir}/OpenCL/vendors/*.icd
353 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/fglrx*.conf
354 %dir %{_libdir}/fglrx
355 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.*.*
356 %attr(755,root,root) %ghost %{_libdir}/fglrx/libAMDXvBA.so.1
357 %attr(755,root,root) %{_libdir}/fglrx/libOpenCL.so.1
358 %attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerAg.so
360 %attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerBe.so
362 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.*.*
363 %attr(755,root,root) %ghost %{_libdir}/fglrx/libXvBAW.so.1
364 %{_libdir}/fglrx/libAMDXvBA.cap
365 %attr(755,root,root) %{_libdir}/fglrx/libamdocl*.so
366 %attr(755,root,root) %{_libdir}/fglrx/libatiadlxx.so
367 %attr(755,root,root) %{_libdir}/fglrx/libaticalcl.so
368 %attr(755,root,root) %{_libdir}/fglrx/libaticaldd.so
369 %attr(755,root,root) %{_libdir}/fglrx/libaticalrt.so
370 %attr(755,root,root) %{_libdir}/fglrx/libatiuki.so.*.*
371 %attr(755,root,root) %ghost %{_libdir}/fglrx/libatiuki.so.1
372 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.*.*
373 %attr(755,root,root) %ghost %{_libdir}/fglrx/libGL.so.1
374 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so.*.*
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so
379 %attr(755,root,root) %{_libdir}/fglrx/libGL.so
381 %{_pkgconfigdir}/gl.pc
384 %defattr(644,root,root,755)
385 %{_libdir}/fglrx/libfglrx_dm.a
388 %defattr(644,root,root,755)
389 %attr(754,root,root) /etc/rc.d/init.d/atieventsd
390 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/atieventsd
391 %attr(755,root,root) %{_sbindir}/atieventsd
392 %attr(755,root,root) %{_sysconfdir}/acpi/ati-powermode.sh
393 %{_sysconfdir}/acpi/events/*
394 %{_mandir}/man8/atieventsd.8*
398 %files -n kernel%{_alt_kernel}-video-firegl-legacy
399 %defattr(644,root,root,755)
400 /lib/modules/%{_kernel_ver}/misc/*.ko*