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: 76
Popularity: 3.320359
First Submitted: 2016-03-28 22:44
Last Updated: 2019-01-15 16:18

LiberteCzech commented on 2016-05-25 09:10

Here is the latest driver. https://github.com/LiberteCzech/archlinux-amdgpu
I used the corngood and LEW21 work.
If you have time, you can try and let you know if it works.
I did not have time to test it yet.

Corngood commented on 2016-05-19 21:54

Mine looks similar to yours (I also get the (EE) about the hybrid driver) up until:

[ 78.193] (II) LoadModule: "dri2"
[ 78.193] (II) Module "dri2" already built-in
[ 78.198] (II) glamor: OpenGL accelerated X.org driver based.
[ 78.284] (II) glamor: EGL version 1.4:

Where yours says:

[ 557.285] (II) AMDGPU(0): GPU accel disabled or not working, using shadowfb for KMS

Maybe check if EGL is correct:

$ ldconfig -p | grep libEGL
libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/amdgpu-pro/libEGL.so.1

The only active xorg.conf files I have are:
/usr/share/X11/xorg.conf.d/01-amdgpu-pro.conf
/usr/share/X11/xorg.conf.d/10-evdev.conf
/usr/share/X11/xorg.conf.d/10-quirks.conf

So maybe get rid of any others in there or in /etc/.

After that I'd probably use LD_DEBUG and strace to figure out what it's doing before it prints those messages. Then maybe build a debug xorg-server.

I'm using xorg-server 1.18.3-1 and kernel 4.5.4 w/ CIK. I assume you are on similar versions and on x86_64?

Edit: also I'm on HAWAII, not BONAIRE.

Themaister commented on 2016-05-19 08:42

Hm, still doesn't work. Here's a paste of Xorg.0.log.
I'm using a GCN 1.1 card with CIK enabled in kernel if that helps.
ldconfig is pointing to the right place.

It seems like it's failing something, trying fall back to software which doesn't work.

http://pastebin.com/bBNvgWAe

Plain MESA with AMDGPU is working however.

Corngood commented on 2016-05-18 15:02

Sounds like the problem I had before I had ld.so.conf set up properly. Maybe 'ldconfig -p | grep libGL.so' and make sure it's finding the amdgpu-pro one rather than mesa?

You could try the PKGBUILD from my pull request as it fixes the ld.so.conf.

https://github.com/LEW21/archlinux-amdgpu/pull/1

Themaister commented on 2016-05-18 14:57

I'm also struggling to get GLX working at all. Either I get a segfault if I enable DRI3 or I don't get GLX at all ... Do you need to do something special to get GLX working?

Corngood commented on 2016-05-18 14:16

@libercv Yeah, I noticed that when I went through and fixed up the PKGBUILD. Now it makes a link for the ld and modprobe configs.

PR is up at https://github.com/LEW21/archlinux-amdgpu/pull/1 if anyone wants to take a look.

@Themaister Yeah, I have that problem too. It was broken by this change in the loader:

https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/commit/c666cff44f25c1db0451f52818807683b0346f00

which was merged in 1.0.8. If I use 1.0.6 I get the extension, and it seems to work fine.

It's a bug in the AMD vulkan ICD, which only reports VK_KHR_swapchain and VK_KHR_xbc_surface. I guess it worked by accident before that loader change.

I tried reporting it on community.amd.com, but I'm still waiting for my post to be approved. If anyone has a better way of reporting bugs to them, let me know.

Themaister commented on 2016-05-18 14:07

For some reason, VK_KHR_surface is missing for me (VK_KHR_xcb_surface is present though). Anyone else having same issue?

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 :/.