Best Distro For Software And Hardware Support: An Analysis.!!
In this article let’s have a look at some Distros and Rank them based on support for the most hardware and software.
Let’s look at 3 parameters namely
- Out of the box Software Support
- Repository support and
- Hardware support
to determine the Best Distro with software support.
You can skip to the section of interest using the Table of Contents below.
Before we begin our analysis, let’s take a moment to see the 2 main classes of distros namely general-purpose distros and specific-purpose distros, which will help us examine the need for the best software and hardware support.
Need for the Best Software and Hardware Support
Linux distro world is full of variety and each of these distros is aimed at fulfilling a specific need/goal.
These “specific needs/goals” include, but not limited to the following.
- to host websites
- to run on old machines
- producing documents
- writing programs and creating software
- editing pictures, videos, audio and multimedia-production related works
- securing the operating system so that no one can hack into it or
- just browse the internet and consume media.
So no matter what your specific use case is, be it desktop, workstation, server, old hardware, etc., you will find a good distro to match your requirements.
Such tailor-made distros that target these specific use cases are also called specific purpose distros
Let’s say you are a user who needs a little bit of all of the above-mentioned uses cases and you need a “one size fits all” kind of distro (something similar to say Microsoft Windows or Mac) a.k.a general-purpose distro, then you are going to need support for a wide range of software and hardware applications.
Round#1: Out of the box Software Support
Let’s first start our discussion by looking at distros based on the out-of-the-box support that they provide.
By “out-of-the-box software” I mean the software included in the operating system image that we download from the distro’s official website.
Let’s pretend a situation where a user does not have an internet connection, or maybe he wants to install every available software in one go so that he doesn’t have to download and install packages from time to time. In such situations, “out of the box” software will play a big role in making sure the user can get what he needs when he needs them.
The number of these software that come preinstalled usually has a direct correlation with the image size of the distros. So let’s have a look at 6 popular distros and their image sizes in the table below.
|Distro||Image Size in GB|
(These figures were taken from the download sizes of the images from the official websites at the time of writing this article.)
As you can see in the table above, Debian outshines them all with a massive 12.4 GB of software. To be more precise, this 12.4 GB is divided into 3 images DVD1, DVD2, and DVD3 as shown in the image below.
The first of the 3 images (DVD-1.iso) contains the operating system itself and the important software that comes with that, the other 2 images are the additional software that otherwise needed to be downloaded from the repos from time to time whenever needed.
Hence I would say this round of Out of the box support goes to Debian!
Round#2: Repository support
Repository refers to the place where software packages are stored for easy retrieval whenever needed. They can be online like the YUM repository or they can be on a local folder or a DVD (like in case of Debian above) where you have a special collection of software that you need.
The above table is obtained from this link. I have ordered the Distros based on the approximate number of source packages as the number of precompiled packages does not tell the big picture of the story.
Number of packages vs Number of Software
As with everything else in the Distro world, the way these packages are installed, removed and updated are also done in a wide variety of manner through software called package managers.
You can read more about these repositories, packages and package managers in the article below where I have explained the need for package managers, functions of them and architecture of package managers.
Some of these package managers use single binaries by combining the software and its dependencies into a single package for a given software application, while other package managers store the software and its dependencies separately.
Each approach has its pros and cons and discussing them is not the focus of the article. The key take-away point here is that the numbers shown in the 3rd column (precompiled packages) of the screenshot above is not a clear indicator of the software support provided by a given distro, and the column 4 (source packages) is the best indicator.
Hence we can come to the conclusion that Arch Linux wins the round of Repository support!
Most of the other major distros like Debian, Fedora, and OpenSUSE has support for almost all the free and open-source software that is out there. Some of these software are supported officially while for others there is third party support.
That being said, the best way to figure out if a particular software is supported on your favourite distro is to simply google, do some research online and figure things out.
Before going to the next section of Hardware support, let’s digress a bit and look at the concept of “Official and 3rd party repos”.
Official repos and 3rd party repos
Official repos are software storage servers that the Linux Distro maker officially supports. This means all the software packages found in these repos are
- tested thoroughly,
- verified for authenticity,
- made sure that these packages conform with the security standards set forth by the Distro makers and
- are tested to be compatible with the version of the distro you are using.
In simpler words, when you download software from the official repos, you don’t need to think twice about whether the software will make your system insecure or break your system.
3rd party repos, on the other hand, do not have these strict rules when it comes to the packages stored in it. These repos are usually made by some smaller fraction of the community behind the main distro and are usually not properly maintained. Hence it’s up to the end-user to verify that a downloaded package is good in terms of authenticity, security, and compatibility.
Hence in this discussion, we only consider official repos and not the 3rd party ones.
Round#3: Hardware support
Hardware support is considered the Achilles heel of Linux. This is especially true when it comes to some Network cards and Graphics Cards. This is due to the following 2 problems
- at the moment a very small fraction of desktop users around the world actually use Linux as their main operating system and hence the manufacturers of PC hardware don’t wish to put in the investments and efforts it takes to make the necessary drivers
- Linux is built on free software philosophy and driver manufacturers don’t like the idea of opening their source codes as their competitors can take advantage of their labor in making efficient code
The fraction of the desktop user population is increasing day by day and it is expected at some point in the not so distant future, Linux will be able to gain a respectable market share so that problem will solve itself in time!
Already many hardware vendors started providing proprietary firmware with their hardware but not all.
Problem#2: Proprietory Software
Why Linux world hates proprietary software?
Linux’s core philosophy can be summarised using the following 4 points
- the user decides what the software can be used for
- the source code will always be distributed with the software
- the user is free to give out copies of that software
- the user is free to make changes and give out those changes
To obtain the above 4, the main requirement is that the software source code must be available to the end-users.
Hence the second problem is not likely to be solved soon. This is due to the fact that hardware can be reverse-engineered and copied easily as its basically chips produced by other manufacturers connected via PCBs. Hence good and efficient Software is the fact that differentiates these manufacturers in the market.
Thus Making the software open source will be bad for these businesses.
Let’s digress for a short bit once more and look at the difference between drivers and firmware.
Drivers vs Firmware
Hence hardware manufacturers usually just give out locked and pre-programmed hardware where the user is prevented from even reading out the binaries. This software that runs on the hardware itself is called Firmware.
To make the hardware communicate with the operating system and to update the firmware, manufacturers usually give out programs called drivers.
Even these drivers are distributed as binary executables and the source code is not given out to the user.
The software which only comes as binaries (without the source code) is also called Proprietary Software.
You can read more about what firmware are and how they differ from hardware in the article I wrote explaining the differences given in the link below.
Solution: Prioritize Users more than the Above Principles in the short-term..!!
To circumvent these issues, some Linux distros that prioritize users more than the above 4 principles, started supporting the proprietory software and bundle them with their images.
This way there will be fewer users who tried Linux will hop back to Proprietary OSes like Mac and Windows due to lack of hardware support.
Some distros do this officially through their own repos while for others you need to use 3rd party repos. As we have seen above 3rd party repos are not very secure to use and hence if you are doing anything important on your Linux machine, I suggest sticking to the official repos!
Let’s see the Distros that offer official support for proprietary software.
Proprietary software support
The best 5 Distros that offer official support for proprietary hardware drivers are the following (ordered best first)
- Ubuntu: Being very popular, many hardware manufacturers have provided proprietary software support for this Distro
- Linux Mint: prioritizes open-source drivers, but supports proprietary ones too.
- Debian: Better than Fedora, but not as good as Ubuntu
- Fedora: Not as good as Ubuntu or Debian when it comes to Desktops (since it is used more in server environments) but still plenty of manufacturers support it as it is the sibling of the most famous corporate Distro RHEL
- OpenSUSE: no proprietary drivers supported officially, only 3rd party repos support them.
Hence the round of Hardware support goes to Ubuntu
As you have seen, all 3 rounds have been won by different Distros, but if you ask me to pick just one, I would go with Debian as this Distro won Round#1 and performed decently in the subsequent rounds!
And with that, I will conclude this article!
I hope you guys enjoyed this article and learned something useful.
If you liked the post, feel free to share this post with your friends and colleagues!