Ucode for AMD embedded graphics install guide

https://youtu.be/TJ98nKHI5jY?t=397

Responding to Ryan’s potential issue with a Vega GPU in the latest DL, this may also be helpful for others…

If you can’t start your Linux desktop environment you might be missing microcode (ucode). freedesktop.org is a good source for FOSS Radeon ucode among other things, their collection is here: Index of /~agd5f/radeon_ucode

At the time of writing:

bonaire
carrizo
fiji
hawaii
kabini
kaveri
mullins
navi10
polaris
raven
stoney
tonga
topaz
vegam
vega10
vega12
vega20

Installation guide:

# Go to: https://people.freedesktop.org/~agd5f/radeon_ucode/ and note the folder name of the ucode you want.

# Boot to terminal (recovery mode), if you can't get into the DE.

# Get the latest kernel
sudo apt update && dist-upgrade

# Download the ucode (replace FOLDER_NAME with the one you want)
# wget -m -np https://people.freedesktop.org/~agd5f/radeon_ucode/FOLDER_NAME/
# ^-- this method is now deprecated! (see: following post)
# Obtain ucode manually from here: https://web.archive.org/web/20200112165952/https://people.freedesktop.org/~agd5f/radeon_ucode/

# Move the ucode to the right location
sudo mkdir /lib/firmware/amdgpu
sudo cp /DIR/CONTAINING/UCODE/*.bin /lib/firmware/amdgpu

# Add it to the latest kernel
sudo /usr/sbin/update-initramfs -u
sudo reboot

Removal guide:

sudo rm /lib/firmware/amdgpu
sudo /usr/sbin/update-initramfs -u
sudo reboot
3 Likes

These have been moved or deleted as of ~Fed, 2021. I don’t know why but they may have been merged with the Kernel, been made redundant, support may have been dropped or perhaps spring cleaning. Distros like Fedora, CentOS and RHEL pre-installed them for example.

Presently the only firmware availabe is green_sardine.

If you need these archive.org has all the contents backed up as of March, 2020 here, consider donating a few bucks if they saved your bacon.

Fedora/CentOS/RHEL users can list their freedesktop.org drivers as follows. At a guess i’d say these are usable with any other Linux distro but I have no confirmation of that. Proceed at your own risk.

$ ls /lib/firmware/amdgpu

arcturus_asd.bin         navi14_gpu_info.bin      raven_mec2.bin
arcturus_gpu_info.bin    navi14_me.bin            raven_mec.bin
arcturus_mec2.bin        navi14_mec2.bin          raven_pfp.bin
arcturus_mec.bin         navi14_mec2_wks.bin      raven_rlc.bin
arcturus_rlc.bin         navi14_mec.bin           raven_sdma.bin
arcturus_sdma.bin        navi14_mec_wks.bin       raven_ta.bin
arcturus_smc.bin         navi14_me_wks.bin        raven_vcn.bin
arcturus_sos.bin         navi14_pfp.bin           renoir_asd.bin
arcturus_ta.bin          navi14_pfp_wks.bin       renoir_ce.bin
arcturus_vcn.bin         navi14_rlc.bin           renoir_dmcub.bin
banks_k_2_smc.bin        navi14_sdma1.bin         renoir_gpu_info.bin
bonaire_ce.bin           navi14_sdma.bin          renoir_me.bin
bonaire_k_smc.bin        navi14_smc.bin           renoir_mec2.bin
bonaire_mc.bin           navi14_sos.bin           renoir_mec.bin
bonaire_me.bin           navi14_ta.bin            renoir_pfp.bin
bonaire_mec.bin          navi14_vcn.bin           renoir_rlc.bin
bonaire_pfp.bin          navy_flounder_ce.bin     renoir_sdma.bin
bonaire_rlc.bin          navy_flounder_dmcub.bin  renoir_ta.bin
bonaire_sdma1.bin        navy_flounder_me.bin     renoir_vcn.bin
bonaire_sdma.bin         navy_flounder_mec2.bin   si58_mc.bin
bonaire_smc.bin          navy_flounder_mec.bin    sienna_cichlid_ce.bin
bonaire_uvd.bin          navy_flounder_pfp.bin    sienna_cichlid_dmcub.bin
bonaire_vce.bin          navy_flounder_rlc.bin    sienna_cichlid_me.bin
carrizo_ce.bin           navy_flounder_sdma.bin   sienna_cichlid_mec2.bin
carrizo_me.bin           navy_flounder_smc.bin    sienna_cichlid_mec.bin
carrizo_mec2.bin         navy_flounder_sos.bin    sienna_cichlid_pfp.bin
carrizo_mec.bin          navy_flounder_ta.bin     sienna_cichlid_rlc.bin
carrizo_pfp.bin          navy_flounder_vcn.bin    sienna_cichlid_sdma.bin
carrizo_rlc.bin          oland_ce.bin             sienna_cichlid_smc.bin
carrizo_sdma1.bin        oland_k_smc.bin          sienna_cichlid_sos.bin
carrizo_sdma.bin         oland_mc.bin             sienna_cichlid_ta.bin
carrizo_uvd.bin          oland_me.bin             sienna_cichlid_vcn.bin
carrizo_vce.bin          oland_pfp.bin            stoney_ce.bin
fiji_ce.bin              oland_rlc.bin            stoney_me.bin
fiji_mc.bin              oland_smc.bin            stoney_mec.bin
fiji_me.bin              oland_uvd.bin            stoney_pfp.bin
fiji_mec2.bin            picasso_asd.bin          stoney_rlc.bin
fiji_mec.bin             picasso_ce.bin           stoney_sdma.bin
fiji_pfp.bin             picasso_gpu_info.bin     stoney_uvd.bin
fiji_rlc.bin             picasso_me.bin           stoney_vce.bin
fiji_sdma1.bin           picasso_mec2.bin         tahiti_ce.bin
fiji_sdma.bin            picasso_mec.bin          tahiti_k_smc.bin
fiji_smc.bin             picasso_pfp.bin          tahiti_mc.bin
fiji_uvd.bin             picasso_rlc_am4.bin      tahiti_me.bin
fiji_vce.bin             picasso_rlc.bin          tahiti_pfp.bin
green_sardine_asd.bin    picasso_sdma.bin         tahiti_rlc.bin
green_sardine_ce.bin     picasso_ta.bin           tahiti_smc.bin
green_sardine_dmcub.bin  picasso_vcn.bin          tahiti_uvd.bin
green_sardine_me.bin     pitcairn_ce.bin          tonga_ce.bin
green_sardine_mec2.bin   pitcairn_k_smc.bin       tonga_k_smc.bin
green_sardine_mec.bin    pitcairn_mc.bin          tonga_mc.bin
green_sardine_pfp.bin    pitcairn_me.bin          tonga_me.bin
green_sardine_rlc.bin    pitcairn_pfp.bin         tonga_mec2.bin
green_sardine_sdma.bin   pitcairn_rlc.bin         tonga_mec.bin
green_sardine_ta.bin     pitcairn_smc.bin         tonga_pfp.bin
green_sardine_vcn.bin    pitcairn_uvd.bin         tonga_rlc.bin
hainan_ce.bin            polaris10_ce_2.bin       tonga_sdma1.bin
hainan_k_smc.bin         polaris10_ce.bin         tonga_sdma.bin
hainan_mc.bin            polaris10_k2_smc.bin     tonga_smc.bin
hainan_me.bin            polaris10_k_mc.bin       tonga_uvd.bin
hainan_pfp.bin           polaris10_k_smc.bin      tonga_vce.bin
hainan_rlc.bin           polaris10_mc.bin         topaz_ce.bin
hainan_smc.bin           polaris10_me_2.bin       topaz_k_smc.bin
hawaii_ce.bin            polaris10_me.bin         topaz_mc.bin
hawaii_k_smc.bin         polaris10_mec2_2.bin     topaz_me.bin
hawaii_mc.bin            polaris10_mec_2.bin      topaz_mec2.bin
hawaii_me.bin            polaris10_mec2.bin       topaz_mec.bin
hawaii_mec.bin           polaris10_mec.bin        topaz_pfp.bin
hawaii_pfp.bin           polaris10_pfp_2.bin      topaz_rlc.bin
hawaii_rlc.bin           polaris10_pfp.bin        topaz_sdma1.bin
hawaii_sdma1.bin         polaris10_rlc.bin        topaz_sdma.bin
hawaii_sdma.bin          polaris10_sdma1.bin      topaz_smc.bin
hawaii_smc.bin           polaris10_sdma.bin       vega10_acg_smc.bin
hawaii_uvd.bin           polaris10_smc.bin        vega10_asd.bin
hawaii_vce.bin           polaris10_smc_sk.bin     vega10_ce.bin
kabini_ce.bin            polaris10_uvd.bin        vega10_gpu_info.bin
kabini_me.bin            polaris10_vce.bin        vega10_me.bin
kabini_mec.bin           polaris11_ce_2.bin       vega10_mec2.bin
kabini_pfp.bin           polaris11_ce.bin         vega10_mec.bin
kabini_rlc.bin           polaris11_k2_smc.bin     vega10_pfp.bin
kabini_sdma1.bin         polaris11_k_mc.bin       vega10_rlc.bin
kabini_sdma.bin          polaris11_k_smc.bin      vega10_sdma1.bin
kabini_uvd.bin           polaris11_mc.bin         vega10_sdma.bin
kabini_vce.bin           polaris11_me_2.bin       vega10_smc.bin
kaveri_ce.bin            polaris11_me.bin         vega10_sos.bin
kaveri_me.bin            polaris11_mec2_2.bin     vega10_uvd.bin
kaveri_mec2.bin          polaris11_mec_2.bin      vega10_vce.bin
kaveri_mec.bin           polaris11_mec2.bin       vega12_asd.bin
kaveri_pfp.bin           polaris11_mec.bin        vega12_ce.bin
kaveri_rlc.bin           polaris11_pfp_2.bin      vega12_gpu_info.bin
kaveri_sdma1.bin         polaris11_pfp.bin        vega12_me.bin
kaveri_sdma.bin          polaris11_rlc.bin        vega12_mec2.bin
kaveri_uvd.bin           polaris11_sdma1.bin      vega12_mec.bin
kaveri_vce.bin           polaris11_sdma.bin       vega12_pfp.bin
mullins_ce.bin           polaris11_smc.bin        vega12_rlc.bin
mullins_me.bin           polaris11_smc_sk.bin     vega12_sdma1.bin
mullins_mec.bin          polaris11_uvd.bin        vega12_sdma.bin
mullins_pfp.bin          polaris11_vce.bin        vega12_smc.bin
mullins_rlc.bin          polaris12_32_mc.bin      vega12_sos.bin
mullins_sdma1.bin        polaris12_ce_2.bin       vega12_uvd.bin
mullins_sdma.bin         polaris12_ce.bin         vega12_vce.bin
mullins_uvd.bin          polaris12_k_mc.bin       vega20_asd.bin
mullins_vce.bin          polaris12_k_smc.bin      vega20_ce.bin
navi10_asd.bin           polaris12_mc.bin         vega20_me.bin
navi10_ce.bin            polaris12_me_2.bin       vega20_mec2.bin
navi10_gpu_info.bin      polaris12_me.bin         vega20_mec.bin
navi10_me.bin            polaris12_mec2_2.bin     vega20_pfp.bin
navi10_mec2.bin          polaris12_mec_2.bin      vega20_rlc.bin
navi10_mec.bin           polaris12_mec2.bin       vega20_sdma1.bin
navi10_pfp.bin           polaris12_mec.bin        vega20_sdma.bin
navi10_rlc.bin           polaris12_pfp_2.bin      vega20_smc.bin
navi10_sdma1.bin         polaris12_pfp.bin        vega20_sos.bin
navi10_sdma.bin          polaris12_rlc.bin        vega20_ta.bin
navi10_smc.bin           polaris12_sdma1.bin      vega20_uvd.bin
navi10_sos.bin           polaris12_sdma.bin       vega20_vce.bin
navi10_ta.bin            polaris12_smc.bin        vegam_ce.bin
navi10_vcn.bin           polaris12_uvd.bin        vegam_me.bin
navi12_asd.bin           polaris12_vce.bin        vegam_mec2.bin
navi12_ce.bin            raven2_asd.bin           vegam_mec.bin
navi12_dmcu.bin          raven2_ce.bin            vegam_pfp.bin
navi12_gpu_info.bin      raven2_gpu_info.bin      vegam_rlc.bin
navi12_me.bin            raven2_me.bin            vegam_sdma1.bin
navi12_mec2.bin          raven2_mec2.bin          vegam_sdma.bin
navi12_mec.bin           raven2_mec.bin           vegam_smc.bin
navi12_pfp.bin           raven2_pfp.bin           vegam_uvd.bin
navi12_rlc.bin           raven2_rlc.bin           vegam_vce.bin
navi12_sdma1.bin         raven2_sdma.bin          verde_ce.bin
navi12_sdma.bin          raven2_ta.bin            verde_k_smc.bin
navi12_smc.bin           raven2_vcn.bin           verde_mc.bin
navi12_sos.bin           raven_asd.bin            verde_me.bin
navi12_ta.bin            raven_ce.bin             verde_pfp.bin
navi12_vcn.bin           raven_dmcu.bin           verde_rlc.bin
navi14_asd.bin           raven_gpu_info.bin       verde_smc.bin
navi14_ce.bin            raven_kicker_rlc.bin     verde_uvd.bin
navi14_ce_wks.bin        raven_me.bin