To many Ubuntu users, any update is beneficial, regardless of its size. The linux-firmware
package is a prime example, as it continues to expand with more drivers and microcode for various hardware, from Wi-Fi cards to graphics and storage controllers. Users often find themselves downloading substantial updates, sometimes over 800MB, which consist of firmware that may not be necessary for their specific setups.
This all-in-one firmware package includes many blobs that are only relevant for certain systems. For example, someone using Intel hardware still has to download firmware for systems they don’t use, like RISC-V. This can lead to frustrating challenges, especially for users with limited bandwidth.
Canonical engineer Juerg Haefliger has raised the possibility of splitting the linux-firmware
package into separate vendor-specific sub-packages. This would mean creating distinct packages for manufacturers like Intel, AMD, and Broadcom. Such a change could reduce the installed footprint, decrease update times, and lower bandwidth costs for Canonical. However, this approach complicates the "works out of the box" nature of Ubuntu, which currently relies on including all firmware to ensure compatibility across a wide range of hardware.
Proposals suggest either preinstalling all potential vendor firmware on the ISO and then letting the installer remove unnecessary ones post-installation or simply categorizing firmware based on architecture to avoid downloading irrelevant blobs. While the latter may not save as much space, both ideas have their merits and potential downsides.
As new hardware continues to emerge and updates for existing firmware are released, the size of linux-firmware
will only increase. Currently, discussions are in their early stages, and no final decision has been made. However, given the obvious advantages for users and Canonical, it’s likely that some form of firmware package optimization will be considered in future Ubuntu releases.