Fedora 37 Looks To Better Manage Its 175MB+ Of Linux Firmware Blobs
The size of the linux-firmware.git tree continues to grow with Linux continuing to support more and more modern hardware that is increasingly reliant upon firmware blobs for operation. Most Linux distributions like Fedora end up installing this entire set of Linux firmware files that can easily be 200~300MB even though most systems only use a few select files. With Fedora 37 later this year they are hoping to better deal with the situation by splitting up of linux-firmware and only installing sets of firmware packages depending upon the actual hardware in use.
OpenSUSE already has carried out work in this area with their Zypper software for splitting up of the Linux firmware package and then installing the necessary packages based upon the hardware present in the system running. Facebook/Meta engineers have proposed a similar approach for Fedora 37 where the linux-firmware set would be split into smaller packages and then via DNF integration have the necessary firmware files be automatically installed.
The proposal laid out for Fedora 37 would include splitting up of CPU, GPU, various wireless/WiFi adapters, and Bluetooth files into separate firmware packages. Then via a DNF plug-in based upon the hardware in use it would aim to automatically install only the sets of firmware that would actually be used by the given hardware. In turn this could free up the better part of 200~300MB of firmware files per system. Or there would be a "linux-firmware-all" package for those still wanting to keep all the firmware files present on their local system.
With the ballooning size of linux-firmware.git, it makes sense and hopefully more Linux distributions will move to a similar approach... Or at least gating firmware for a lot older hardware into a separate package or finding other innovative ways of dealing with the increasingly growing set of firmware binaries that may be used by the Linux kernel drivers.
The Fedora 37 change proposal for reigning in the Linux firmware package can be found via the Fedora Wiki. This change proposal still needs to be approved of by the Fedora Engineering and Steering Committee (FESCo).
OpenSUSE already has carried out work in this area with their Zypper software for splitting up of the Linux firmware package and then installing the necessary packages based upon the hardware present in the system running. Facebook/Meta engineers have proposed a similar approach for Fedora 37 where the linux-firmware set would be split into smaller packages and then via DNF integration have the necessary firmware files be automatically installed.
The proposal laid out for Fedora 37 would include splitting up of CPU, GPU, various wireless/WiFi adapters, and Bluetooth files into separate firmware packages. Then via a DNF plug-in based upon the hardware in use it would aim to automatically install only the sets of firmware that would actually be used by the given hardware. In turn this could free up the better part of 200~300MB of firmware files per system. Or there would be a "linux-firmware-all" package for those still wanting to keep all the firmware files present on their local system.
With the ballooning size of linux-firmware.git, it makes sense and hopefully more Linux distributions will move to a similar approach... Or at least gating firmware for a lot older hardware into a separate package or finding other innovative ways of dealing with the increasingly growing set of firmware binaries that may be used by the Linux kernel drivers.
The Fedora 37 change proposal for reigning in the Linux firmware package can be found via the Fedora Wiki. This change proposal still needs to be approved of by the Fedora Engineering and Steering Committee (FESCo).
32 Comments