I made some improvements to the Fedora packaging script, which will hopefully make it into a future release. I have Catalyst 9.3 working nicely on Fedora 10.
Disclaimers:
1) I build my own kernels from vanilla sources (currently 2.6.28.9), so I don't know if any of the "KMS" patches affect anything.
2) I also don't use Plymouth
3) xorg-x11-server-Xorg contains xorg extensions with the same names as ones provided by the Catalyst driver (libdri.so and libglx.so); if that package gets updated, you will have to fix up the symlinks to point to the *.fgl.so versions. On my system at least, Catalyst 9.3 locks up the system when the xorg versions of these are present (naughty, bad AMD!).
I do NOT have any back-leveled packages; they are the current updates for Fedora 10.
Disclaimers:
1) I build my own kernels from vanilla sources (currently 2.6.28.9), so I don't know if any of the "KMS" patches affect anything.
2) I also don't use Plymouth
3) xorg-x11-server-Xorg contains xorg extensions with the same names as ones provided by the Catalyst driver (libdri.so and libglx.so); if that package gets updated, you will have to fix up the symlinks to point to the *.fgl.so versions. On my system at least, Catalyst 9.3 locks up the system when the xorg versions of these are present (naughty, bad AMD!).
I do NOT have any back-leveled packages; they are the current updates for Fedora 10.
Code:
diff -u fglrx-install.mOYH0f/packages/Fedora/atieventsd.init fglrx-install.H180cv/packages/Fedora/atieventsd.init --- fglrx-install.mOYH0f/packages/Fedora/atieventsd.init 2009-03-18 08:07:25.000000000 -0700 +++ fglrx-install.H180cv/packages/Fedora/atieventsd.init 2009-03-31 22:33:52.000000000 -0700 @@ -10,6 +10,9 @@ # Source function library. . /etc/rc.d/init.d/functions +# Create the DRI device, in case it doesn't already exist +MAKEDEV /dev/dri + [ -f /usr/sbin/atieventsd ] || exit 0 LOCKFILE=/var/lock/subsys/atieventsd diff -u fglrx-install.mOYH0f/packages/Fedora/ATI-fglrx.spec-tmpl fglrx-install.H180cv/packages/Fedora/ATI-fglrx.spec-tmpl --- fglrx-install.mOYH0f/packages/Fedora/ATI-fglrx.spec-tmpl 2009-03-18 08:07:25.000000000 -0700 +++ fglrx-install.H180cv/packages/Fedora/ATI-fglrx.spec-tmpl 2009-04-01 00:04:18.000000000 -0700 @@ -2,6 +2,7 @@ %define _x11dir %{_prefix}/X11R6 %define _x11libdir %{_x11dir}/%{_lib} %define _x11includedir %{_x11dir}/include +%define _xorgextdir %{_libdir}/xorg/modules/extensions %ifarch x86_64 %define _libdir32bit %{_prefix}/lib @@ -180,7 +181,7 @@ # Build the kernel module and install it export AS_USER=y pushd $RPM_BUILD_ROOT%{_kmoddir}/fglrx/build_mod -bash make.sh verbose +bash make.sh mkdir -p $RPM_BUILD_ROOT%{_kmoddir}/%{_kmodver}/extra install -D -m 0644 fglrx.ko $RPM_BUILD_ROOT%{_kmoddir}/%{_kmodver}/extra/fglrx/fglrx.ko rm -rf $RPM_BUILD_ROOT%{_kmoddir}/fglrx @@ -191,6 +192,22 @@ rm -rf $RPM_BUILD_ROOT +%pre +# Remove any old symlinked files +if [ -e %{_xorgextdir}/FGL.renamed.libdri.so ]; then + rm -f %{_xorgextdir}/libdri.so %{_xorgextdir}/libdri.fgl.so 2>/dev/null +fi +if [ -e %{_xorgextdir}/FGL.renamed.libglx.so ]; then + rm -f %{_xorgextdir}/libglx.so %{_xorgextdir}/libglx.fgl.so 2>/dev/null +fi +# Create backup files if we don't have them +if [ ! -f %{_xorgextdir}/FGL.renamed.libdri.so -a -f %{_xorgextdir}/libdri.so ]; then + mv %{_xorgextdir}/libdri.so %{_xorgextdir}/FGL.renamed.libdri.so 2>/dev/null +fi +if [ ! -f %{_xorgextdir}/FGL.renamed.libglx.so -a -f %{_xorgextdir}/libglx.so ]; then + mv %{_xorgextdir}/libglx.so %{_xorgextdir}/FGL.renamed.libglx.so 2>/dev/null +fi + %preun if [ "$1" = 0 ]; then /sbin/service atieventsd stop >/dev/null 2>&1 @@ -210,11 +227,27 @@ fi fi || : fi +# Create symlinks for modified xorg extensions +if [ -e %{_xorgextdir}/libdri.fgl.so ]; then + ln -s %{_xorgextdir}/libdri.fgl.so %{_xorgextdir}/libdri.so +fi +if [ -e %{_xorgextdir}/libglx.fgl.so ]; then + ln -s %{_xorgextdir}/libglx.fgl.so %{_xorgextdir}/libglx.so +fi /sbin/ldconfig /sbin/chkconfig --add atieventsd /usr/bin/aticonfig --initial >/dev/null 2>&1 %postun +# Restore original xorg extensions +if [ -f %{_xorgextdir}/FGL.renamed.libdri.so ]; then + rm -f %{_xorgextdir}/libdri.so %{_xorgextdir}/libdri.fgl.so 2>/dev/null + mv %{_xorgextdir}/FGL.renamed.libdri.so %{_xorgextdir}/libdri.so 2>/dev/null +fi +if [ -f %{_xorgextdir}/FGL.renamed.libglx.so ]; then + rm -f %{_xorgextdir}/libdglx.so %{_xorgextdir}/libglx.fgl.so 2>/dev/null + mv %{_xorgextdir}/FGL.renamed.libglx.so %{_xorgextdir}/libglx.so 2>/dev/null +fi /sbin/ldconfig if [ "$1" -ge 1 ]; then /sbin/service atieventsd condrestart >/dev/null 2>&1 @@ -285,11 +318,12 @@ %{_bindir}/fglrx_xgamma @DRI_MODULE_DIR@/fglrx_dri.so @X11_MODULE_DIR@/drivers/*fglrx*.* +@X11_MODULE_DIR@/extensions/lib*.so @X11_MODULE_DIR@/linux/*fglrx*.* @X11_MODULE_DIR@/esut.a @X11_MODULE_DIR@/glesx.so @X11_MODULE_DIR@/amdxmm.so -%{_libdir}/libamd*.so +%{_libdir}/libati*.so %{_libdir}/fglrx/*.cap %{_libdir}/fglrx/*.so* %{_mandir}/man[1-9]/atieventsd.* @@ -326,6 +360,10 @@ %changelog +* Wed Apr 01 2009 Steve Wendt <stevew AT shocking DOT com> 8.59.3-1 +- Fix updating of xorg extensions libdri and libglx +- Remove verbose option from module build, since AMD hasn't fixed it + * Fri Dec 26 2008 Michael Larabel <Michael AT phoronix DOT com> 8.57.1-1 - Add Fedora 10 support and fixes support for Fedora 9 on X.Org 7.4 diff -u fglrx-install.mOYH0f/packages/Fedora/ati-packager.sh fglrx-install.H180cv/packages/Fedora/ati-packager.sh --- fglrx-install.mOYH0f/packages/Fedora/ati-packager.sh 2009-03-18 08:07:25.000000000 -0700 +++ fglrx-install.H180cv/packages/Fedora/ati-packager.sh 2009-03-31 23:46:41.000000000 -0700 @@ -110,15 +110,13 @@ # Move files as required for X11R7-based distribution releases if echo "${X11_RELEASE}"|grep "x7.0" &> /dev/null ; then - # get rid of libdri.so so we don't conflict with system package! - rm -rf ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/extensions mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/include/X11 \ ${TMP_RPM_BUILD_DIR}/usr/include mkdir -p ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/dri mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/dri/* \ ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/dri mkdir -p ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules - mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/{drivers,linux} \ + mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/{drivers,extensions,linux} \ ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/esut.a \ ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules @@ -126,8 +124,14 @@ ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/amdxmm.so \ ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules - # ln -s ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/dri/fglrx_dri.so ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/lib/modules/dri/fglrx_dri.so ln -fs ../../../../${ARCH_LIB}/dri/fglrx_dri.so + # Rename extensions to avoid conflicts; these must be symlinked later + mv ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules/extensions/libdri.so \ + ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules/extensions/libdri.fgl.so + if [ -f ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules/extensions/libglx.so ]; then + mv ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules/extensions/libglx.so \ + ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules/extensions/libglx.fgl.so + fi # Same work around for 32-on-64 if [ "${release_arch}" = 'x86_64' ]; then mkdir -p ${TMP_RPM_BUILD_DIR}/usr/lib/dri
Comment