Латиноамериканский Фонд свободного ПО c небольшой задержкой опубликовал полностью свободный вариант ядра Linux 5.16 – Linux-libre 5.16-gnu, очищенный от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. Кроме того, Linux-libre отключает функции ядра по загрузке несвободных компонентов, не входящих в поставку ядра, и удаляет упоминание об использовании несвободных компонентов из документации.
Для очистки ядра от несвободных частей, в рамках проекта Linux-libre создан универсальный shell-скрипт, который содержит тысячи шаблонов для определения наличия бинарных вставок и исключения ложных срабатываний. Также доступны для загрузки готовые патчи, созданные на основе использования вышеупомянутого скрипта. Ядро Linux-libre рекомендовано для использования в дистрибутивах, соответствующих критериям Фонда СПО по построению полностью свободных дистрибутивов GNU/Linux. Например, ядро Linux-libre используется в таких дистрибутивах, как Dragora Linux, Trisquel, Dyne:Bolic, gNewSense, Parabola, Musix и Kongoni.
В выпуске Linux-libre 5.16-gnu отключена загрузка блобов в новых драйверах для беспроводных чипов (mt7921s и rtw89/8852a), сенсорных экранов (ili210x), звуковых чипов (qdsp6) и dsp i.MX, а также в devicetree-файлах для aarch64-чипов Qualcomm. В дополнение к предложенному в ядре системному вызову “firmware_request_builtin” в Linux-libre преложена обратная функция “firmware_reject_builtin”. В скриптах для чистки кода унифицированы функции для отключения request_firmware и вариантов _nowarn/_builtin.