3

The Linux kernel contains binary blob (link). Linux Foundation and Linux kernel developers issued a statement about that (link, notably the kernel developers statement was not signed by Torvalds).

What those blobs do? Are they just legacy drivers for legacy hardware or do much more?

Linux libre provides a version of the kernel free from binary blobs.

How can I find out if my PC would work when I install Linux-libre?

EDIT: I tried installing linux-libre kernel and, although my laptop boot, the WiFi doesn't work. I made a diff between the linux kernel and the linux-libre kernel. linux-libre kernel has removed the firmware of my WiFi card because it is a closed-source proprietary binary blob. The driver I'm using is called iwlwifi. The kernel module of the driver is free software, but the firmware is proprietary.

4
  • 3
    I’m voting to close this question because explanations of software is not this site's topic. Mar 15, 2021 at 22:57
  • 1
    "How can I find out if my PC would work when I install Linux-libre?" --> obviously: install it. Or create a boot stick with it and boot from that. Mar 16, 2021 at 8:34
  • 1
    @planetmaker I tried. The wifi doesn't work. They deactivate iwlwifi because the firmware is proprietary Mar 16, 2021 at 9:56
  • "the"? There are many
    – user253751
    Mar 18, 2021 at 9:38

1 Answer 1

6

Most of the binary blobs in Linux are in device drivers, and most of those are in WiFi drivers. Their function is to be the operating code for the hardware on the device; unless they're loaded when the hardware is initialised, the hardware will not function. It is unfortunate that WiFi manufacturers, in particular, have chosen this method of operation; but they have. Different Linux distributions have taken different approaches to this.

  • Fedora ships blobs, having decided that 'everything needed to be free software ... it was a popular and well-received move, but it broke everyone's WiFi, because (at least at that time) just about every WiFi driver in the world required the loading of a binary firmware blob into the hardware. No one was keen to see Fedora become known as "the distro everyone used to use until they needed WiFi", so [they] changed the requirement to "must be free software, except for firmware needed to make free software work"' (full disclosure: I wrote that article).

  • Debian ships blobs, but is careful to separate them out as contrib or non-free, according to the availability and licence status of their sources.

  • Some, like PureOS, just don't ship them. The FSF maintains a list of these, which links also to their discussion of why some other distros (and some other OSes) failed to make the list.

As you have found, one consequence of using a fully-free distribution is that you have to be extremely careful what kind of computer you buy if you want to use WiFi. If you want to know whether any given system will run without binary blobs, you will need to find out the chipset of every single system component, and check that fully-free drivers are available for it. You will also need to run with the microcode that your CPU ships with, and you should expect to have lots of fun with your motherboard's BIOS. It is very unlikely any off-the-shelf system will meet these criteria, so you're likely to end up building your systems from components.

Personally, I wish that (WiFi) device vendors would stop doing this. But until they do, I am glad that free software gives me choices - I can decide how pure I want to be, and how much functionality I'm willing to give up in service of that goal. And so can you.

9
  • Very throughout answer, thank you. I think Wi-Fi is one of the most critical components and should have free firmwares in order to check what it is sending over the internet? It's unfortunate that Librem 14 is out of stock and must be pre-ordered. The FSF has a list of devices certified to ship with free software. There are USB Wifi adapters among them. Could be a good compromise? Mar 17, 2021 at 9:53
  • I can't tell you whether it's a good compromise, because you have to evaluate that according to your criteria, not mine. But it's definitely an option, and with USB-3 speeds, probably a perfectly workable one, as long as you don't mind a dongle.
    – MadHatter
    Mar 17, 2021 at 10:02
  • 1
    @raffaem A dongle is a thing that sticks out of the side of your computer i.e. a USB wifi stick
    – user253751
    Mar 17, 2021 at 10:27
  • 1
    The thing that always confuses me about this discussion is that mainly all that Intel did is to move the code from a ROM on the card to a file in the OS. Nobody was complaining about it before that, even though the code was just as non-free, proprietary, and un-reviewable as it is now, except it was shipped inside the card instead of inside the driver. Mar 19, 2021 at 14:18
  • 1
    @JörgWMittag Stallman's analysis revolved around permanently-installed firmware: "when we insist that the software in a computing device must be free, we can overlook preinstalled firmware that will never be upgraded, because it makes no difference to the user that it's a program rather than a circuit". Others disagree. It is definitely a matter capable of reasoned discussion, and persons of goodwill can legitimately have different positions on it.
    – MadHatter
    Mar 19, 2021 at 14:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.