Package Base Details: amdgpu-pro-installer

Git Clone URL: https://aur.archlinux.org/amdgpu-pro-installer.git (read-only)
Submitter: LEW21
Maintainer: Ashark
Last Packager: Ashark
Votes: 73
Popularity: 1.718314
First Submitted: 2016-03-28 22:44
Last Updated: 2019-01-15 16:18

Pinned Comments

Corngood commented on 2016-07-02 18:27

This is a generated PKGBUILD. The full source is available at: https://github.com/corngood/archlinux-amdgpu

Feel free to post issues and send PRs.

*** linux 4.9 with KALLSYMS_ALL=y is required

https://aur.archlinux.org/packages/linux-lts49-kallsyms/

*** mesa-noglvnd is required

https://aur.archlinux.org/packages/mesa-noglvnd/ The mesa package in Arch now includes the glvnd libGL, which conflicts with the AMDGPU-PRO libGL. You'll need to replace mesa with mesa-noglvnd.

libercv commented on 2016-05-18 10:38

Thanks a lot @Corngood, it works!!!

Just one minor change. I copied /usr/lib/amdgpu-pro/ld.conf to /etc/ld.so.conf.d/01-amdgpu-pro.conf instead of creating a link to gbm. I couldn't make it work with the symbolic link, but the file already includes the path to gbm.

Corngood commented on 2016-05-17 21:24

@jhackler

I'll try to fix up the PKGBUILD to do all this stuff when I get a chance, but for now:

- Before you do this, consider making a snapshot or backup, and I suggest 'systemctl set-default multi-user' to avoid having to touch your kernel args to stop Xorg from running in case something goes wrong..

- 380 is GCN 1.2 I think, so you _should_ get the amdgpu driver if you
- Update your kernel (I used 4.5.4)
- Blacklist the radeon driver (put "blacklist radeon" in /etc/modprobe.d/blacklist-radeon.conf)
- Reboot and verify amdgpu is loaded (lsmod | grep amdgpu)

- At this point if you have mesa installed you should have a working system with GL, etc. If you are in text mode, 'systemctl isolate graphical' to start X, and if you want, run glxgears or something to verify

- 'systemctl isolate multi-user' to quit Xorg if you launched it

- Make sure you don't have anything driver specific in /etc/X11/xorg.conf, /etc/X11/xorg.conf.d/*, or /usr/share/X11/xorg.conf.d/*

- Install this AUR package (e.g. 'pacaur -S --force amdgpu-pro')
- I'm not sure if --force works with pacaur, but the point is to force overwrite the conflicting firmware files. If not, install it with 'pacman -S --force'.

- 'sudo ln -s amdgpu-pro/gbm/gbm_amdgpu.so /usr/lib/x86_64-linux-gnu/gbm_amdgpu.so'
- Alternatively you _might_ be able to make the ink in the amdgpu-pro dir, or add gbm/ to ld.conf, but this is what I did. Without it, Xorg wouldn't start.

- 'sudo ln -sf 1.18 /usr/lib/x86_64-linux-gnu/amdgpu-pro/xorg'
- The package ships with a symlink to the Xorg 1.15 driver, so you need this if you have an up to date 'xorg-server'.

- create /etc/ld.so.conf.d/01-amdgpu-pro.conf with:
==============
/usr/lib/x86_64-linux-gnu/amdgpu-pro
/usr/lib/i386-linux-gnu/amdgpu-pro
==============

- `sudo ldconfig`

- Now you should be able to 'systemctl isolate graphical' and have everything working.

- Steam does some shenanigans with the LD path, so I have to run it with "LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/amdgpu-pro/ steam". This could be fixed by including top level symlinks to libGL etc.

If you have any problems feel free to email me. I wrote this from memory, so I could have forgot something.

I'm going to go see how much of this I can fix in the PKGBUILD, which should make the process less painful.

Jhackler commented on 2016-05-17 09:11

Corngood If you don't mind, and have the time, could you post slightly more detailed instructions on how you did this, just so I can test it on my r9 380? If not I will eventually go through and figure it out myself or wait for a package update :/.

Corngood commented on 2016-05-15 19:39

It works!

