IT Home June 7th news, technology media omgubuntu released a blog post today (June 7th), reporting that Canonical engineer Juerg Haefliger proposed to split the linux-firmware firmware package. Although it can improve efficiency, this move may affect Ubuntu's hardware compatibility.
IT Home Note: linux-firmware is the core firmware package in the Ubuntu system, which includes drivers and microcodes that support various hardware, covering Wi-Fi adapters, graphics cards to storage controllers and other devices.
However, the volume of this package continues to grow with new hardware support and firmware improvements. Many users frequently see hundreds of MB of updates in the software updater, downloading the full package multiple times within a month.
For example, between 2023 and November 2024, some users suffered from 500MB updates due to traffic restrictions, and 99% of the content in the package may not be related to their devices.
Not only are users affected, Canonical's infrastructure is under pressure. Larger update packages mean higher bandwidth costs and build times are also extended.
Although the firmware package contains many necessary components, not all users need it. For example, users using Intel or AMD devices may not need the firmware of the RISC-V system. Although this "one-size-fits-all" approach is convenient, it brings inefficiency. How to optimize the update mechanism has become an urgent problem.
Canonical engineer Juerg Haefliger initiated a discussion, proposing to split linux-firmware into manufacturer-specific subpackages for hardware manufacturers such as Intel, AMD and Broadcom respectively.
This method can significantly reduce the installation footprint of Ubuntu, accelerate the user update process, and bring efficiency improvements to Canonical. The challenge, however, is that Ubuntu’s “out-of-the-box” feature relies on all firmware preinstalled. If the critical firmware is missing at startup, the hardware may not work properly.
One idea is to preinstall all firmware subpackages in the Ubuntu installation image (ISO), and after installation is completed, the installer removes unnecessary parts, similar to handling unused language files or applications.
Another easier way is to divide firmware packages by architecture, such as Intel/AMD device users do not need to download ARM or RISC-V related firmware. The two solutions have their own advantages and disadvantages, and the architecture division saves space, while the manufacturer division may increase complexity. Regardless of the approach taken, decisions need to be cautious and adequately tested.