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.
pgpPswATu2Kf6.pgp
Description: OpenPGP digital signature