From Fedora Project Wiki
 
(5 intermediate revisions by 2 users not shown)
Line 13: Line 13:


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF34]]
<!-- 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 31: Line 31:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* FESCo issue:  
* FESCo issue: [https://pagure.io/fesco/issue/2485 #2485]
* Tracker bug:  
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1888831 #1888831]
* Release Notes tracker:  
* Release Notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/574 #574]


== Detailed Description ==
== Detailed Description ==
Line 47: Line 47:
** Add support upstream to the linux-firmware copy-firmware script to compess the firmware and create the symlinks to the compressed firmware
** 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 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
** 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)
** Enable the CONFIG_FW_LOADER_COMPRESS kernel option (long complete)



Latest revision as of 20:47, 15 October 2020

Compress Kernel Firmware

Summary

Compress Kernel Firmwares to reduce on disk size

Owner

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.

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