When do you need to install firmware explicitly?

Some people some times seem to need to install some firmwares.

For example, a year ago, users of the then-new AMD 5700 XT GPU needed to install the GPU's firmware via the linux-firmware-agd5f-radeon-navi10 package. Later, people were told not to do this because it's not necessary. Is that because the firmware in that package eventually became included in the standard driver or the kernel?

Is explicitly installing firmware like this (which is mystically separate from the drivers) purely a symptom of poor hardware support, only necessary until the firmware is included in the driver or kernel? I've also heard the terms "mainlined" and "in tree", unsure how they relate.

You have a little reading homework:

come back when you have another question.

Your links delineate the difference between drivers and firmware, which is helpful:

  • "Device drivers are specific to operating system which allow the kernel of the OS to communicate with hardware devices"
  • "Firmware is a set of instructions programmed into a hardware device" . . . "Firmware is typically stored in the read-only memory of a hardware device, and can be erased and rewritten. Firmware updates often require specialized standalone applications, custom boot mechanisms, and require extensive research as each vendor provides one or more versions of firmware updates for its device."

The last firmware bit there is slightly confusing since, in Linux, firmware seems to be installed as packages via the package manager just like drivers.

However, my question is more Linux-specific: why are explicit firmware installs sometimes necessary for some hardware and then, later, no longer necessary for that same hardware?

Because like as for the kernel.. patches or feature into the kernel are not always merged into the Linus tree or need time.
The linux-firmware package come from the kernel project.. It need some times for new firmware to be accepted and added there.

I see. In this context, is there any difference between "the kernel" and the linux-firmware package? (I.e., is all firmware that is "merged into the kernel" in this package?)

the kernel is just the kernel source.. drivers etc..
the linux-firmware is just firmwares files needed by hardware and the kernel.
the linux-firmware is just a set of firmware collected and managed by the linux kernel project.

So firmware takes the following progression over time:

random packages like linux-firmware-agd5f-radeon-navi10 :arrow_right: linux-firmware package

It just takes time for firmware to be included into the linux-firmware package.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by