This article supplies the reasons on why some of your hardware like wifi or GPU does not work with libre software distro like Trisquel GNU/Linux, Debian and others. In short, it is because the difference between the operating system and the device requirements. The solution relies on either the manufacturer or the users to solve this issue. This is a compilation and summary of several important resources in Libre Software Community where GNU/Linux is a fundamental part of. This also includes Glossary at the end. Read the explanation below.
Subscribe to UbuntuBuzz Telegram Channel to get article updates.
How Does Computer Connect to the Internet
Let's assume this question to represent other hardware issues.
Let's assume a computer connects to the internet using wifi card (or other hardware solution). How does that connection happen?
There is a computer, a wifi card inside, an operating system, a driver of that wifi card, and a firmware of that wifi card. As a whole, computer runs the operating system, the operating system loads the driver first, then send the firmware into the wifi card hardware, and then the wifi card is active, finally the user can connect to the internet. This is how computer connects to the internet in brief as well as how every hardware device works in general.
How A Hardware Device Works
Let's assume it is a wifi card.
There is a computer, a wifi device in it, an operating system, and a user. The computer can connect to the internet using wifi device because the two requirements for the wifi device are fulfilled in the operating system. By fullfilled here it means there are available copies of the driver and firmware sufficient to the operating system in the operating system. As an example, a driver for GNU/Linux works in GNU/Linux, and likewise a driver for Windows works in Windows. As for firmware, it does not depend on the OS but depends on the driver -- if the driver works in an OS the firmware will also work.
How A Hardware Device Does Not Work
Let's assume again it is wifi card.
There is a computer, a wifi device in it, an operating system, and a user once again. The computer cannot find a wifi hotspot, cannot connect to one, and thus cannot connect the user to the internet using the wifi device when by two requirements of that wifi device does not match the operating system. By does not match here it means a driver software created for Windows will not work in GNU/Linux, likewise driver for GNU/Linux will not work for other OSes.
Why There Are Nonfree Software-Based Hardware
Most hardware devices are nonfree software-based or do not work unless with them. It is because the manufacturers deliberately manufacture them that way.
What Are Libre Distros?
There are many distros also known as GNU/Linux operating systems but not all of them are libre. A libre distro does not contain nonfree software, that is, computer program that is controlled by the developer not by the user in the user's computing. Thus, a libre distro does not contain any nonfree drivers nor nonfree firmware. Example of libre distros are Trisquel, Parabola, and Debian (with only main repository enabled).
How A Hardware Device Works with Libre Distro
Let's assume again it is a wifi card.
Computer user can connect to the internet using wifi card which driver is available for the libre operating system and firmware is available as well. Alternatively, it works if the device can work with a free software driver without nonfree software firmware. To be available, both driver and firmware must be free software, that is, computer program that is controlled by the user not the developer in user's computing. As an example, Qualcomm Atheros AR9285 wifi card (included in ASUS X44C for example) works with libre distro and tested with Triquel.
How A Hardware Device Does Not Work with Libre Distro
Let's for the last time assume it's a wifi card.
Computer user cannot connect to the internet with the wifi as either the device driver is not available or firmware is not available or both for the libre operating system. By not available here it means it is being nonfree software. As an example, Broadcom BCM4313 (included in Acer Aspire One AO756 for example) does not work with libre distro and failed the test on Trisquel. Another example, which is very popular with bad names, is NVIDIA GeForce graphic cards which many if not all models are not working with libre distro because do not have free driver and do not have free firmware either.
What is Compatibility?
A hardware device is said "compatible" if the hardware can work as user's expectations with a certain operating system. It is said "compatible with GNU/Linux" means the hardware is generally working with common distros such as Ubuntu but perhaps not with libre distros. It is said "compatible with libre distro" means the hardware works with libre distros like Trisquel and as a consequence works also with all other distros like Ubuntu.
Are the other hardware the same?
Yes, generally all the other hardware have the same issues regarding their requirements of firmware and driver and their compatibility to libre distros. Those other hardware devices are partially: printers, scanners, modems, disk drives, external CD drives, external wifi cards as individual parts; as well as laptops and PCs as a whole.
What is the real issue?
The issue is that most hardware manufacturers do not fulfill all the rights of the buyers (users). It is like buying broken stuffs -- you paid for the price but the seller give you the stuff without the requirements that they should be given to you. If manufacturers know their hardware will not work unless the two software available to user's operating system, they should convey the two software in source code -- complete and without secrecy -- to each buyer. This way, any user with any operating system anywhere can make use the hardware as expected. Good example in solving this issue, smartly and responsibly, is Qualcomm Atheros company with their AR9285 wifi mentioned above and also Intel company with many of their HD Graphics GPUs that work with libre distro (thus, will also work with other operating systems even the new ones) because these companies fulfill the rights of the buyers by providing the software source codes to the user.
Is there any solution?
Yes there is and there are solutions to solve these issues.
First, the manufacturers should hand over all the requirements to make hardware they sold working for the buyers (users). It is all, wholly, not partially, not 95% but 100%. That means manufacturers have the responsibility to fulfill the source code of firmware and driver in which their hardware cannot work unless these two available for the operating system of the users. As previously mentioned, a good example in this is Qualcomm Atheros AR9285 and many Intel HD Graphics.
Second, the users buy the compatible hardware instead if the manufacturers refuse to hand over the buyer's rights. Those compatible hardware are made available today thanks to the efforts of our Libre Software Community through the online shop called Respects Your Freedom.
Third, the users buy the compatible hardware from places other than Respects Your Freedom. This place is available now thanks to our Libre Software Community through the online free hardware database called H-Node.
Glossary
Driver:
a low level software that works in and depends on the operating system to make a hardware device working. For example, wifi card, GPU, printer all require respective drivers in operating system to work in a computer otherwise they will not work. A hardware requires a driver, two hardware requires three drivers, and so on. A hardware's driver is created by the manufacturer. Learn further on Devices and Driver and Firmware.
Firmware:
a low level software that works in hardware and depends on driver to make a hardware device working (with exceptions like BIOS). Devices that require firmware to work are mostly wifi card and GPU. Learn further on Devices and Driver and Firmware.
Wifi card:
also called wifi chip, the hardware device in a computer that is
responsible to receive wifi network and connect the user to the
internet. Every laptop today includes a wifi card.
GPU:
graphics processing
unit, also called VGA, the hardware device in a computer that is
responsible to everything displayed on computer display. This device
requires two software, driver and firmware, to work. Every laptop today includes a GPU. There are three major GPU brands in this world they are Intel, NVIDIA and AMD.
Free and nonfree software:
computer program that is controlled and not controlled by the user in user's computing. Also known as free and proprietary software. By free here it means freedom, liberty, same as libre and not gratis nor price. Read the definition.
Libre distro:
an operating system that is free software, purely, without
proprietary software. A libre distro excludes proprietary firmware and
proprietary driver. Click here to read list of them.
This article is licensed under CC BY-SA 3.0.