[SOLVED] Using amdgpu on southern island mullins card /wanna vulkan Overwatch

EDIT: DUH stupid me, it is a Sea Island card, Mullins is! So amdgpu.cik_support=1 works! I have amdgpu now! Jeesh.

Hello!

I am trying to get amdgpu to work on my southern island GCN1.0 mullins card, but it wont load it at boot. I’ve followed these instructions:

ArchWiki on amdgpu for southern island

My specs are

CPU: A8 2.3ghz quadcore

RAM: 8GB

Video: Radeon R5 M240 with 1gb "dedicated VRAM" AKA southern island "Mullins" GCN1.0

I am currently using the radeon driver, which works fine (actually very well - I have vdpau and most other relevant packages installed, and glxinfo tells me I have OpenGL core profile 4.5 working). I have the amdpgu driver installed as well. I use the stock ARCH kernel 4.18.

But when I add amdgpu.si_support=1 radeon.si_support=0 to kernel at boot in grub, it freaks out and dumps me in a terminal with some flickering. The dmesg from when that happens is in this pastebin:

https://pastebin.com/0yrsMf2a

I can’t really see where it rejects the amdgpu driver?

Edit: btw a friend noticed that there is a traceback if you have any ideas about that:
[ 9.946881] sysfs: cannot create duplicate filename ‘/class/power_supply/ACAD’
[ 9.946886] CPU: 0 PID: 258 Comm: systemd-udevd Not tainted 4.18.8-arch1-1-ARCH #1
[ 9.946887] Hardware name: Acer Aspire E5-521G/Larne, BIOS V1.01 05/27/2014
[ 9.946889] Call Trace:
and then below that.

I read somehwere that I should remove 20-radeon.conf and/or replace it with 20-amdgpu.conf - should I try that?

Why do I want the amdgpu driver instead of the radeon, since radeon works fine? I want to use vulkan to play Overwatch in Lutris, since it does a fancy gpu-hang when I shoot rockets with D.Va and other sparkly effects play on radeon driver - and perhaps using amdgpu with DXVK will be better in that scenario. Using the radeon driver the video freezes when playing, and this is dmesg (pastebin) from tty2.

Do you currently have one of the above mentioned files?

You may have to blacklist the driver you don’t want to use to stop the kernel from loading it. You might also want to look into whether you want the catalyst driver, I’m not sure which is better of why, not much experience with AMD and linux drivers sorry.

Have you read through the following wiki page a few times? https://wiki.archlinux.org/index.php/AMDGPU

You can see from around line 900 of your dmesg output linked above that the radeon driver is being loaded and you likely need to either remove it, blacklist it, or follow the wiki on enabling KMS for early kernel mode setting on that module.

