Forums

AMD 7950/7850 with official fglrx AMD catalyst drivers 64bit/32bit support on POL

Just got it working, maybe this helps people getting things up and running more speedily

Auteur Réponses
tfk Mardi 22 Avril 2014 à 0:34
tfkAnonymous

Hi,

Just thought that I report on the things I ended up doing to get the following system up and running. I don't have a personal blog or anything the like so I decided to post it here.

Title:
AMD 7950/7850 system with official fglrx drivers (catalyst drivers from AMD.com) with 64bit/32bit support on POL

System:

Intel i5
Gigabyte AMD 7950
Asus AMD 7850

Fedora 20 x86_64 (64 bit) with KDE 4

Goal:
Get PlayOnLinux running in both 64 bit and 32 bit mode using the official AMD drivers from AMD.com without doing concessions on other parts of the system. That is, I don't want to disable any part of my system that was previously working to get this working.

Steps:

  1. Download the latest drivers from http://support.amd.com/en-us/download (I had to use the beta drivers because of my Linux distribution);
  2. Unzip the archive, make sure the installer is executable;
  3. Uninstall any existing drivers via your package manager (yum/apt-get/...);
  4. Install the packages required by the AMD installer to build the driver against your kernel. Those are the gcc compiler, binutils, make, kernel-devel and kernel-headers.

    yum install gcc binutils make kernel-devel kernel-headers

    When you are on a Ubuntu, please take a look at this page, second halve:
    https://help.ubuntu.com/community/BinaryDriverHowto/AMD 
     
  5. Run the AMD installer. Because you installed all needed packages the installer shouldn't complain. Just hit next and choose the automatic installation.
  6. Use aticonfig as root to create an initial xorg.conf. I have two cards so I used the following command with the --adapter-all switch:

    aticonfig --initial --adapter=all
     
  7. As root open /etc/X11/xorg.conf in your favorite editor and make sure it looks like this. When you have only one card, it should have only one Device and one Screen section. Don't mind the amount of sections, that's my config. I posted it for sake of reference only. The aticonfig command will have made your version. The important statements are in bold:

    Section "ServerLayout"
        Identifier     "aticonfig Layout"
        Screen        0  "aticonfig-Screen[0]-0" 0 0
        Screen        "aticonfig-Screen[1]-0" RightOf "aticonfig-Screen[0]-0"
    EndSection

    Section "Module"
        Load  "GLcore"
        Load  "glx"
        Load  "fgrlx_dri"

    EndSection

    Section "Monitor"
        Identifier   "aticonfig-Monitor[0]-0"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
    EndSection

    Section "Monitor"
        Identifier   "aticonfig-Monitor[1]-0"
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
    EndSection

    Section "Device"
        Identifier  "aticonfig-Device[0]-0"
        Driver      "fglrx"
        BusID       "PCI:1:0:0"
    EndSection

    Section "Device"
        Identifier  "aticonfig-Device[1]-0"
        Driver      "fglrx"
        BusID       "PCI:6:0:0"
    EndSection

    Section "Screen"
        Identifier "aticonfig-Screen[0]-0"
        Device    "aticonfig-Device[0]-0"
        Monitor   "aticonfig-Monitor[0]-0"
        DefaultDepth     24
        SubSection "Display"
            Viewport   0 0
            Depth     24
        EndSubSection
    EndSection

    Section "Screen"
        Identifier "aticonfig-Screen[1]-0"
        Device     "aticonfig-Device[1]-0"
        Monitor    "aticonfig-Monitor[1]-0"
        DefaultDepth     24
        SubSection "Display"
            Viewport   0 0
            Depth     24
        EndSubSection
    EndSection
     
  8. Now is a good time to reboot. After reboot check via the following commands that everything is up and running:

    Use glxinfo / glxinfo64 to check all settings concerning OpenGL. Look for direct rendering: Yes. It was yes for my 64 bit drivers and no for my 32 bit drivers on my system before the above configuration changes and somewhat later I even saw a segmentation fault on the 32bit version because the linking to those libraries was messed up. See point 1 of the next section if you ran into this.

    LIBGL_DEBUG=verbose glxinfo
    LIBGL_DEBUG=verbose glxinfo64


    Use fglrxinfo to check the displays you may have. You should see your cards listed. That's the indication that your fglrx driver is seeing all the cards:

    fglrxinfo

    Check whether you have the Catalyst Control Center application:

    amdcccle
     
  9. That's it. Please check the following section with some things I ran into. I needed those to get everything completely working.


