Home | News | Download | Packages | Forum | Wiki | Github

AMD Radeon RX Vega 56


#1

I am trying to set up AMD Radeon RX Vega 56 with void linux. I have installed xf86-video-amdgpu, xf86-video-ati, mesa-ati-dri installed with xorg. amdgpu module is loaded. current problem is that my monitor resolution is not properly recognized. any insight on this topic would be appreciated.


Dude, what's using all my RAM?
#2

By reading this article, I think you need the amd-staging kernel branch.

See this comment from @nicop , maybe he could help you. :wink:


(Nicolas Porcel) #3

@cr6 is right, you need the amd-staging branch. but not only. Here are the steps you need to follow. I’ll assume that you know how to build a kernel and rebuild void packages, but don’t hesitate to ask if you need help (I am Nicop06 on IRC).

Right now it’s a bit messy as I just did some quick hacks to see if it works, but I’ve been running my computer for 2 weeks now without any problems (all my Steam games are working perfectly, even the Windows ones with wine).

  1. First, you need to build this kernel: https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-4.13
  2. Then, you need to add the Vega firmware blobs to this directory: /usr/lib/firmware/amdgpu/. I’ll need to create a package for that. Fill free to do it if you have time and add a pull request to my void-packages fork (see step 3).
  3. You need an up to date mesa built with llvm5. You can use my void-packages vega branch and build the mesa-ati-dri. Make sure it also builds llvm5. You might need to the 32 bits libraries for some proprietary games or softwares.

All those steps are for the gaming / OpenGL setup. I quickly tested blender and it felt slow. It did not detect my Vega for the cycles compute device which might explain the slowness, although I am not an expert.

If you need to use your Vega for deep learning with RocM it won’t work either. I’ll try do the setup when I have more time and I am done enjoying my powerful GPU for gaming. I did it on Ubuntu but I had some problems.

EDIT: My main source of information was this Phoronix article


#4

@nicop thanks for the reply. I finally got around to doing this and it seems like everything is working quite well. Here are the roughly steps I followed for future reference:

git pull git://people.freedesktop.org/~agd5f/linux
git checkout amd-staging-4.13
cp /boot/config-* .config
vim .config

set CONFIG_DRM_AMD_DC=y
set CONFIG_DRM_AMD_DC_DCN1_0=y

make oldconfig
make
make modules_install
make install
wget -r -np --nd -R "index.html*" https://people.freedesktop.org/~agd5f/radeon_ucode/vega10/
cp *.bin /lib/firmware/amdgpu
mkinitrd /boot/initramfs-4.13.0_1.img 4.13.0_1+
grub-mkconfig -o /boot/grub/grub.cfg

Some web page rendering was messed up, fixed by enabling WebGL in chromium:

  1. Enable “Override software rendering list” in chrome://flags
  2. Make sure “Use hardware acceleration when available” is checked under chrome://settings

At first I did not install Mesa because I did not plan on using this for gaming, but it does improve 2d graphics by quite a bit, especially on high res displays.


(Nicolas Porcel) #5

Thank you for the procedure. Also, you said that you planned on mining. Did you manage to make it work.

I am currently trying to make RocM, the new AMD GPGPU platform. work on Void. I want to use my GPU for deep learning. If you managed to make it work I would be interested. If not, I can share my findings once I’ve figured it out.


#6

Deep learning sounds pretty cool. I’m still trying to compile Mesa. I have been trying to make everything from source. I tried compiling LLVM5 and got a segfault :confused: I compiled LLVM6 with no problem, but I saw some errors when trying to compile Mesa with LLVM6.


(Nicolas Porcel) #7

It is. I still haven’t managed to compile RocM on Void, and it seems that a special kernel is needed to run the RocM platform, which is not the one used for display. I will need to contact AMD developers to figure out what is the difference between the two kernels as I want to use my GPU for both display and computing.

For the LLVM 5, did you try using my vega branch from my void packages fork. I just updated it and it should work. Basically, you only need to run the following commands:

./xbps-src pkg mesa-ati-dri
sudo xbps-install -r hostdir/binpkgs/vega/ -Su

This should build mesa 17.3 and LLVM 5.0 and then update your existing LLVM and mesa packages to the one you just build. I will try to upgrade to LLVM 6.0 soon. Although, I doubt their would be any significant improvement when using LLVM 6 compared to 5 considering only a few months separate both versions.


#8

sorry if this sounds stupid but the xbps-install part does nothing for me?


#9

@nicop do you mind giving me a hand with this? I am just 1 step away but not sure what I’m doing wrong. I understand what xbps-install -r hostdir/binpkgs/vega/ -Su is supposed to do but when I run it I get absolutely no output whatsoever…


(Nicolas Porcel) #10

Sorry, I did not see the message (the email notifications for this forum are a bit buggy).

That might be because you don’t have mesa-ati-dri already installed. I installed xorg instead of xorg-minimal so I already had all the video drivers when I did the setup. Try this command and check that mesa-ati-dri is installed. If not, use the same command to install it directly.

EDIT (thank you jzeus): capital R

xbps-install -R hostdir/binpkgs/vega/ xf86-video-ati

#11

needed to use --repository instead of -r|--rootdir, but it works!


(Nicolas Porcel) #12

Small update: you can now use the latest mainline kernel releaseD 2 days ago (4.15) with the default mesa driver shipped with Void Linux, so this procedure becomes obsolete. I compiled the 4.15 kernel, although it should be available soon in Void.


#13

haha yea i saw that, i’m just waiting for void to release it. i have not updated my kernel since i last compiled it. can’t wait to xbps-install -Syu. I installed void’s mesa drivers though, everything seems same as before but my second display is not being recognized.


(Nicolas Porcel) #14

Actually, the 4.15 driver improved screen detection support so hopefully it will fix your issue. In my case, it enabled 4K over HDMI while I was limited to 1080p.

However if it’s a mesa issue you could try the 18 rc version the same way I compiled the 17.3.


#15

just got 4.15 and everything working well. turned out my display issue was actually because of my HDMI extender being broken. i dont even know how those things can break but yea… any issues with OpenCL?


(Nicolas Porcel) #16

From my experience, HDMI cables in general break easily, even more than micro USB.

As far as I know, OpenCL is deprecated and can only run with the closed source AMDGPU-PRO driver. AMD is now developing a new mostly open source platform ROCm for GPGPU programing. OpenCL can still run as the platform includes a wrapper.

I haven’t managed to make it run for 2 reasons:

  • It required a custom kernel with no display support when I tried ROCm 1.6. This is no longer the case as they deliver a DKMS driver starting ROCm 1.7, the latest version. I cannot guarantee it solves the problem though as the previous kernels had many changes in the AMDGPU driver including closed source bit. That’s why it wasn’t up-streamed with the display driver.
  • It is quite complicated to install on unsupported platform as there are many packages to compile. On Ubuntu, a simple apt-get install rocm will do. I didn’t manage to compile it, but considering the previous point I will try to do it when I have some time.