I just didn't have the amdgpu-pro libs in ld.so.conf. After adding the path, Xorg starts, GL works, Vulkan works. I haven't tested lib32 GL, VDPAU etc, but it's good enough for me to keep working on my vulkan projects after moving from NV to AMD.

Also I tried it both on linux 4.2 + amdgpu-pro-dkms, and 4.5.4 + CIK. 4.2 doesn't detect my screens properly, but 4.5 does. I haven't noticed any other differences.

So I guess the only real problems with this package on latest Arch are:

- xorg 1.18 symlink
- gbm_amdgpu.so symlink ?
- ld.so.conf entry
- firmware conflicts

Then for people with GCN < 1.2 chips, getting the correct kernel (4.5.4 with CIK option or whatever GCN 1.0 patches AMD released in the last couple of days).

Corngood commented on 2016-05-14 16:32

Has anyone actually got this to work? I'm just going through the process now on my R9 290. I made some notes:

- install amdgpu-pro
- firmware conflict (mentioned below). I just overwrote with the amdgpu images from this package

- built kernel 4.5.3 with CIK

- downgraded to xorg 1.15

- crash in Xorg at GLX init

- upgrade to xorg 1.18
- symlink xorg driver 1.18 (mentioned below)

- similar crash in Xorg

- build kernel 4.2 without amdgpu

- install amdgpu-pro-dkms
- OS_VERSION problem with /etc/os-release, fixed by defaulting OS_VERSION to 0.0 in the Makefile
- -Wno- some warnings to make it compile with -Werror
- /boot/System.map-[uname] is needed, so copied that from my kernel build

- dkms module seems to load ok, but I still get a similar crash in Xorg

- build debug Xorg

- Xorg log now shows the signal handler as the crash stack

- running in gdb shows this stack for the segfault:

http://pastebin.com/HBVDpimZ

So it's a crash during dlopen() of amdgpu_dri.so (calling 0), for which I have no symbols. I couldn't find anything relevant in strace or the xorg log before the crash.

P.S. Thanks for packaging this. I probably wouldn't have bothered to try if it didn't exist.

nirei commented on 2016-04-02 14:43

@silakka
The xserver-xorg-video-amdgpu-pro package provides drivers for Xorg versions 1.15 up to 1.18. In the package the default Xorg version is set to 1.15 via a softlink pointing to the directory with the 1.15 drivers.

You can see that on startup Xorg loads the driver from the correct path, but the softlink it uses along that path simpy points to a driver version too old for you Xorg.
From your Xorg.log:
>> (II) Loading /usr/lib/x86_64-linux-gnu/amdgpu-pro/xorg/modules/drivers/amdgpu_drv.so

The amdgpu-pro directory looks like this:
drwxr-xr-x 3 sergej users 4096 17. Mär 03:31 1.15
drwxr-xr-x 3 sergej users 4096 17. Mär 03:31 1.16
drwxr-xr-x 3 sergej users 4096 17. Mär 03:31 1.17
drwxr-xr-x 3 sergej users 4096 17. Mär 03:31 1.18
lrwxrwxrwx 1 sergej users 4 17. Mär 03:31 xorg -> 1.15

To set the correct link you can do the following:
> cd /usr/lib/x86_64-linux-gnu/amdgpu-pro/
> rm xorg
> ln -s 1.18 xorg

But even after this amdgpu-pro probably still won't work. Looks like AMDs release only works on older kernels where the amdgpu-pro DKMS modules can be compiled successfully.

LEW21 commented on 2016-03-31 11:35

Looks like the firmware package is going to be useless when the next linux-firmware will be released: http://phoronix.com/scan.php?page=news_item&px=AMD-Radeon-Blob-Updates

LEW21 commented on 2016-03-29 14:55

Looks like the xserver-xorg-video-amdgpu-pro module requires older X.org. You may want to use Arch's xf86-video-amdgpu instead - however I have no idea if it will work with pro's GL drivers.

silakka commented on 2016-03-29 11:40

I did install and overwrite, but Xorg didn't start and not sure what's the issue. Xorg.log: http://pastebin.com/SNQ06q6p

LEW21 commented on 2016-03-29 11:02

About firmware files? Yeah, I guess you can try to ignore the amdgpu-pro-firmware package, and run it with the firmware from linux-firmware. Or, alternatively, overwrite the files - and later simply reinstall linux-firmware to get the old ones back.