The GNU Linux-libre 6.16 release lands on August 24, 2025 with a familiar promise and a precise mandate: take everything new and noteworthy in upstream Linux 6.16 and remove the parts that depend on proprietary firmware, binary-only microcode, or unclear redistribution terms, then ship a kernel that aims to be 100% free software from boot to shutdown.
GNU Linux-libre is a cleaned-up edition of the upstream Linux kernel that removes code known to load, request, or embed nonfree firmware (“blobs”). Its maintainers continuously track mainline development and apply a set of scripts and short patches—often called the “deblob” machinery—to eliminate any interface that would ask users to fetch or accept nonfree bits at runtime or compile time.
1) Runtime firmware requests
1) “No Wi‑Fi device found.”
Source: 9to5Linux GNU Linux-Libre 6.16 Kernel Is Now Available for Software Freedom Lovers - 9to5Linux
What GNU Linux-libre is—and what it isn’t
GNU Linux-libre is a cleaned-up edition of the upstream Linux kernel that removes code known to load, request, or embed nonfree firmware (“blobs”). Its maintainers continuously track mainline development and apply a set of scripts and short patches—often called the “deblob” machinery—to eliminate any interface that would ask users to fetch or accept nonfree bits at runtime or compile time.- The project’s stance is rooted in Free System Distribution Guidelines and a strict reading of “software freedom.” If a device needs a blob to function, Linux-libre ensures the kernel will not ask for it, will not include it, and will not offer hints for acquiring it.
- The result is not just a license-cleansed tree. The process also includes replacing or stubbing out code paths so that the kernel compiles, boots, and presents consistent device states even when original drivers would have delegated work to proprietary firmware.
- The intention is ethical and architectural clarity. The trade-off is practical: hardware that depends on nonfree firmware typically won’t work, or will run with reduced functionality.
What’s new in GNU Linux-libre 6.16
Because Linux-libre follows upstream cadence, each release tends to be short on splashy feature headlines and long on line-by-line diligence. Version 6.16 is typical in that respect: its top-line changes map to the set of drivers and subsystems introduced or modified in Linux 6.16 that either embed firmware or attempt to load it at runtime.De-blob updates targeting newly introduced drivers
According to the project’s 6.16 announcement, several first-time or reworked drivers in upstream 6.16 received focused cleanups:- Intel QAT 6xxx crypto: Newer QuickAssist variants rely on firmware during initialization and operation. Linux-libre removes the blob-loading paths and any inline blob fragments so the driver no longer attempts to fetch proprietary microcode.
- ST vd55g1 sensor: Any inline firmware arrays or loader calls are stripped, maintaining the driver interface without the nonfree payload.
- Qualcomm ath12k AHB Wi‑Fi: The AHB-attached flavor of ath12k gains deblob handling similar to PCIe variants. Linux-libre ensures that firmware requests for 802.11be hardware are not emitted.
- Aeonsemi AS21xxx: For this Ethernet/PHY family, inline blobs or loader hooks are cleaned out where present.
- MediaTek 25Gb Ethernet PHY: Linux-libre removes firmware-loading calls introduced with this PHY support while keeping the surrounding networking stack updates intact.
Adjustments and refinements across existing subsystems
The 6.16 cycle also revisits drivers and documentation that changed upstream, refreshing the cleaning rules accordingly:- Intel microcode loader documents: The project adjusts its filters for documentation and code paths that reference Intel’s proprietary microcode packages, ensuring the kernel does not present or rely on nonfree updates provided by the operating system.
- Nouveau and Nova Core (NVIDIA): Firmware expectations for modern NVIDIA GPUs continue to evolve. Linux-libre tightens its removal of blob requests and inline assets, mindful of changes in nouveau’s init paths and any new firmware naming conventions.
- Realtek r8169 Ethernet: Some r8169 device revisions can use optional firmware to reach peak stability or performance. The 6.16 cleanups align with upstream changes so r8169 continues to build and operate without attempting to pull in blobs.
- Qualcomm Iris and Venus video: The Qualcomm video decode/encode stack commonly relies on firmware for hardware blocks. Linux-libre updates its rules where filenames or load sites changed in 6.16.
- MediaTek mt7996 and Qualcomm ath11k/ath12k Wi‑Fi: With Wi‑Fi drivers rapidly iterating, Linux-libre again remaps firmware filenames and loader callsites to prevent requests for proprietary assets.
- Texas Instruments tas2781 codec/amplifier: Audio drivers sometimes ship with tuning files or DSP binaries. The project prunes these requests while keeping codec registration intact where possible.
- Renesas R‑Car Gen4 PCIe documentation: Any references to required blobs are scrubbed from docs alongside code adjustments.
Rust and firmware loader build fix
Linux has steadily grown its Rust support since 6.1. In 6.16, Linux-libre includes a build fix for the Rust firmware loader, ensuring the deblobbed kernel compiles cleanly with the Rust-enabled configurations that upstream introduced or altered this cycle.Backported blob-name cleanups
The maintainers note that they cleaned up new Intel VPU, AMD GPU, and Bluetooth USB (btusb) blob names earlier in the 6.16 development window and even backported some of those removals into Linux-libre 6.15. In other words, some of the work users will see in 6.16 has already benefited users on 6.15 through proactive maintenance.What the deblob process actually removes
Linux-libre’s approach remains consistent across releases. It targets three classes of nonfree dependencies:1) Runtime firmware requests
- Any driver path that calls request_firmware or its modern equivalents, often anticipating files provided by the linux-firmware repository, is rewritten or compiled out.
- Result: The driver either does not register, registers with reduced features, or exposes a nonfunctional interface that asserts support only when hardware does not require firmware. The goal is to avoid suggesting that a user fetch proprietary bits.
- Some upstream drivers historically included firmware as C arrays (“hex arrays”) to avoid the need for separate files. Linux-libre removes those arrays and associated glue code.
- Result: If the array was optional, the driver may continue to operate in a baseline mode; if it was mandatory, the device support is disabled to avoid dead-ends.
- Mentions of required proprietary firmware in documentation, Kconfig help, or diagnostic messages are cleaned or rephrased.
- Result: Build-time and runtime messaging aligns with the project’s commitment to avoid endorsing nonfree software.
What users can expect from 6.16
Broadly, users of GNU Linux-libre 6.16 should expect all non-firmware-related improvements from upstream 6.16—scheduler refinements, core subsystem updates, security hardening, networking stack work—to carry forward. Where firmware is involved, the behavior will match Linux-libre’s established norms:- Devices that absolutely demand proprietary firmware at boot will not work.
- Devices that can run with a built-in microcontroller but offer enhanced features via firmware may initialize with limited capability.
- Some drivers will be compiled out entirely if they cannot function at all without blobs.
GPUs: acceleration versus firmware reality
Modern GPUs are among the most firmware-dependent components in today’s PCs. Linux-libre 6.16 continues the project’s cautious posture:- AMDGPU: The open source driver expects microcode for nearly all GCN and RDNA GPUs. Without those binary files, the kernel can fall back to basic framebuffer or simple modesetting on some hardware. Users should not expect hardware acceleration or power management to work without AMD’s firmware files.
- NVIDIA (nouveau): For many recent NVIDIA GPUs, power management and graphics acceleration depend on signed firmware or GSP microcontrollers. Linux-libre removes all such requests, which usually leaves nouveau with extremely constrained functionality on modern cards.
- Intel: Integrated graphics on recent generations increasingly rely on GuC/HuC firmware for scheduling and media offload. While some chips can display basic graphics without those components, performance and features are curtailed in blob-free builds.
Wi‑Fi, Bluetooth, and Ethernet: the long tail of firmware
Wireless networking is another area with a strong reliance on proprietary firmware:- Intel Wi‑Fi (iwlwifi): Most Intel wireless chips need firmware to operate. Linux-libre disables the load paths, so the devices will not connect.
- Qualcomm Atheros: Classic ath5k and ath9k generations can function without proprietary firmware, which is why they are frequently recommended for blob-free laptops and access points. Newer ath10k/ath11k/ath12k families rely on firmware; Linux-libre removes the requests accordingly.
- MediaTek and Realtek: Support varies by chipset. Many modern MediaTek and Realtek Wi‑Fi solutions need firmware to come up. Some Realtek Ethernet controllers, like certain r8169 revisions, will link without firmware but may benefit from it. Linux-libre maintains the no-load policy even when firmware is merely “recommended.”
CPU microcode and platform firmware
The kernel can load microcode updates for x86 CPUs at boot. Linux-libre adheres to its policy by removing loader hooks and documentation that would guide users to proprietary microcode packages. Practically speaking:- Systems whose firmware (BIOS/UEFI) already includes updated microcode will retain those updates independent of the OS.
- Users who rely on the operating system to load microcode at boot will not receive those updates under Linux-libre, and kernel mitigations may be limited by the lack of microcode support.
How this release intersects with upstream Linux 6.16
Linux-libre is not a fork in the conventional, long-diverging sense. It is a close follower that carries forward upstream’s core work while subtracting specific firmware dependencies. Consequently, the 6.16 edition inherits:- Scheduler and CPU topology improvements, NUMA tuning, and power management changes that do not rely on closed firmware.
- Filesystem enhancements, including ext4, XFS, btrfs, and NFS fixes and features introduced for 6.16.
- Networking stack updates spanning TCP/IP, wire protocols, and higher-level frameworks—minus drivers that try to fetch blobs.
- Kernel hardening, cgroup and io_uring updates, and miscellaneous subsystem rewrites that are self-contained.
Practical installation options and packaging
The project ships source tarballs, allowing distributions and advanced users to compile the kernel with their chosen configuration. For convenience:- Debian-family binaries are available through community-maintained repositories that build Linux-libre in DEB format. Users can install alongside a distribution kernel and choose the blob-free entry at boot.
- Red Hat-family binaries are published similarly in RPM format, typically with spec files that track the upstream build changes.
Hardware selection considerations for a blob-free desktop
Linux-libre 6.16, like its predecessors, underlines a rule of thumb: the experience depends more on the hardware in the chassis than the kernel version. For a smooth blob-free desktop:- Graphics: Prefer integrated graphics from older Intel generations that can present modes without proprietary scheduling firmware, or use display controllers known to be self-contained. Dedicated GPUs are challenging in a blob-free setup.
- Wireless: Seek Atheros ath9k-based cards for 802.11n-era support without firmware. For wired networking, many Intel and Realtek controllers function adequately without external firmware, though specific board revisions vary.
- Audio: Most HDA and many USB audio devices work fine without blobs. DSP-accelerated codecs that expect tuning files may fall back to basic modes or remain disabled.
- Storage: SATA and NVMe controllers generally work without firmware downloads. Exotic controllers or those with onboard RAID firmware should be vetted.
Security posture: freedom, risk, and mitigations
Removing proprietary firmware alters the security envelope in two opposing ways:- Risk reduction via fewer opaque components: By refusing to load unknown code into kernel space or device microcontrollers, Linux-libre eliminates an entire class of supply-chain concerns and runtime behavior that cannot be audited.
- Risk increase via missed microcode/firmware fixes: Many vendor fixes for severe flaws are delivered as firmware updates. Users of Linux-libre must depend on platform firmware (BIOS/UEFI) for microcode and on hardware choices that do not require frequent firmware updates for correct operation.
- Choosing hardware with long-standing, blob-free driver support, which tends to be simple and stable.
- Keeping system firmware up to date through the platform’s update mechanism so that any microcode critical to CPU security is embedded before the OS boots.
- Leaning into security features independent of firmware, such as kernel hardening, strict MAC policies, and minimal userland attack surface.
Where Linux-libre fits in the modern Linux landscape
A blob-free kernel fills distinct niches:- Research and education: It is valuable for demonstrating the consequences and boundaries of software freedom on modern computers, and for teaching kernel architecture without the complications of proprietary components.
- Compliance-focused deployments: Organizations or projects that adopt strong free-software policies can rely on Linux-libre to enforce those policies at the kernel level.
- Embedded and bespoke systems: By selecting hardware with known-free firmware footprints—often older or specialized silicon—developers can ship devices aligned with strict licensing positions.
- Servers with simple I/O: Headless servers that use wired Ethernet and avoid GPU acceleration can run Linux-libre with minimal functional compromise, provided NICs and storage do not demand proprietary firmware.
Implications for dual-booters and Windows-first environments
For Windows-centric users who occasionally boot Linux, a Linux-libre setup introduces additional complexity:- Dual-boot systems often have GPUs (AMD/NVIDIA) and wireless adapters that rely on firmware. Linux-libre will not load those binaries, so graphics acceleration and Wi‑Fi may be absent in Linux even though they work in Windows.
- Storage, USB peripherals, and wired networking usually behave well, but laptops that depend on Bluetooth keyboards or trackpads can be impacted.
- Virtualization is a viable path: a Linux-libre guest running in a hypervisor leverages virtual devices (virtio, emulated NICs/displays) that don’t require proprietary firmware on the guest side. The host hardware remains opaque, but the guest environment stays consistent with Linux-libre values.
Developer experience and kernel configuration notes
Engineers building or customizing Linux-libre 6.16 will find that the workflow mirrors upstream:- The config surface is the same minus options that no longer make sense without firmware support. Some symbols auto-select off when their drivers cannot function without blobs.
- Standard build systems, toolchains, and debugging utilities work as expected. If enabling Rust, keep an eye on the specific build fix included for the firmware loader and ensure the Rust toolchain versions match upstream’s minimums for 6.16.
- Distribution packaging often layers additional patches and configuration defaults aimed at reproducible builds, deterministic compression, and stable ABI expectations. These can be helpful for environments that require strict version pinning.
Observations on the named subsystems in 6.16
The release notes call out specific areas worth watching:- Intel QAT 6xxx crypto: Removal of loader paths here maintains the kernel’s crypto acceleration options for devices that don’t require firmware, but hardware relying on QAT microcode will remain idle. In data center contexts, that can influence offload strategies for TLS, IPsec, and compression, steering deployments toward software implementations or alternative accelerators that do not rely on blobs.
- Qualcomm video (Iris, Venus): Media accelerators in mobile or embedded SoCs tend to rely heavily on firmware. Linux-libre’s cleanups maintain codec frameworks but leave hardware blocks dormant, reinforcing the need to plan for software-based transcoding or CPU-bound decode on blob-free systems.
- Realtek r8169 and MediaTek Ethernet PHY: Wired networking remains one of the less painful areas for blob-free users, but occasional firmware assists do exist. The 6.16 updates remind administrators to check NIC revision details when sourcing hardware for a strictly free fleet.
- Wi‑Fi (ath11k/ath12k, mt7996): Firmware reliance for Wi‑Fi stack progress accelerates with each new standard. Users who need modern throughput or 6 GHz operation will encounter hard stops on Linux-libre, pushing them toward Ethernet or known-free legacy radios.
Performance expectations and benchmarking realities
On compatible hardware, Linux-libre 6.16 performs comparably to upstream Linux 6.16:- CPU-bound workloads see near-identical scheduler behavior, cache locality, and NUMA balancing because those areas are kept intact.
- Filesystem performance tracks upstream fixes and regressions; there is nothing inherent to Linux-libre that slows ext4, XFS, or btrfs.
- Networking throughput over drivers that do not need firmware mirrors mainline behavior.
Troubleshooting typical 6.16 scenarios
A few patterns recur in support channels when users try Linux-libre on contemporary consumer hardware:1) “No Wi‑Fi device found.”
- Explanation: The driver is present, but Linux-libre removed the firmware request. The kernel will not attempt to load iwlwifi or ath11k firmware. Only a subset of cards (e.g., ath9k-era Atheros) will work.
- Options: Use wired Ethernet, a USB Ethernet adapter, or a wireless card known to operate without blobs.
- Explanation: AMDPGU/NVIDIA nouveau no longer initialize firmware-dependent features. The system falls back to simple framebuffer or modesetting, which lacks 3D acceleration and power management.
- Options: Accept software rendering, switch to a simpler window manager, or choose hardware that provides basic modes without firmware requirements.
- Explanation: Many USB Bluetooth controllers load firmware at probe. Linux-libre excises those code paths.
- Options: Replace the adapter with a model confirmed to operate without firmware, or run without Bluetooth.
- Explanation: The kernel no longer points to or loads microcode packages. Systems rely on platform firmware for microcode delivery.
- Options: Ensure BIOS/UEFI is current; verify microcode version via firmware menus or vendor documentation.
Outlook: can firmware freedom scale?
Looking beyond this release, Linux-libre’s trajectory intersects with broader industry movements:- Open hardware initiatives: RISC‑V SoCs, some FPGA-based devices, and a handful of microcontrollers are experimenting with redistributable, auditable firmware stacks. If those efforts coalesce around devices useful for desktops or servers, Linux-libre will benefit directly.
- Regulatory pressure and right-to-repair: Requirements for longer support windows and clearer software bills of materials could nudge vendors toward more transparent firmware practices, even if not fully free.
- Incremental openness from vendors: Some companies publish enough interface documentation to enable high-quality drivers without disclosing firmware internals. While not meeting Linux-libre’s criteria, these steps can at least reduce coupling, leaving room for future progress.
Bottom line for 6.16
This release underscores three truths that have defined Linux-libre for years:- The project’s maintenance discipline is unbroken. Each upstream cycle brings new drivers and updated subsystems, and Linux-libre 6.16 meets them with precise deblob updates—from Intel QAT and Qualcomm Wi‑Fi to MediaTek PHYs and Realtek Ethernet.
- The user experience is hardware-dependent. On systems assembled with blob-free compatibility in mind, 6.16 is a drop-in modern kernel. On mainstream consumer hardware, core functions like graphics acceleration and Wi‑Fi remain out of reach by design.
- The ethical posture is consistent. By refusing to request, embed, or encourage proprietary firmware, Linux-libre provides a clear, testable definition of a “free” kernel in 2025, helping the broader community evaluate where freedom, function, and security overlap—and where they don’t.
Source: 9to5Linux GNU Linux-Libre 6.16 Kernel Is Now Available for Software Freedom Lovers - 9to5Linux