Would be very interested to know how to get the amdgpu drivers since I’m still on radeon.
I gave up and moved on to other software things when my early searches found descriptions of how to change the driver in grub…but then I realized we were in u-boot land.
If it’s just a matter of upgrading kernel, that would be swell too.
I began with the Ubuntu 21.04 image that was current when the boards started shipping.
fwiw i booted back into ubuntu 5.11.0-1012-generic and i still get driver=amdgpu so im guessing it doesnt have anything to do with the particular kernel…
maybe its some kind of issue with specific boards?
While both radeon and amdgpu are supported for some GPUs, the upstream kernel defaults to radeon for the AMD SI (a.k.a. GCN 1.0, including Pitcairn, which is the silicon underlying the 7850) and CKI (a.k.a. GCN 1.1, including Bonaire, the silicon underlying the 260X) GPU families, and our kernel respects that default. There’s some discussion in Ubuntu bug #1847198.
However, our kernels do enable the optional amdgpu support for those GPUs (by setting CONFIG_DRM_AMDGPU_SI=y and CONFIG_DRM_AMDGPU_CIK=y), it’s just not the default. You should be able to force the use of amdgpu by adding blacklist radeon to the end of /etc/modprobe.d/blacklist.conf, then running update-initramfs -u and rebooting.
(Polaris, a.k.a. GCN 4.0, the silicon underlying 540/540X/550/550X, is modern enough that it is only supported by amdgpu.)
Unfortunately the directions above did not work for me.
But I did have more success with following this guide here AMDGPU - ArchWiki
And I removed the module black listing suggested originally.
I am successfully using the AMDGPU drivers now, but suffice to say, I’m still having difficulties getting Vulkan working.
But I must thank you again for your advice @wgrant
Congrats to your endeavors @pierce. I had also been looking at that guide for Arch, but had only seen samples of setting kernel parameters in other guides using grub…I was coming up short looking for u-boot help.
Did you have to recompile the kernel, or were you successful using the u-boot parameter passing as @wgrant suggested above?
If I understand the arch wiki and wgrant’s helpful u-boot guidance above correctly, I think I’ve summarized what I need to do below. Also, note that I’m CIK not SI like you are, but I guess turning both on would not hurt since I think I have an older SI card around here too)
Would you sanity check this list below against what you did to successfully get amdgpu going? I’m not going to try something until I know exactly what I’m in for
EDITED: steps below were adjusted after @pierce confirmed the steps, and I successfully applied then and enabled amdgpu on the unmatched for my CIK card as well
Set kernel parameters in u-boot by editing /etc/default/u-boot U_BOOT_PARAMETERS="ro earlycon radeon.cik_support=0 amdgpu.cik_support=1 radeon.si_support=0 amdgpu.si_support=1
Runu-boot-update
Create or Edit/etc/modprobe.d/amdgpu.confto ensure it has the following entries options amdgpu si_support=1 options amdgpu cik_support=1
Create or Edit/etc/modprobe.d/radeon.confto ensure it has the following entries options radeon si_support=0 options radeon cik_support=0
Regenerate initramfs sudo update-initramfs -k all -u -v
Reboot
Actually, none of the 3 conf files mentioned in the wiki exist on my system now, so it looks like I’d be creating them from scratch?
Thanks for all the guidance, folks.
============================ EDITED: step below was removed from the steps based on @pierce 's confirmation that is may be Arch specific
Create or Edit/etc/mkinitcpio.confto ensure it has the following entries. *Here is where I am most confused since this file does not exist on my system and it seems more complicated than the 2 conf files above. modconf is in the the HOOKS array MODULES=(amdgpu radeon)
I didn’t have to recompile the kernel, I tested it against the 5.12.4 and 5.11.0.1012 kernels, and it appears fine. In the post for 5.12.4, the config for building shows that the modules we need are already supplied, and @wgrant confirmed that it’s already the case with the stock ubuntu kernels.
I just followed the instructions for both cik and si (because why not).
Editing u-boot on its own didn’t seem to work on its own, but I still have it there “just in case”.
I have both the amdgpu.conf and radeon.conf, as you have.
I didn’t touch mkinitcpio.conf, as I think this is not really a debian/ubuntu thing, but more an arch thing.
Then I ran sudo update-initramfs -k all -u to ensure all kernels are updated (this may take a while). It may be worthwhile chucking a -v in there, just in case you’re still having issues. There were a few warnings regarding missing firmware blobs for amdgpu cards that weren’t related to Pitcairn/Southern Islands, but if you fall into this category there are guides on stack overflow in how to import these firmware blobs.
Then I just rebooted and confirmed with lspci -k | grep -EA3 'VGA|3D|Display' and sudo lshw -c video
Thanks, @pierce I am successfully updated and now using amdgpu with my CIK family card. I updated my original steps post above with your clarifications, which worked perfectly for me.
So somehow, I’m running AMDGPU with audio out of HDMI. If anyone has tried the above steps and hasn’t got audio out, I’d love to compare notes.
The other thing I’ve encountered is that there are THREE distinct Vulkan implementations for AMD GPUs.
AMDVLK
AMDGPU-PRO
RADV
The PRO driver is AMD’s binary only driver which I don’t believe will ever work on the Unmatched.
The AMDVLK driver is what comes bundled AMDPRO and is also maintained by AMD.
RADV is apparently not a product of AMD, but rather the Mesa team.
So we should technically have two options of Vulkan on the unmatched, AMDVLK or RADV. But there is some source building that needs to be had. What that source is, I’m having trouble ascertaining.
I’d love to know if anyone else has attempted to get Vulkan going, or has any idea on how to get it going.
I’m really interested in this too. I think the best bet is radv. Up into now I gave up at the “debian doesn’t build vulkan drivers for RISC-V” step, though, haven’t tried compiling MESA myself, I have done so many times as part of a job years ago so I might try. But I don’t know why it isn’t built, if there’s any non trivial dependency issues.
Nice. I’ve also managed to get Vulkan working; on Ubuntu 21.04… with mesa 21.1.8 [Ill try Mesa 21.2.x once Ubuntu 21.10 is released…]
I’m using a Radeon RX 550 [2 GB] gfx card.
Dependencies and build:
[I’d already installed a GNOME desktop and built & run some OpenGL / libSDL games, so this isn’t the full list of dependencies on a clean system…]
As a follow up to my previous post, I’ve also built the latest version [from Git] of CoreCtrl, with seems to be working perfectly with the GPU [the CPU info is blank for obvious resasons].
This, IMHO, shows the great work the mesa team, the community, and AMD have done on the open source AMD drivers and Mesa software stack…
Next, I may try my Radeon 5700 XT, which I expect to work without any issues…
An older version of Mesa [including OpenGL] is already installed [& “active”] in the base installation of Ubuntu 21.04 [once you install desktop, with X, GPU drivers, etc…], so it’s already there.
All I did was build a later version, and include the Vulkan “driver” - RADV - in the build. I didn’t overwrite the system default Mesa install, so unable to see if newer Mesa version made a difference, but I highly doubt it will make any noticeable difference in the desktop performance.
Ubuntu 21.10 will have an even newer version of Mesa [since the version of Mesa I could build was limited by the amdgpu driver version in the included 5.11.x kernel version]. I’m hoping a working RADV Vulkan driver will be included as part of the available packages.
Once 21.10 releases, I’ll switch to that and see if I can notice any subjective [or objective] differences…but again, I don’t really expect any noticeable improvement.
amdgpu kernel driver and Mesa RaseonSI/RADV are very mature at this point, especially for the RX 5xx series [I’ve tried an RX 550 and RX 580 with my Unmatched]; I honestly think the Desktop “lagginess” is due to the relatively low CPU performance… not the graphics software stack…
A new version of Mesa can sometimes improve performance (or, worsen in case of a regression). Vulkan, no—won’t make a difference. None of the commonplace Linux desktop programs support using that for rendering, not even blender yet.
And this. Any kind of discrete PCI-e GPU will be really overpowered already compared to the CPU.