Hi,

Note that I also discussed various kernel options at the FOSDEM with
other people involved in Guix, so I'm taking the occasion to add the
info here as well.

On Mon, 10 Mar 2025 10:08:23 +0900
Maxim Cournoyer <maxim.courno...@gmail.com> wrote:
> In practice, Linux-libre deals pretty much with a single issue: the
> non-free device firmware, whether its loaded from external blobs or
> directly embedded in C arrays in the source (which thankfully appears
> a rare practice nowadays).
I've looked at it few years ago, and this is only part of what it does.

Nowadays, the deblobbing is trivial to do without linux-libre and can be
replaced with few 'rm -f'[1] on older Linux versions that requires
deblobbing.

We can do that easily because Debian has the information inside
Debian/copyrights inside the kernel package[2]. I'm not sure if some
nonfree code remains nowadays.

Now Linux-libre does much more and some of the things it does is really
interesting:
- It has tool to detect the kind of non-free software you're talking
  about. When there are new detection, they are investigated. So I
  guess that at the end of the day even projects like Debian benefit
  from the information and work in this area.

- It also blocks nonfree loadable firmwares files even if they are not
  provided by the kernel. It doesn't block non-files though, like the
  ACPI tables or the nonfree bytecode provided by the video BIOS.

- It keeps information on the amount of drivers that require nonfree
  firmwares as they are announced in releases. This is also possible
  because it blocks nonfree firmwares.

- It has patches to make some of the drivers work without the nonfree
  firmwares, like the radeon driver for some GPUs. I'm unsure if there
  are more, but some drivers I use seem to have "optional" firmwares
  like some Realteck Ethernet cards. I didn't try them with Linux
  though.

- It probably modifies the documentation as well to at least refer to
  GNU/Linux and maybe more I recall well.

Also note that FSDG distributions are not forced to use linux-libre or
to block the loading of nonfree firmware if the firmwares are already
there.

For instance in Replicant we always deblobbed the kernel ourselves, and
at some point we evaluated linux-libre but decided against it due to
the complexity of separating the different things it does (we were not
interested yet in blocking nonfree firwmares but we are also not
providing them).

In the case of Guix, I heard that some people might be interested in
using a deblobbed Linux (and even providing them by default) instead of
linux-libre, but I'd also think it's interesting to keep the option of
having linux-libre at least for the Radeon driver modifications that
makes some GPU work without nonfree firmwares.

With these modification we still have no 3D acceleration but we can use
the native display resolution[3] and even multiple displays, which
in some cases is sufficient to make an unusable computer usable again.

Trisquel 11 (aramo) also has a mix between linux-libre and linux to
allow some fimrware loading without reverting these modifications to
the Radeon driver.

References:
-----------
[1]rm -rf Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt \
   arch/powerpc/sysdev/micropatch.c \
   drivers/media/usb/dvb-usb/af9005-script.h \
   drivers/media/i2c/vs6624.c \
   drivers/net/appletalk/cops* \
   drivers/video/fbdev/nvidia \
   drivers/video/fbdev/riva \
[2]https://metadata.ftp-master.debian.org/changelogs//main/l/linux-signed-i386/linux-signed-i386_4.19.249+2_copyright
[3]In a small laptop (Toshiba N550D) I keep for testing linux-libre,
   with the modifications you have a 1024x600 resolution instead of
   800x600.

Denis.

Attachment: pgpPswATu2Kf6.pgp
Description: OpenPGP digital signature

Reply via email to