What's New in GNU Linux-libre 6.18 in Depth

  • GNU Linux-libre 6.18 cleans up proprietary drivers and devicetree blobs while maintaining the general improvements of Linux 6.18.
  • New drivers (FourSemi, TI TAS2783, Qualcomm GENI) are neutralized and drivers such as Nova-Core and Intel Xe are adjusted.
  • The project offers source code and DEB/RPM packages to use a 100% free kernel on multiple distributions.
  • Linux-libre is part of the GNU Project, supported by the FSF, and serves as the basis for completely free distributions.

GNU Linux-libre 6.18

If you're someone who meticulously attends to every detail of your system and is concerned that all the software running on your machine is truly free, the arrival de GNU Linux-libre 6.18 You're going to be very interested. This new edition of the well-known "unlocked" kernel is based on Linux 6.18, but has undergone a thorough cleanup to remove any trace of proprietary firmware or microcode.

In the following lines we will break down All the new features of GNU Linux-libre 6.18We'll cover what changes it introduces compared to the official kernel, which drivers are affected, how it's distributed, which projects package it, and the philosophy behind this work. We'll also discuss the role of its friendly penguin, Freedo, its relationship with the FSF, and why this kernel has become a benchmark for 100% free distributions.

Key new features of GNU Linux-libre 6.18 compared to Linux 6.18

The new version GNU Linux-libre 6.18-gnu kernel part Linux 6.18This is the same branch that Linus Torvalds has just declared stable and which, by all accounts, will be the next reference LTS kernel in the Linux ecosystem. This means it inherits all the general improvements: fine-tuned performance, new internal features, expanded hardware support, and the usual bug fixes.

However, the GNU/Linux-libre team is responsible for implementing a set of scripts and cleaning tools (“deblobbing”) that scan the source code for problematic elements: drivers that load binary firmware, runtime calls to non-free microcode, references in the documentation to external blobs, and even mentions of binaries in devicetree files of different architectures.

As a result of this process, in GNU Linux-libre 6.18, the following have been identified and neutralized or removed new controllers and code snippets which in the official kernel tree depend on binary blobs. This work not only affects newly added drivers, but also existing ones whose firmware loading mechanism has changed in this version.

At the same time, version 6.18-gnu incorporates the Linux 6.18 optimizationsThese improvements include better overall performance, ongoing work on Apple Silicon (M2 Pro/Max/Ultra), continued support for the Intel Wildcat Lake platform, integration of the new "Sheaves" code, default activation of fsck online for XFS, and enhanced haptic support for touchpads, among many others. All of this, of course, while maintaining the project's core principle: zero proprietary software.

The heart of the project: a blob-free kernel

The reason for being of GNU Linux-libre is to offer a Linux-compatible but completely free kernelDesigned to be part of systems that follow the Free Software Distribution Guidelines (FSDG) of the FSF. This involves removing any component that is not distributed as modifiable source code or that is subject to restrictive licenses.

In practice, this translates to removing or deactivating drivers, firmware, blobs packaged as data, scripts that require external binaries and runtime calls to proprietary firmware. Comments and documentation that act as "hooks" to entice users to download non-free components are also removed, preventing "baiting" towards proprietary software.

The project's focus is on minimal changesProblematic parts are removed or neutralized, but no attempt is made to rewrite them or provide free substitutes that maintain the same functionality. The goal is to guarantee the system's freedom, even if this means that certain hardware becomes inoperable if no free alternatives are available.

This ongoing effort began within the gNewSense distribution, was spearheaded and named by Jeff Moe, was taken over by FSF Latin America in 2008, and since 2012, It is officially part of the GNU ProjectToday it has become the foundation of numerous 100% free operating systems certified by the FSF.

New drivers cleaned in GNU Linux-libre 6.18

One of the most visible parts of the work on GNU Linux-libre 6.18 is the cleanup of drivers newly incorporated into the Linux kernel 6.18 which attempt to load firmware blobs. If left as is, they would compromise the system's purity by requiring non-free binaries.

