From Fedora Project Wiki
Line 13: Line 13:
  
 
== Current status ==
 
== Current status ==
[[Category:ChangePageIncomplete]]
+
[[Category:ChangeReadyForWrangler]]
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 33: Line 33:
 
* FESCo issue:  
 
* FESCo issue:  
 
* Tracker bug:  
 
* Tracker bug:  
* Release Notes tracker:  
+
* Release Notes tracker:
  
 
== Detailed Description ==
 
== Detailed Description ==

Revision as of 09:33, 26 September 2020

Compress Kernel Firmware

Summary

Compress Kernel Firmwares to reduce on disk size

Owner

Current status

  • Targeted release: Fedora 34
  • Last updated: 2020-09-26
  • FESCo issue:
  • Tracker bug:
  • Release Notes tracker:

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.

Scope

  • 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.

Dependencies

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.

Documentation

N/A (not a System Wide Change)

Release Notes

N/A