anyone here with experience running and/or daily-driving a linux-libre distro? how well is hardware compatibility for you?
@asnev I used Trisquel a bit in the past. Graphics (Intel integrated graphics) worked fine, but wireless and audio did not work at all.
@asnev In general though, I think that using linux-libre is not worthwhile. The reality is that any modern hardware will require nonfree firmware whether you like it or not, even if you don't have to load it from the main CPU. Using a kernel without nonfree firmware loading will not actually give you any more freedom that actually matters for most purposes in practice, and you get the security issues of having no firmware patches on top of that.
@asnev I use Guix on my main laptop (a ThinkPad T440p). Everything works fine with Linux-libre except for the wifi and bluetooth (Intel AX210, using the iwlwifi and btintel drivers). To get around this I apply patches to those drivers to re-enable firmware loading and package the proprietary firmware in my own Guix channel. The patches I use are here (btintel) and here (iwlwifi), they’re generated just by diffing upstream Linux with Linux-libre to revert the changes to those specific drivers.
The reason I patch those two drivers instead of just using upstream Linux (which would reduce kernel build times because the deblobbing scripts are really slow, and remove the need to apply any patches) is so I automatically get minor kernel updates without having to update my kernel package, and because I’m not sure if Linux-libre removes any actual blobs or just firmware loading code (I suspect it may just be firmware loading code, in which case it’s a bit pointless since you can just not install the firmware). I use the LTS releases (currently 6.18) to avoid having to rebase the patches (and redo my configs) too often. I don’t want to just use nonguix because I don’t want other proprietary software to show up in guix search or be easily (accidentally) installable.
and you get the security issues of having no firmware patches on top of that.
Usually this is an issue for microcode updates specifically. Generally other than that either firmware has to be loaded or whatever peripheral it’s for won’t work at all, or it’s in EEPROM and firmware loading isn’t needed. I think applying microcode updates should be the job of the boot firmware rather than the operating system, but unfortunately proprietary firmware often doesn’t have up-to-date microcode so I can see why people want microcode loading by the kernel. Most of my computers run coreboot which loads microcode updates itself, so I don’t need the kernel to do that. (and I would recommend installing coreboot if it supports your hardware)
@noisytoot @asnev > or it’s in EEPROM and firmware loading isn’t needed
Yes, and that's precisely the problem. You don't have to load anything, but the factory firmware will inevitably get more and more out of date over time, leading to security patches not getting installed.
@asnev
Great. No issues. From Bluetooth to networks to printers.