Things I ran into:

 

  1. When you have been fiddling with your drivers to get 32 bit support enabled in POL you have undoubtedly reinstalled the mesa driver set. This broke up the linkage to the fglrx versions of the GL/GLX-drivers. To correct this run the following commands as root:

    /usr/lib64/fglrx/switchlibGL amd
    /usr/lib64/fglrx/switchlibglx amd

     
  2. It may happen that you find you have 32 bit and 64 bit support but you haven't got OpenGL support in KDE itself. You can reproduce this by opening the System Settings / Desktop Effects. If there is a warning of a Kwin crash and you get the infamous message that a number of effects weren't loaded chances are that you are in this situation. As a second check you could open a konsole window and use the following command:

    KWIN_DIRECT_GL=1 kwin --replace &

    When you see a message composition is not possible then you are definitely in this situation. The solution is simple. Removing ~/.kde/share/config/kwinrc will solve this.
     
  3. Added 5th of march 2014: The kernel version is now 3.14 and the proprietary driver from amd.com doen't compile the kernel module with this kernel. :-(

    The error message is: [Error] Kernel Module : Failed to compile kernel module

    Luckilly for us people are already ahead of us and a patch was made. :-)

    See this forum thread for the complete background on this matter:
    http://forums.fedoraforum.org/showthread.php?p=1697581#post1697581

    To make this work follow the following steps:

    Sub-goal:
    Using patch as it was applied on the F19 version of the xorg driver (which b.t.w. can be used in F20).

    Sub-steps:
    1. Extract the original archive.
    sh amd-driver-installer-14.10.1006-x86.x86_64.run --extract

    2. Navigate into the common directory.
    cd fglrx-install-xxxxx/common

    3. Get the patch.
    wget https://dl.dropboxusercontent.com/u/6907158/catalyst_next/3.14_kernel.patch -O patchfile

    Or my backup:
    wget http://pastebin.com/raw.php?i=xK47ZCkq -O patchfile

    4. Apply the patch.
    patch -p0 <  patchfile

    5. From the top-level directory, run the installer.
    ./ati-installer.sh 14.10 --install

    6. Repeat this if you have a specific config (like multiple cards):
    Step 6 - aticonfig --initial...etc...etc...
     
  4. Added 13th of november 2014: The kernel version is now 3.17 and the proprietary driver from amd.com is now 14.9 (14.301) and still doen't compile the kernel module with this kernel. :-(

    The error message is: DKMS part of installation failed.

    Luckily for us people are (again) already ahead of us and a patch was made. :-)

    See this YouTube video for the complete background on this matter:
    https://www.youtube.com/watch?v=Qxj3lI086Pg

    To make this work follow the following steps:

    Sub-goal:
    Using two patches to make driver 14.9 (14.301) play nice with kernel 3.17.

    Sub-steps:
    1. Extract the original archive.
    sh amd-driver-installer-14.301.1001-x86.x86_64.run --extract

    2. Navigate into the common/...../build_mod/ directory.
    cd fglrx-install-xxxxx/common/lib/modules/fglrx/build_mod/

    3. Get the patch #1:
    wget http://pastebin.com/raw.php?i=U3TB4en4 -O patchfile

    4. Apply the patch (In case it asks which file to patch enter: firegl_public.c).
    patch -p0 <  patchfile

    5.  Navigate into the common directory.
    cd fglrx-install-xxxxx/common/

    6. Get the patch #2:
    wget http://pastebin.com/raw.php?i=reeH87yr -O patchfile

    7. Apply the patch.
    patch -p0 <  patchfile

    8. From the top-level directory, run the installer.
    ./ati-installer.sh 14.301 --install

    6. Repeat this if you have a specific config (like multiple cards):
    Step 6 - aticonfig --initial...etc...etc...

  5. Added 18th of december 2014: The kernel version is now 3.17 and the proprietary driver from amd.com is now 14.12 (14.501) and still doen't compile the kernel module with this kernel. :-(

    The error message is: DKMS part of installation failed.

    Luckily for us, people are (again) already ahead of us and a patch was made. :-)

    See this blog for the complete background on this matter:
    https://bluehatrecord.wordpress.com/2014/11/13/installing-the-proprietary-amd-catalyst-14-9-fglrx-driver-on-fedora-20-with-kernel-3-17/

    To make this work follow the following steps:

    Sub-goal:
    Using one patch to make driver 14.12 (14.501) play nice with kernel 3.17.

    Sub-steps:
    1. Extract the original archive.
    sh amd-driver-installer-14.501.1003-x86.x86_64.run --extract

    2. Navigate into the common/...../build_mod/ directory.
    cd fglrx-install-xxxxx/

    3. Get the patch #1:
    wget http://pastebin.com/raw.php?i=pYHr0jp6 -O patchfile

    4. Apply the patch.
    patch -p0 <  patchfile

    8. From the same directory, run the installer.

    ./ati-installer.sh 14.501 --install

    6. Repeat this if you have a specific config (like multiple cards) and a new installation:
    Step 6 - aticonfig --initial...etc...etc...

  6. Added 13th of february 2015: A new version of Fedora -Fedora 21- and...problems. Luckily for us, people are (again) already ahead of us and a patch was made aswel as a complete procedure to make it work. This time I wil not be placing those steps here. This is more a side step from the original purpose of this thread and kudo's go to the two persons who figured this out.

    So here are the links.

    Levente Kurusa's procedure.

    The patch used by Levente Kurusa by (This person rather stay's anonymous)

    The patch procedure is not explained but works as the examples on this page:
    patch -p0 <  patchfile

    Use the RHEL7 rpm as described. I used my previous version and it didn't work.

  7. Added 15th of July 2015: A new version of Fedora -Fedora 22- and...problems. AMD needed some time to support X.org's X11 server version 1.17. So we had to wait. But now it's there and -of course- somebody made it work.

    https://bluehatrecord.wordpress.com/2015/07/08/installing-the-proprietary-amd-catalyst-15-7-fglrx-15-20-driver-on-fedora-22-with-linux-kernel-4-0-6/

    The procedure is generally the same: download, extract, patch, and install. But remember to copy the version.h file to the build directory of your current kernel.

    $ sudo cp /usr/include/linux/version.h /lib/modules/`uname -r`/build/include/linux/

     

  8. That's it. Please check the following section on things I did not have to do to get it working...

 

Things I did not have to do to get things working: :-)

  1. I did not have to put to file in /etc/ld.so.conf.d/ to make fglrx see my drivers:

    /etc/ld.so.conf.d/i386-linux-gnu_GL.conf :
    /usr/lib/fgrlx/

    /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf :
    /usr/lib64/fgrlx/

     
  2. I did not have remove "nomodeset" from your bootloader kernel entry.
  3. I did not have to disable the safeboot option in my bios.

 

