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.