Zstd-Compressed Linux Firmware Back To Being Eyed

Written by Michael Larabel in Linux Kernel on 29 January 2022 at 05:56 AM EST. 15 Comments
LINUX KERNEL
Back in summer 2020 was a proposal for Zstd-compressed Linux firmware so that the growing number of firmware binaries shipped by the linux-firmware tree could be Zstd-compressed to save disk space while being able to more quickly decompressed the data compared to other firmware compression options.

Following that original 2020 patch proposal, one year ago Zstd firmware compression was again talked about with patches in hand but never acted upon for mainlining. This would save disk space compared to the uncompressed hundreds of megabytes of firmware files and be quicker to decompress than using XZ compression and thus a faster boot time.

That 2021 work didn't make it across the finish line while this week the discussion over Zstd-compressed Linux firmware was again resurrected. In this thread was an inquiry over its status. Takashi Iwai of SUSE who worked on the 2021 patches ended up then re-basing his prior patches and adapting to the latest Zstd API found within the Linux kernel.

This Git branch has the Zstd firmware loader work re-based against the Linux 5.17 kernel. He's hoping people will test it out and to confirm that it's working appropriately and used -- if so, he can work on getting the patches queued for mainline.

Takashi commented on the patch adding the FW_LOADER_COMPRESS_ZSTD functionality:
Due to the popular demands on ZSTD, here is a patch to add a support of ZSTD-compressed firmware files via the direct firmware loader. It's just like XZ-compressed file support, providing a decompressor with ZSTD. Since ZSTD API can give the decompression size beforehand, the code is even simpler than XZ.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week