A quick lookup list of messages and where to go:

  1. Error messages from the AMD installer:

    Steps, 4
     
  2. When using glxinfo/glxinfo64 and seeing the message
    libGL: screen 0 does not appear to be DRI2 capable:

    Steps, 7.
     
  3. Testing if things are working:

    Steps, 8
     
  4. When glxinfo / glxinfo64 returns a segmentation fault:

    Steps, 8
     
  5. When after a package update the POL-message that the 32 bit and/or the 64 bit libraries are missing re-appears:

    Things I ran into, 1 (the last GL/GLX lib installed will get the linking referenced to it)
     
  6. When having full OpenGL 32/64 bit support on the system but no OpenGL support in KDE/KWin:

    Things I ran into, 2
     
  7. When running Kwin via KWIN_DIRECT_GL=1 kwin --replace & and seeing the message compositing is not possible:

    Things I ran into, 2
     
  8. Added 5th of march 2014: You receive a message from the installer [Error] Kernel Module : Failed to compile kernel module.

    Things I ran into, 3
     
  9. Added 13th of november 2014: You receive a message from the installer DKMS part of installation failed.

    Things I ran into, 4

I hope that this will help some of you getting full 32/64 bit support on Fedora 20 or any other version of Linux.

 

Cheers,

 

TFK

 