[   12.529350] [drm] radeon kernel modesetting enabled.
[   12.529387] vga_switcheroo: detected switching method \_SB_.PCI0.VGA_.ATPX handle
[   12.530398] ATPX version 1, functions 0x00000003
[   12.530571] checking generic (e0000000 420000) vs hw (e0000000 10000000)
[   12.530573] fb: switching to radeondrmfb from VESA VGA
[   12.530612] Console: switching to colour dummy device 80x25
[   12.531147] [drm] initializing kernel modesetting (MULLINS 0x1002:0x9851 0x1025:0x0865 0x05).
[   12.531165] [drm] doorbell mmio base: 0xF0000000
[   12.531166] [drm] doorbell mmio size: 8388608
[   12.531189] resource sanity check: requesting [mem 0x000c0000-0x000dffff], which spans more than PCI Bus 0000:00 [mem 0x000c0000-0x000c3fff window]
[   12.531196] caller pci_map_rom+0x58/0xe0 mapping multiple BARs
[   12.532251] ATOM BIOS: AMD
[   12.532350] radeon 0000:00:01.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)
[   12.532353] radeon 0000:00:01.0: GTT: 2048M 0x0000000040000000 - 0x00000000BFFFFFFF
[   12.532359] [drm] Detected VRAM RAM=1024M, BAR=256M
[   12.532360] [drm] RAM width 128bits DDR
[   12.532493] [TTM] Zone  kernel: Available graphics memory: 3551390 kiB
[   12.532494] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[   12.532496] [TTM] Initializing pool allocator
[   12.532503] [TTM] Initializing DMA pool allocator
[   12.532530] [drm] radeon: 1024M of VRAM memory ready
[   12.532532] [drm] radeon: 2048M of GTT memory ready.
[   12.532559] [drm] Loading mullins Microcode
[   12.640190] audit: type=1127 audit(1537306770.456:15): pid=348 uid=0 auid=4294967295 ses=4294967295 msg=' comm="systemd-update-utmp" exe="/usr/lib/systemd/systemd-update-utmp" hostname=? addr=? terminal=? res=success'
[   12.690479] audit: type=1130 audit(1537306770.506:16): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journal-catalog-update comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   12.789727] [drm] Internal thermal controller without fan control
[   12.791073] [drm] radeon: dpm initialized
[   12.818381] [drm] Found UVD firmware Version: 1.64 Family ID: 9
[   12.835255] [drm] Found VCE firmware/feedback version 40.2.2 / 15!
[   12.835298] [drm] GART: num cpu pages 524288, num gpu pages 524288
[   12.878167] [drm] PCIE GART of 2048M enabled (table at 0x000000000030E000).
[   12.878386] radeon 0000:00:01.0: WB enabled
[   12.878413] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0x00000000b2ae66d4
[   12.878417] radeon 0000:00:01.0: fence driver on ring 1 use gpu addr 0x0000000040000c04 and cpu addr 0x00000000b933ecc9
[   12.878421] radeon 0000:00:01.0: fence driver on ring 2 use gpu addr 0x0000000040000c08 and cpu addr 0x000000009b2baf28
[   12.878424] radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0x00000000bba5d9c5
[   12.878427] radeon 0000:00:01.0: fence driver on ring 4 use gpu addr 0x0000000040000c10 and cpu addr 0x000000002951cfeb
[   12.878947] radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000078d30 and cpu addr 0x000000008c5222c9
[   12.879163] radeon 0000:00:01.0: fence driver on ring 6 use gpu addr 0x0000000040000c18 and cpu addr 0x00000000de81b8b5
[   12.879169] radeon 0000:00:01.0: fence driver on ring 7 use gpu addr 0x0000000040000c1c and cpu addr 0x000000003d951d0a
[   12.879175] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   12.879177] [drm] Driver supports precise vblank timestamp query.
[   12.879283] radeon 0000:00:01.0: radeon: using MSI.
[   12.879343] [drm] radeon: irq initialized.
[   12.882396] [drm] ring test on 0 succeeded in 2 usecs
[   12.882474] [drm] ring test on 1 succeeded in 2 usecs
[   12.882495] [drm] ring test on 2 succeeded in 2 usecs
[   12.882700] [drm] ring test on 3 succeeded in 4 usecs
[   12.882707] [drm] ring test on 4 succeeded in 3 usecs
[   12.908765] [drm] ring test on 5 succeeded in 1 usecs
[   12.908793] [drm] UVD initialized successfully.
[   13.018896] [drm] ring test on 6 succeeded in 12 usecs
[   13.018906] [drm] ring test on 7 succeeded in 2 usecs
[   13.018908] [drm] VCE initialized successfully.
[   13.020029] [drm] ib test on ring 0 succeeded in 0 usecs
[   13.020170] [drm] ib test on ring 1 succeeded in 0 usecs
[   13.020307] [drm] ib test on ring 2 succeeded in 0 usecs
[   13.020446] [drm] ib test on ring 3 succeeded in 0 usecs
[   13.020583] [drm] ib test on ring 4 succeeded in 0 usecs
[   13.044292] audit: type=1130 audit(1537306770.859:17): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-update-utmp comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   13.299811] audit: type=1130 audit(1537306771.116:18): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   13.463142] audit: type=1130 audit(1537306771.279:19): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-timesyncd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   13.546941] [drm] ib test on ring 5 succeeded
[   13.547526] [drm] ib test on ring 6 succeeded
[   13.547973] [drm] ib test on ring 7 succeeded
[   13.550610] [drm] radeon atom DIG backlight initialized
[   13.550613] [drm] Radeon Display Connectors
[   13.550615] [drm] Connector 0:
[   13.550617] [drm]   eDP-1
[   13.550618] [drm]   HPD1
[   13.550621] [drm]   DDC: 0x6530 0x6530 0x6534 0x6534 0x6538 0x6538 0x653c 0x653c
[   13.550622] [drm]   Encoders:
[   13.550623] [drm]     LCD1: INTERNAL_UNIPHY
[   13.550625] [drm] Connector 1:
[   13.550626] [drm]   HDMI-A-1
[   13.550627] [drm]   HPD2
[   13.550629] [drm]   DDC: 0x6540 0x6540 0x6544 0x6544 0x6548 0x6548 0x654c 0x654c
[   13.550630] [drm]   Encoders:
[   13.550631] [drm]     DFP1: INTERNAL_UNIPHY
[   13.550632] [drm] Connector 2:
[   13.550633] [drm]   VGA-1
[   13.550636] [drm]   DDC: 0x65c0 0x65c0 0x65c4 0x65c4 0x65c8 0x65c8 0x65cc 0x65cc
[   13.550637] [drm]   Encoders:
[   13.550638] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[   14.133378] Bluetooth: hci0: command 0x1003 tx timeout
[   14.194868] [drm] fb mappable at 0xE0722000
[   14.194872] [drm] vram apper at 0xE0000000
[   14.194874] [drm] size 4325376
[   14.194875] [drm] fb depth is 24
[   14.194876] [drm]    pitch is 5632
[   14.195064] fbcon: radeondrmfb (fb0) is primary device

Hey thanks for your reply!

Sounds reasonable, feels scary to remove it totally, but I thought I did blacklist it by booting with radeon.si_support=0 amdgpu.si_support=1 but that might not be enough then.

Aha, I did this: MODULES=(amdgpu radeon) , but not this: # mkinitcpio -p linux <- so, that should help!

If it doesent, I’ll try blacklisting.

It said I need the very latest linux-firmware, but just normally keeping up with updates should mean I have that right?

EDIT: DUH stupid me, it is a Sea Island card, Mullins is! So amdgpu.cik_support=1 works! I have amdgpu now! Jeesh.

1 Like