In this version, the team has identified and "capped" several new drivers which, in the official tree, rely on proprietary firmware to function correctly:

  • FourSemi ControllersThe FourSemi digital audio amplifier driver and associated library (including FS2104/5S models) are cleaned up, which in standard Linux attempt to load blobs to manage certain modes and features.
  • Driver TI TAS2783The driver for the Texas Instruments TAS2783 speaker amplifier, also new to this branch, includes firmware loading logic that has been disabled to prevent it from requesting non-free binaries.
  • Qualcomm GENI Serial EngineQualcomm's GENI series engine, responsible for managing communication interfaces on platforms of this brand, would also have tried to load blobs if it had not been intervened, so it has been subjected to the deblobbing process.

In all these cases, the result is that the driver stops claiming proprietary firmwareDepending on how much the driver depends on that microcode, the practical functionality of the device may be very limited or directly unusable under GNU Linux-libre, but this respects the premise of not pushing the user towards proprietary components.

Adjustments to existing drivers: Nova-Core, Intel Xe, and more

In addition to the newly arrived drivers, GNU Linux-libre 6.18 revises the behavior of drivers already present in previous versions whose firmware management mechanism has changed in Linux 6.18. These adjustments are necessary to keep the kernel free of blobs as the main tree evolves.

Among the notable cases, we find:

  • Nova-Core, the Rust driver for NVIDIAThe new open-source driver Nova-Core, written in Rust, relies entirely on the NVIDIA GPU System Processor (GSP). Without the proprietary GSP firmware, the driver simply won't function. GNU/Linux-libre adapts its scripts to block the loading of this microcode, effectively rendering Nova-Core inoperable. inoperative without blobsbut it preserves the freedom of the system.
  • next-generation Intel XeThe modern Intel Xe driver relies on the GuC microcontroller and its binary firmware for queue management, scheduling, and other critical functions. Linux-libre 6.18 again tightens the cleanup process to prevent this firmware from being requested or loaded, which also renders the driver practically useless without free alternatives.
  • TI PRU EthernetThe Texas Instruments PRU (Programmable Real-time Unit)-based Ethernet controller has also undergone changes to its upstream blob logic. GNU/Linux-libre updates the deblobbing to ensure that Proprietary firmware is not loaded on these SoCs.
  • Marvell WiFi-ExThe modifications made to the official tree for Marvell's WiFi-Ex family have forced a review of the cleanup, again blocking any reference to or attempt to upload binary firmware for those wireless adapters.

These adjustments demonstrate that the cleaning process is continuous and reactiveEvery time the code of a driver that previously relied on blobs changes, the Linux-libre team must review that code again to ensure that no new proprietary firmware loading mechanism "slips through".

Drivers and elements removed or relocated

It's not all about new cleanups or tweaks. In GNU/Linux-libre 6.18 there are also cases where the Linux kernel itself has removed certain components, allowing simplify the deblobbing process.

A clear example is that of TI WL1273 FM radio driverThis driver, which in previous versions required specific cleanup due to its dependency on binary firmware, has been removed entirely from the official Linux 6.18 tree. Consequently, in GNU Linux-libre 6.18, all the deblobbing logic associated with this driver can also be removed, thus reducing the complexity of the script set.

Another striking case is that of Lantiq GSWIP driver, a gigabit switch driver for certain platforms. In Linux 6.18, its location within the source code tree has been moved, requiring adjustments to the paths and patterns used by the project's cleanup system to locate and process the relevant fragments.

These changes in location and removal reflect how the main kernel is constantly being reorganizedand how GNU Linux-libre should keep up to date, not only by tracking new blobs, but also by adapting the tools to the changing structure of the code tree.

Clean Devicetree for Qualcomm, Mediatek and TI on ARM64

The cleanup isn't limited to the C code of the drivers. In this version, one of the most delicate tasks has been reviewing the new devicetree (DT) files for ARM64 platforms, which describe the hardware of systems based on Qualcomm, Mediatek, and Texas Instruments.

