2

This is a follow-up to a question I asked a couple of days ago, relating to the amdgpu module not being loadable on boot after an Arch upgrade (AMDGPU module fails to load after Arch upgrade: "Cannot allocate memory").

Having read around a bit online, I suspect the issue may be that the GPU firmware is not being loaded on boot. So, I have a double-barrelled question related to this:

  1. How can I verify if the firmware for my AMD GPU was loaded on boot or not?

  2. If it wasn't, is it possible to load the GPU firmware manually, after boot? Is there a command for that? (I know that won't be a workable long-term solution, but it might help pinpoint where the issue is)

16
  • is "microcode" something specific to amdgpu? Or is this just asking whether the firmware was loaded? Commented May 12 at 13:40
  • @MarcusMüller my understanding is that 'microcode' refers to a kind of firmware that needs to be loaded at boot time, for these devices to work properly (as opposed to persistent onboard firmware). My understanding is that both NVidia and AMD GPUs typically require microcode to be loaded on boot. So, my question is: how to verify if that microcode has been loaded (and what to do, if it hasn't been)? (of course, my understanding in these areas could be wrong!) Commented May 12 at 13:47
  • 1
    Generally speaking, "Firmware" is the program code that consists out of CPU instructions, while "Microcode" is what CPU instructions themselves are made of. I've not heard of any GPU manufacturers issue stand-alone microcode updates. While it's in theory possible that the firmware image of a GPU can also include microcode updates (just like PC BIOS firmwares often have CPU microcode bundled into them), it would be a very small part of the entire image – maybe 1% or 0.1% – while the vast majority would be regular "program" code that runs on top of that microcode. Commented May 12 at 16:11
  • 1
    I doubt it would make practical sense for GPU manufacturers to issue stand-alone microcode updates. CPU manufacturers do so, because their CPU is integrated into someone else's product – the CPU and ucode come from Intel or AMD, while the firmware and software (both on the same level) come from ASUS or Gigabyte or Microsoft or whoever. But GPUs are an integrated unit, with the processing unit and the software (firmware) it runs being made by the same company – so if the ucode of some units is updateable, they just develop and ship it together with the firmware for all the units. Commented May 12 at 16:19
  • 2
    It's still a separate PCI device that just happens to share the physical package (and maybe RAM) with the CPU, but is still "booted up" separately and everything. Commented May 12 at 17:39

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.