Vulkan with AMD's GCN 1.0

Once you’re (hopefully) back in try this:

cat /proc/config.gz | gunzip | grep CONFIG_DRM_AMDGPU

If your kernel has been built to store compile parameters it should work.
For example this is what I got:

$ cat /proc/config.gz | gunzip | grep CONFIG_DRM_AMDGPU
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU_USERPTR=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set

As you can see mine has CONFIG_DRM_AMDGPU_SI=y which is needed to support AMDGPU for GCN 1 cards.


Geez, Linux amirite? :slight_smile:

Using ctrl + alt + f3 indeed gave me a login option, so I’m there.
I un blacklisted radeon
Went back and edited the initramfs options, built initramfs again.
Then I commented the amdgpu preference and updated grub.

It worked

1 Like

meaning you’re back in, or it loaded amdgpu? I assume the former?

I have a working system! That’s it. all RADEON of course haha.

There is no config.gz file in my /proc folder

Is there any other way to find out if that option was set in the kernel during build?

try

  • /boot/config-$(uname -r)
  • /proc/config.gz
  • /boot/config
  • /boot/config-$(uname -r)

if you have linux-headers installed:

  • /usr/src/linux-headers-*/.config
eze@pop-os:/boot$ cat config-4.18.5-041805-generic | grep CONFIG_DRM_AMDGPU
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU_USERPTR=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set

Apparently it was properly set :tired_face:

hmm… I am so out of ideas right now :confused:

check journalctl again for when you couldn’t boot?

journjalctl -b-1 should be previous boot AFAIK.

This is the log when I couldn’t boot.

Aug 25 16:45:55 pop-os kernel: [drm] amdgpu kernel modesetting enabled.
Aug 25 16:45:55 pop-os kernel: fb: switching to amdgpudrmfb from EFI VGA
Aug 25 16:45:55 pop-os kernel: amdgpu 0000:20:00.0: SI support provided by radeon.
Aug 25 16:45:55 pop-os kernel: amdgpu 0000:20:00.0: Use radeon.si_support=0 amdgpu.si_support=1 to override.
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) LoadModule: "amdgpu"
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) Loading /usr/lib/xorg/modules/drivers/amdgpu_drv.so
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) Module amdgpu: vendor="X.Org Foundation"
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]:         All GPUs supported by the amdgpu kernel driver
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) UnloadModule: "amdgpu"
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) LoadModule: "amdgpu"
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) Loading /usr/lib/xorg/modules/drivers/amdgpu_drv.so
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) Module amdgpu: vendor="X.Org Foundation"
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]:         All GPUs supported by the amdgpu kernel driver
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) UnloadModule: "amdgpu"
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) UnloadModule: "amdgpu"
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) UnloadModule: "amdgpu"
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1285]: (II) UnloadModule: "amdgpu"
Aug 25 16:45:58 pop-os /usr/lib/gdm3/gdm-x-session[1342]: (II) LoadModule: "amdgpu"

Then it goes like that over and over again, loading and unloading (without telling me what the heck happened), Until I put everything back like it was before.

This is what I’m going to do.
I’m gonna catch a break, get some tea, and later tonight I’ll grab the win7 LAN gaming PC. It’s a FX 6100 paired with a HD7770 and 8GB ram, trash case, old PSU, spinning rust. I haven’t used it in a while, but it does feature a GCN 1.0 GPU!

I’m grabbing a old 80GB HDD from the shelf so I don’t kill that poor win7 partition filled with goodies like warcrafr3, CS1.6, AoE2, etc. Then I’m doing a clean 18.04 install of ubuntu and making my way up to having the vulkan smoke test to run!

I’ll be documenting what I do and the results. Wish me luck.

1 Like

:+1:


might as well check dmesg, But you’d need to boot into it. I guess do the whole Ctrl+Alt+F3 thing again.


This looks really weird, it looks like it is enabled but it thinks that you didn’t add radeon.si_support=0 amdgpu.si_support=1 to kernel cmd. I don’t use GRUB, are you sure that’s the only way to add to kcmd?

Also huh in the end it said it loaded it but you got black screen you said?

Also maybe try to set radeon.cik_support=0 amdgpu.cik_support=1 amdgpu.dpm=1 amdgpu.dc=1 to make sure we got max support.

Anyways. I think I exhausted my knowledge here, it basically worked out of the box for me on Arch. Maybe try Manjaro :wink: It’s Arch based but is built to be user friendly… er. :slight_smile:

1 Like

Sorry for the inactivity. Updating!

I’ve tested the older PC that has a HD 7770, AMDGPU and it worked as intended on Ubuntu 18.04.
Then I grabbed a spare drive, plugged it in my main rig as the only drive (unplugged the other ones) and did the same, a clean ubuntu 18.04 install and I was able to run AMDGPU and Vulkan flawlessly. I even ran DXKV 0.70 with Wine 3.14 games.

The issue here is the OS (probably the Kernel is compiled with AMDGPU disabled).
I’m not ready yet to migrate to another distro, don’t really have much spare time to do that sort of maintenance, let alone learning the new ropes of a non-debian based distro.
I dislike ubuntu, but I tested this using it because it occurred to me that it’s fairly updated and mature, featuring a large user base.

In order to get amdgpu support on my GCN 1.1 laptop I had to put the following line in /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT=“radeon.si_support=0 amdgpu.si_support=1 radeon.cik_support=0 amdgpu.cik_support=1 rd.driver.blacklist=radeon quiet”

If you’re still using an apt or Debian based distro, you’ll then want to run “sudo update-grub” to update grub AND your intial ramdisk.

Note that both the amdgpu AND radeon drivers will still load, but you can confirm that the amdgpu driver has taken ownership of your GPU (look for “Kernel driver in use:”) by running “lspci -knn” and examining which kernel module is listed for your GPU.

Another kernel option that might be helpful to add to /etc/default/grub is:

radeon.modeset=0

Hello guys. Thank you for all this awesome information. It really helped me understand the problem.

Sadly you didn’t find a solution to this problem, but I did!!

You are right that Pop_OS is based on Ubuntu, but it actually DOESN’T use grub at all.

So the kernel flags you’re using " amdgpu.si_support=1 radeon.si_support=0 amdgpu.cik_support=1 radeon.cik_support=0" aren’t recognized by Pop_OS.

To properly load them you have to do the following in your command line:

kernelstub -a KERNELFLAG for all the 4 kernel flags. So to do the desired task do the following (enter after every line):

kernelstub -a amdgpu.si_support=1
kernelstub -a radeon.si_support=0
kernelstub -a amdgpu.cik_support=1
kernelstub -a radeon.cik_support=0

Then restart.

Hope this helps!

I’m now running Vulkan on my GCN 1.0 HD7970.

Again thank you for all this good info in this thread!

2 Likes

Locking due to necro.

If someone wishes to continue discusion, please start a new thread. Thanks