Novedades de GNU Linux-libre 6.18 en profundidad

Si eres de los que miman hasta el último detalle de su sistema y te preocupa que todo el software que se ejecuta en tu máquina sea realmente libre, la llegada de GNU Linux-libre 6.18 te va a interesar, y mucho. Esta nueva edición del conocido kernel “desblobado” se basa en Linux 6.18, pero sometido a una limpieza a fondo para eliminar cualquier rastro de firmware o microcódigo propietario.
En las siguientes líneas vamos a desgranar todas las novedades de GNU Linux-libre 6.18: qué cambios introduce respecto al kernel oficial, qué drivers se han visto afectados, cómo se distribuye, qué proyectos lo empaquetan y qué filosofía hay detrás de este trabajo. También comentaremos el papel de su simpático pingüino Freedo, la relación con la FSF y por qué este kernel se ha convertido en una referencia para las distribuciones 100 % libres.
Novedades clave de GNU Linux-libre 6.18 frente a Linux 6.18
La nueva versión GNU Linux-libre 6.18-gnu parte del kernel Linux 6.18, la misma rama que Linus Torvalds acaba de declarar estable y que, según todo apunta, será el próximo kernel LTS de referencia en el ecosistema Linux. Eso significa que hereda todas las mejoras generales: rendimiento afinado, nuevas funcionalidades internas, ampliación de soporte de hardware y las habituales correcciones de bugs.
Sin embargo, el equipo de GNU Linux-libre se encarga de aplicar un conjunto de scripts y herramientas de limpieza (“deblobbing”) que rastrean el código fuente en busca de elementos problemáticos: drivers que cargan firmware binario, llamadas en tiempo de ejecución a microcódigo no libre, referencias en la documentación a blobs externos e incluso menciones a binarios en ficheros devicetree de distintas arquitecturas.
Fruto de este proceso, en GNU Linux-libre 6.18 se han identificado y neutralizado o eliminado nuevos controladores y fragmentos de código que en el árbol oficial del kernel dependen de blobs binarios. Este trabajo no sólo afecta a drivers recién añadidos, sino también a otros ya existentes cuyo mecanismo de carga de firmware ha cambiado en esta versión.
Al mismo tiempo, la versión 6.18-gnu incorpora las optimizaciones de Linux 6.18, como el mejor rendimiento general, el trabajo continuo en Apple Silicon (M2 Pro / Max / Ultra), el soporte en curso de la plataforma Intel Wildcat Lake, la integración del nuevo código “Sheaves”, la activación por defecto del fsck online para XFS o la mejora del soporte háptico para touchpads, entre otras muchas. Todo ello, eso sí, manteniendo siempre la premisa principal del proyecto: cero software propietario.
El corazón del proyecto: un kernel libre de blobs
La razón de ser de GNU Linux-libre es ofrecer un kernel compatible con Linux pero completamente libre, diseñado para poder formar parte de sistemas que siguen las Directrices para Distribuciones de Software Libre (FSDG) de la FSF. Esto implica retirar cualquier componente que no se distribuya en forma de código fuente modificable o que esté sujeto a licencias restrictivas.
En la práctica, esto se traduce en eliminar o desactivar drivers, firmwares, blobs empaquetados como datos, scripts que requieren archivos binarios externos y llamadas a firmware propietario en tiempo de ejecución. También se limpian comentarios y documentación que actúan como “gancho” para que el usuario descargue componentes no libres, evitando el llamado “baiting” hacia software privativo.
El enfoque del proyecto es de cambios mínimos: se borran o neutralizan las partes problemáticas, pero no se intenta reescribirlas ni proporcionar sustitutos libres que mantengan la misma funcionalidad. El objetivo es garantizar la libertad del sistema, aunque eso suponga que cierto hardware quede inoperante si no dispone de alternativas libres.
Este esfuerzo continuo comenzó en su día dentro de la distribución gNewSense, fue impulsado y bautizado por Jeff Moe, en 2008 pasó a estar mantenido por la FSF Latinoamérica y, desde 2012, forma parte oficialmente del Proyecto GNU. Hoy se ha consolidado como la base de numerosos sistemas operativos 100 % libres certificados por la FSF.
Drivers nuevos limpiados en GNU Linux-libre 6.18
Una de las partes más visibles del trabajo en GNU Linux-libre 6.18 es la limpieza de controladores recién incorporados al kernel Linux 6.18 que intentan cargar blobs de firmware. Si se dejaran tal cual, comprometerían la pureza del sistema al requerir binarios no libres.
En esta versión, el equipo ha identificado y “capado” varios drivers nuevos que, en el árbol oficial, recurren a firmware propietario para funcionar correctamente:
- Controladores FourSemi: se limpian el controlador de amplificador de audio digital FourSemi y la biblioteca asociada (incluyendo los modelos FS2104/5S), que en Linux estándar intentan cargar blobs para gestionar ciertos modos y características.
- Driver TI TAS2783: el controlador para el amplificador de altavoz Texas Instruments TAS2783, también nuevo en esta rama, incluye lógica de carga de firmware que ha sido neutralizada para evitar que solicite binarios no libres.
- Qualcomm GENI Serial Engine: el motor serie GENI de Qualcomm, responsable de gestionar interfaces de comunicación en plataformas de esta marca, también habría intentado cargar blobs si no se hubiese intervenido, por lo que se ha sometido al proceso de deblobbing.
En todos estos casos, el resultado es que el driver deja de reclamar firmware propietario. Dependiendo de cuánto dependiera el controlador de ese microcódigo, la funcionalidad práctica del dispositivo puede quedar muy limitada o directamente inutilizada bajo GNU Linux-libre, pero así se respeta la premisa de no empujar al usuario hacia componentes privativos.
Ajustes en drivers existentes: Nova-Core, Intel Xe y más
Además de los controladores recién llegados, GNU Linux-libre 6.18 revisa el comportamiento de drivers ya presentes en versiones anteriores cuyo mecanismo de gestión del firmware ha cambiado en Linux 6.18. Estos ajustes son necesarios para mantener el kernel libre de blobs a medida que evoluciona el árbol principal.
Entre los casos destacados, encontramos:
- Nova-Core, el driver Rust para NVIDIA: el nuevo controlador de código abierto Nova-Core, escrito en Rust, se apoya completamente en el NVIDIA GPU System Processor (GSP). Sin el firmware del GSP, que es propietario, el driver simplemente no funciona. GNU Linux-libre adapta sus scripts para bloquear la carga de este microcódigo, lo que en la práctica deja Nova-Core inoperativo sin blobs, pero preserva la libertad del sistema.
- Intel Xe de nueva generación: el moderno driver Intel Xe depende del microcontrolador GuC y de su firmware binario para tareas de gestión de colas, programación y otras funciones críticas. En Linux-libre 6.18 se ajusta de nuevo la limpieza para impedir que este firmware se solicite o cargue, algo que también deja el driver sin utilidad práctica si no se dispone de alternativas libres.
- TI PRU Ethernet: el controlador de Ethernet basado en PRU (Programmable Real-time Unit) de Texas Instruments también ha sufrido cambios en su lógica de blobs aguas arriba. GNU Linux-libre actualiza el deblobbing para asegurarse de que no se cargan firmwares propietarios en estos SoC.
- Marvell WiFi-Ex: las modificaciones realizadas en el árbol oficial para la familia WiFi-Ex de Marvell han obligado a revisar la limpieza, bloqueando de nuevo cualquier referencia o intento de cargar firmware binario para esos adaptadores inalámbricos.
Estos ajustes demuestran que el proceso de limpieza es continuo y reactivo: cada vez que cambia el código de un driver que en el pasado dependía de blobs, el equipo de Linux-libre debe revisar de nuevo ese código para que no se “cuele” ningún nuevo mecanismo de carga de firmware propietario.
Drivers y elementos eliminados o reubicados
No todo son nuevas limpiezas o ajustes. En GNU Linux-libre 6.18 también hay casos en los que el propio kernel Linux ha eliminado ciertos componentes, lo que permite simplificar el trabajo de deblobbing.
Un ejemplo claro es el del driver de radio FM TI WL1273. Este controlador, que en versiones anteriores requería una limpieza específica por su dependencia de firmware binario, ha sido eliminado directamente en el árbol oficial de Linux 6.18. Como consecuencia, en GNU Linux-libre 6.18 se puede retirar también toda la lógica de deblobbing asociada a este driver, reduciendo así la complejidad del conjunto de scripts.
Otro caso llamativo es el del driver Lantiq GSWIP, un controlador de switch gigabit para determinadas plataformas. En Linux 6.18 se ha movido de ubicación dentro del árbol de código fuente, lo que obliga a ajustar las rutas y patrones que usa el sistema de limpieza del proyecto para localizar y procesar los fragmentos relevantes.
Estos cambios de ubicación y eliminación reflejan cómo el kernel principal está en constante reorganización, y cómo GNU Linux-libre debe mantenerse al día, no sólo rastreando blobs nuevos, sino también adaptando las herramientas a la estructura cambiante del árbol de código.
Devicetree limpios para Qualcomm, Mediatek y TI en ARM64
La limpieza no se limita al código C de los drivers. En esta versión, una de las tareas más delicadas ha sido revisar los nuevos ficheros devicetree (DT) para plataformas ARM64, que describen el hardware de sistemas basados en Qualcomm, Mediatek y Texas Instruments.
En Linux 6.18, varios de estos devicetree incluyen referencias explícitas a blobs de firmware, rutas de archivos binarios o propiedades que indican la necesidad de microcódigo no libre para ciertos componentes. Si se dejara tal cual, el mero hecho de usar esos DT podría empujar al usuario a buscar y cargar componentes propietarios.
GNU Linux-libre 6.18 se encarga de “sanear” estos ficheros, eliminando o modificando las menciones a binarios de Qualcomm, Mediatek y TI en la arquitectura ARM64. De este modo, se garantiza que el kernel libre no actúe como vector de recomendación de software no libre, respetando así las directrices de la FSF.
Cómo obtener GNU Linux-libre 6.18
El proyecto ofrece varias vías oficiales para descargar y utilizar GNU Linux-libre 6.18-gnu, tanto en forma de código fuente como en paquetes binarios listos para instalar en distribuciones populares.
Por un lado, el código fuente se puede obtener mediante Git desde el repositorio mantenido por el proyecto:
- Repositorio Git de lanzamientos: git://linux-libre.fsfla.org/releases.git con etiquetas bajo
scripts,sourcesylogspara la versión v6.18-gnu.
Además, al poco de anunciarse la versión, se ponen a disposición tarballs ya comprimidos desde la página oficial de la FSFLA:
- https://www.fsfla.org/selibre/linux-libre/download/releases/ (ubicación habitual de los tarballs de cada versión).
Quienes prefieran no compilar el kernel a mano pueden recurrir a paquetes binarios preparados por proyectos asociados:
- Freesh: ofrece paquetes .deb listos para usar en distribuciones basadas en Debian y derivadas, con el kernel GNU Linux-libre ya compilado.
- RPM Freedom: proporciona paquetes .rpm para sistemas basados en Red Hat, Fedora y derivados que quieran adoptar este kernel libre.
De este modo, los usuarios pueden elegir entre compilar su propio kernel directamente desde el código fuente o instalar uno de los paquetes ya preparados, integrándolo junto con o en sustitución del kernel estándar de su distribución.
Distribuciones y ecosistema alrededor de Linux-libre
GNU Linux-libre es el pilar sobre el que se construyen muchas distribuciones completamente libres avaladas por la FSF, como Trisquel o PureOS, entre otras. Estas distros utilizan este kernel para asegurarse de que el sistema entero cumple las directrices de software libre más estrictas.
Muchas de ellas ofrecen imágenes ya preparadas con la versión más reciente de Linux-libre o, al menos, con una rama cercana. En otros casos, permiten seleccionar este kernel desde sus repositorios o mediante repos adicionales, de forma que el usuario pueda reemplazar el kernel genérico por uno libre de blobs sin cambiar de distribución.
Para administradores y entusiastas, GNU Linux-libre 6.18 puede instalarse también en casi cualquier distribución convencional. Basta con compilarlo o instalar los paquetes Freesh/RPM Freedom y ajustar el gestor de arranque para elegir este kernel al iniciar el sistema. Así se logra un entorno mucho más coherente con los principios del software libre, incluso en distros que de serie incluyen componentes no libres.
Qué es exactamente GNU Linux-libre (y qué no es)
Desde el propio proyecto se recalca que GNU Linux-libre es, ante todo, una versión modificada del kernel Linux, orientada a ser usada en sistemas GNU que aspiran a ser completamente libres. El objetivo es que cualquier distribución que quiera cumplir las FSDG de la FSF pueda tomar este kernel y tener la tranquilidad de que no contiene blobs ni referencias que lleven al usuario a instalar código propietario.
En su documentación explican que se eliminan componentes no libres tanto si están disfrazados de código fuente (pero en realidad son blobs embebidos) como si se distribuyen en archivos separados. Además, se desactivan las peticiones en tiempo de ejecución a firmwares propietarios y se purgan manuales o comentarios que apunten a recursos no libres.
El proyecto, sin embargo, no se propone reescribir estos componentes ni ofrecer drivers alternativos libres que sustituyan a los propietarios. El enfoque es minimalista: se retira lo que no es libre, se mantiene el resto casi intacto y se anima a que otras iniciativas desarrollen reemplazos libres cuando sea posible. De hecho, se documentan en sitios como LibrePlanet muchos dispositivos que aún dependen de blobs, con el objetivo de coordinar esfuerzos para liberarlos algún día.
Por último, aunque la mascota sea un pingüino, los desarrolladores insisten en que el papel del proyecto GNU y de la FSF en la construcción del sistema completo es mucho mayor, y que el kernel libre es solo una pieza más dentro del ideal de un sistema totalmente libre.
Al combinar todas las mejoras técnicas heredadas de Linux 6.18 con el trabajo exhaustivo de limpieza de firmware, drivers y devicetree, GNU Linux-libre 6.18 se consolida como una opción muy potente para quienes no quieren hacer concesiones en materia de libertad de software. Desde los nuevos drivers saneados para audio digital y motores serie Qualcomm hasta los ajustes en controladores de GPU como Nova-Core y Intel Xe, pasando por el saneamiento de plataformas ARM64 y la disponibilidad de paquetes para múltiples distribuciones, esta versión demuestra que es posible mantenerse cerca de la vanguardia del kernel sin renunciar al principio de no cargar ningún binario propietario.
