From Fedora Project Wiki

Compress Kernel Firmware


Compress Kernel Firmwares to reduce on disk size


Current status

Detailed Description

Since the linux 5.3 kernel there has been support for loading firmware from xz compressed firmware. The upstream linux-firmware respository is now over 900Mb, not including other kernel firmware that are in Fedora but come from other sources. By compessing the firmware with "xz -C crc32", the only option currently supported in the kernel, we can reduce the ondisk size of the firmware by almost half.

Benefit to Fedora

Reduced on disk size of the firmware used by the kernel.


  • Proposal owners:
    • Add support upstream to the linux-firmware copy-firmware script to compess the firmware and create the symlinks to the compressed firmware
    • Enable the upstream support in the Fedora linux-firmware package to compress the firmware at build time
    • Enable compressing firmware in packages that contain firmware used by the kernel: eg alsa-sof-firmware, atmel-firmware, zd1211-firmware
    • Enable the CONFIG_FW_LOADER_COMPRESS kernel option (long complete)
  • Other developers:
    • No impact
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

There should be no upgrade impact, the support was added to the generic firmware loader interface in the kernel.

How To Test

Check devices that need firmware still work. Some devices that need firmware include:

  • GPU drivers such as nvidia, AMD and i915
  • Wireless drivers such as those from Intel, Broadcom/Cyprus, TI, Qualcomm and Marvel
  • Wired network interfaces
  • Storage drivers
  • USB controllers and drivers

User Experience

Generally users should notice little to no difference.


N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: Don't compress kernel firmware
  • Contingency deadline: GA
  • Blocks release? No.
  • Blocks product? No.


N/A (not a System Wide Change)

Release Notes