edit: If you got this working using the above, please comment. When I see three replies confirming this post I'll mark this post as resolved.

 

edit: Added 5th of march 2014: A new kernel and a new driver, time for a new error message: [Error] Kernel Module : Failed to compile kernel module. See Things I ran into 3.

edit: Added 13th of november 2014: A new kernel and a new driver, time for a new error message: DKMS part of installation failed. See Things I ran into 4.

edit: Added 18th of december 2014: A new kernel and a new driver, time for the same error message: DKMS part of installation failed. See Things I ran into 5.

edit: 13th of february 2015: A new version of Fedora -Fedora 21- and...problems. See Things I ran into 6.

edit: 15th of July 2015: A new version of Fedora -Fedora 22- and...problems. Something concerning X.org 1.17. See Things I ran into 7.

 

Edité par tfk

booman Mercredi 23 Avril 2014 à 21:07
booman

Awesome post, I'm absolutely bookmarking this for my AMD friends.
Thank you for taking the time to research, test and post your success!

† Booman †
Mint 21 64-bit | Nvidia 515| GeForce GTX 1650
Linux for Beginners | PlayOnLinux Guides | PlayOnLinux Explained
tfk Vendredi 25 Avril 2014 à 11:34
tfkAnonymous

No problem. I really like doing this kind of research. It's like playing a game for me. Even more then playing the games that I try to get to run. :-)

Also noticed that the linkage to the GL and GLX libs will be messed up again when other GL/GLX libs are installed. It's some sort of .so battle on the machine. Updating the opening post to reflect these observations.

TFK
Ronin DUSETTE Samedi 21 Février 2015 à 18:25
Ronin DUSETTE

 

Also noticed that the linkage to the GL and GLX libs will be messed up again when other GL/GLX libs are installed. 

That is normal when your system updates and you don't blacklist the radeon drivers. The open-source GL libs get installed over the AMD proprietary libs. Actually, if you install the fglrx driver, blacklist the radeon module, and simply delete your xorg.conf, your sytem will always default to fglrx . If you have DKMS set up, it will rebuild the kernel modules after a kernel update, too. You really don't need a xorg.conf at all anymore. I never use one on any of the AMD devices in the house. I simply blacklist radeon and sign fglrx up for DKMS, and your system should pick up the rest automatically, controlling the screen with xrandr.

Also, that patch is for the xorg server ABI, which they always lag on updating. Since Fedora runs a newer X server, and AMD is terrible about keeping that up-to-date in their drivers, they need a small patch to get them to work. Always check AMD's website before patching the AMD driver installer, simply because an updated AMD driver might already have updated X.org ABI support. :D

Edité par RoninDusette


Please:
Post debug logs & full computer specs in first post
No private messages for general help, use the forums
Read the wiki, Report broken scripts
billyway Vendredi 2 Octobre 2015 à 19:07
billywayAnonymous

Do not use fglrx on Linux 4.2

totally broken on this kernel, AMD didn't support it yet.

Ubuntu 15.10 ships 4.2, but if you install the 3.19(from 15.04, Vivid), just works. I've tested on a HD 8570, with latest fglrx so far,  2:15.201-0ubuntu1

 

http://ati.cchtml.com/show_bug.cgi?id=1189

kreyren Mercredi 2 Janvier 2019 à 1:45
kreyren

Just out of curiosity: Fedora doesn't support AMDGPU drivers and kernel configuration ?

Using AMD7870 with mensioned configuration and it works like a charm

Dadu042 Samedi 4 Mai 2019 à 19:56
Dadu042

Keyren : look the years of the posts.