Announcement

Collapse
No announcement yet.

Simple workaround to enable fglrx 10.3 on F12

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Simple workaround to enable fglrx 10.3 on F12

    Hey
    I just wanted to share with you, that i got the newest catalyst driver working on F12, by following a simple guide to downgrade the Xorg.
    I know its not an ideal fix, but its really great to finally get rid of some of the unfixed bugs in F11. And if/when fglrx works on F12 native xorg, it will only take 2 minutes to upgrade to the normal xorg version again. So why stay with F11 when you can use this fix and enjoy 3d-acceleration on F12!

    I have been running F12 all day with no problems-
    Just follow guide and install newest catalyst. I did not even need to enable SWCursor or any other nasty tricks.

    xorg-RPMS for 64bit systems: http://www-user.tu-chemnitz.de/~sse/...und-bin.tar.gz
    Compile your own with srpms: http://www-user.tu-chemnitz.de/~sse/...und-src.tar.gz

    GUIDE
    This document may provide you with a work-around to get
    AMD/ATI's Catalyst drivers running with Fedora 12.
    It was tested with a recent AMD/ATI Raedeon HD5000 series
    graphics card and lead to a reasonably stable system with
    3D acceleration. Most OpenGL applications seem to work as expected.
    Activating desktop effects, however, locked up KDE (may be for
    some unrelated reason). So your mileage may vary.

    == before you start ==
    A word of caution: following the steps in this document may leave
    you with an unusable system. Before you start, backup your data and
    if you follow the steps in this document, make sure each step
    completes sucessfully.


    = Problem description =
    Installing a recent version of the proprietary AMD/ATI Catalyst
    drivers (e.g. release 10-2 or release 10-1) fails on Fedora 12.
    The installer seems to run successful, but start of the X-server
    fails with some message:
    /var/log/Xorg.0.log:

    (II) LoadModule: "fglrx"
    (II) Loading /usr/lib64/xorg/modules/drivers/fglrx_drv.so
    dlopen: /usr/lib64/xorg/modules/drivers/fglrx_drv.so: undefined symbol:
    UpdateSpriteForScreen
    (EE) Failed to load /usr/lib64/xorg/modules/drivers/fglrx_drv.so
    (II) UnloadModule: "fglrx"
    (EE) Failed to load module "fglrx" (loader failed, 7)
    (EE) No drivers available.

    = What causes this problem? =
    Somewhere during the transition from the releases 1.6 to 1.7,
    the Xorg server developers have decided to hide server-internal
    programming interfaces from loadable modules. To enforce this,
    a more strict control over exported symbols is established.
    This is usually a good thing to do. However, in the case of
    the AMD/ATI proprietary drivers, this does break compatibility
    and leaves Fedora 12 users with no support of recent drivers.

    = How to fix the issue? =
    The most desirable resolution would clearly be to adopt the Catalyst
    drivers to the new API. The developers at AMD/ATI, however, have not
    yet been able to fix their driver code to use the new interface (see [http://ati.cchtml.com/show_bug.cgi?id=1696#c45]).
    This is nothing unusual either, and given the successful launch of
    a state-of-the-art family of graphics cards, with dozens of variants
    and vendors these guys surely have some items on their
    todo-list before that. So, there might not be any clean and ideal
    solution to that issue soon.


    = How to work around meanwhile? =
    The idea is to replace the X server shipped with Fedora 12 with the
    version from Fedora 11 which works with the API the AMD/ATI Catalyst
    drivers expect. The official Fedora 11 packages, however, have some
    dependencies which cannot be resolved on Fedora 12.

    Please be aware that if you decide to do this surgery,
    you are on your own. You should not complain about anything broken
    in either Fedora 12 or the Catalyst drivers unless you have
    verified the issue exists in a clean, supported system.

    Said that, the following steps might get you a reasonably stable
    system until the official driver supports Fedora 12:

    == prepare your system ==
    * install Fedora 12
    * install available updates.
    * install some package required by the installer
    yum install kernel-headers kernel-devel gcc gcc-c++ make autoconf automake
    * reboot to activate the proper kernel
    * download the [http://support.amd.com/us/gpudownloa...5&lang=English proprietary AMD/ATI Catalyst driver]
    * download (or prepare, see below) [http://www-user.tu-chemnitz.de/~sse/...und-bin.tar.gz recompiled versions of the Fedora 11 X server packages]
    * untar the recompiled versions of the Fedora 11 xserver packages:
    tar xzf ATI-Catalyst-workaround-bin.tar.gz

    With the default Fedora 12 installation options, this should get you to a
    working system with the Fedora 12 native driver providing some
    (unaccelerated) X display.
    The next step starts at the default (graphical) login-screen.

    == downgrade and configure the X server packages ==

    * press CTRL-ALT-F2 to get to the text console VT2.
    * login as root
    * change the current runlevel to 3 so that the X server gets terminated.
    This will present you another console prompt at VT1:
    init 3
    * press CTRL-ALT-F2 to get back to your root session at VT2.
    * uninstall any xorg-x11 drivers:
    yum erase xorg-x11-server-common xorg-x11-server-Xorg xorg-x11-drv-*
    * downgrade to Xorg 1.6.1:
    rpm -Uhv ATI-Catalyst-workaround/rpms/xorg-x11-*.rpm
    * install the proprietary AMD/ATI Catalyst driver.
    sh ati-driver-installer-10-2-x86.x86_64.run
    Follow the menu and accept the defaults.
    If successful, the installer finishes with a
    'Finished, Installation complete!' message.

    IMPORTANT NOTE: it is crucial that the installer finishes
    successful, otherwise starting the server may lock up your
    system. A typical reason for failing might be that you have
    not completed all of the preparation steps (e.g. installing
    the development packages and rebooting the system).</b>

    * create an initial configuration file /etc/X11/xorg.conf
    and change it to fit your needs:
    aticonfig --initial
    * edit /etc/yum.conf and add the following line:
    exclude=xorg-x11-server-common xorg-x11-server-Xorg xorg-x11-drv-*
    This blocks any updates of the packages we had to uninstall
    using the 'yum erase' command.
    Using drivers written for the newer X-server internal
    interface is not a good idea.
    For example, updating to the evdev driver shipped with Fedora 12
    will not work with this downgraded server and will
    leave you without any working input devices.

    == restart the X-server ==
    You may be lucky by just changing the run-level back to 5:
    sync; sleep 3; sync; init 5
    On the author's machine, a reboot was neccessary, probably
    for the proper kernel modules to get loaded or because
    the graphics card was in a strange state from earlier experiments.
    But after that, most things worked as expected.

    = Preparing your own packages =
    Recompiling your own packages is a bit tricky, as Fedora 12 provides some
    more recent library versions of the X libraries. These seem to
    break compilation of the 1.6.1 X-server so the following steps
    might work for you too:

    * install a clean Fedora 12 base system (in the package
    customization step of the installer, deselect all options and
    tick the 'customize now' radio button; then deselect all
    packages in all groups).
    * install available updates (kernel) and reboot
    * install the usual development packages (rpm-build, gcc, gcc-c++, autoconf, automake, make)
    * install the source RPMs from Fedora 11.Trying to rebuild the RPM fails for a lot of dependencies.
    * satisfy the non-X11 dependencies from the Fedora 12 repository.
    * satisfy any X11 dependencies (libX*) from the Fedora 11 repository. (luckily, it worked).
    * fix the compilation errors (you may [http://www-user.tu-chemnitz.de/~sse/...und-src.tar.gz use the source rpms provided] to skip this step).
    * install the resulting rpms following the instructions above.

  • #2
    Sorry, this post somehow ended up in the wrong forum-folder

    Comment


    • #3
      Just to make sure you know: the guide is not provided by me, but by Steffen (dot) Seeger (at) Physik.TU-Chemnitz.de

      Comment

      Working...
      X