In Linux 6.18, several of these devicetrees include explicit references to firmware blobsBinary file paths or properties that indicate the need for non-free microcode for certain components. If left as is, simply using these DTs could push the user to search for and load proprietary components.

GNU Linux-libre 6.18 takes care of "cleaning up" these files, removing or modifying references to Qualcomm, Mediatek, and TI binaries in the ARM64 architecture. This ensures that the free kernel does not act as a recommendation vector of non-free software, thus respecting the FSF guidelines.

How to get GNU Linux-libre 6.18

The project offers several official channels for Download and use GNU Linux-libre 6.18-gnu, both in the form of source code and in binary packages ready to install on popular distributions.

On one hand, the source code It can be obtained via Git from the repository maintained by the project:

  • Git repository of releases: git://linux-libre.fsfla.org/releases.git with tags under scripts, sources y logs for version v6.18-gnu.

Furthermore, shortly after the version was announced, they were made available pre-compressed tarballs From the official FSFLA website:

  • https://www.fsfla.org/selibre/linux-libre/download/releases/ (ubicación habitual de los tarballs de cada versión).

Those who prefer not to compile the kernel by hand can resort to prepared binary packages by associated projects:

  • Freesh: offers ready-to-use .deb packages for Debian-based and derivative distributions, with the GNU Linux-libre kernel already compiled.
  • RPM Freedom: provides .rpm packages for Red Hat, Fedora and derivative-based systems that want to adopt this free kernel.

In this way, users can choose between compile your own kernel directly from the source code or install one of the pre-made packages, integrating it with or replacing the standard kernel of your distribution.

Distributions and ecosystem around Linux-libre

GNU Linux-libre is the pillar on which many are built completely free distributions Endorsed by the FSF, such as Trisquel and PureOS, among others. These distributions use this kernel to ensure that the entire system complies with the strictest free software guidelines.

Many of them offer pre-prepared images with the latest version of Linux-libre or at least with a closely related branch. In other cases, they allow you to select this kernel from their repositories or through additional repositories, so that the user can replace the generic kernel with one free of blobs without changing distributions.

For administrators and enthusiasts, GNU Linux-libre 6.18 can also be installed on almost any conventional distributionSimply compile it or install the Freesh/RPM Freedom packages and configure the boot manager to select this kernel when starting the system. This creates an environment much more consistent with free software principles, even in distributions that include non-free components by default.

What exactly is GNU Linux-libre (and what it isn't)

The project itself emphasizes that GNU Linux-libre is, above all, a modified version of the Linux kernelThis kernel is designed for use on GNU systems that aspire to be completely free. The goal is that any distribution that wants to comply with the FSF's FSDG can use this kernel with the assurance that it contains no blobs or references that would lead the user to install proprietary code.

Their documentation explains that non-free components are removed whether they are disguised as source code (but they are actually embedded blobs) as if they were distributed in separate files. In addition, runtime requests to proprietary firmware are disabled, and manuals or comments that point to non-free resources are purged.

The project, however, It is not proposed to rewrite these components Nor do they offer free alternative drivers to replace proprietary ones. The approach is minimalist: non-free software is removed, the rest remains almost intact, and other initiatives are encouraged to develop free replacements when possible. In fact, many devices that still depend on blobs are documented on sites like LibrePlanet, with the goal of coordinating efforts to release them someday.

Finally, although the mascot is a penguin, the developers insist that the role of the GNU project and the FSF in the construction of the complete system is much greater, and the free kernel is just one more piece within the ideal of a totally free system.

By combining all the technical improvements inherited from Linux 6.18 with the exhaustive cleanup of firmware, drivers, and device tree, GNU/Linux-libre 6.18 solidifies its position as a very powerful option for those unwilling to compromise on software freedom. From the new, streamlined drivers for digital audio and Qualcomm series engines to the adjustments in GPU drivers like Nova-Core and Intel Xe, the cleanup of ARM64 platforms, and the availability of packages for multiple distributions, this version demonstrates that it is possible to stay close to the cutting edge of the kernel without abandoning the principle of not loading unnecessary components. no proprietary binary.