tfk |
Mardi 22 Avril 2014 à 0:34
|
tfk
|
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:
- Download the latest drivers from http://support.amd.com/en-us/download (I had to use the beta drivers because of my Linux distribution);
- Unzip the archive, make sure the installer is executable;
- Uninstall any existing drivers via your package manager (yum/apt-get/...);
- 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
- Run the AMD installer. Because you installed all needed packages the installer shouldn't complain. Just hit next and choose the automatic installation.
- 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
- 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
- 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
- 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:
- 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
- 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.
- 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...
- 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...
- 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...
-
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.
-
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/
-
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: :-)
- 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/
- I did not have remove "nomodeset" from your bootloader kernel entry.
- I did not have to disable the safeboot option in my bios.
A quick lookup list of messages and where to go:
- Error messages from the AMD installer:
Steps, 4
- When using glxinfo/glxinfo64 and seeing the message
libGL: screen 0 does not appear to be DRI2 capable:
Steps, 7.
- Testing if things are working:
Steps, 8
- When glxinfo / glxinfo64 returns a segmentation fault:
Steps, 8
- 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)
- When having full OpenGL 32/64 bit support on the system but no OpenGL support in KDE/KWin:
Things I ran into, 2
- When running Kwin via KWIN_DIRECT_GL=1 kwin --replace & and seeing the message compositing is not possible:
Things I ran into, 2
- 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
- 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!
|
tfk |
Vendredi 25 Avril 2014 à 11:34
|
tfk
|
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
|
billyway |
Vendredi 2 Octobre 2015 à 19:07
|
billyway
|
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.
|