If you have never used Linux before, you will likely be over-whelmed when it comes to selection of a Linux Distributions with Linux enthusiasts bickering about what distribution is the best…
The following things three things should be considered:
- Desktop Environment
- Package Managers
These normally differ from distribution to distribution also abbreviated as Linux "distros".
Table of contents
- Free, Open-Source, Closed-Source and Propriety Software
- Hardware Support
- Debian and Fedora Projects
- Debian Based Distros
- Fedora Based Distros
- Package Managers
Free, Open-Source, Closed-Source and Propriety Software
Although most Linux distributions are "free" for the end-user to download, install and use. Under the hood, there are human/time costs to develop them. Some open-source software is bolstered by companies.
An analogy you are common with is the Chromium Project which is open-source. This open-source project is however the basis of the commercial products Google Chrome and Microsoft Edge. Google and Microsoft build Commercial products based upon Chromium which they can monetise and are therefore two companies which compete for market share. However they also co-operate and feed code back into the Chromium project which in turn makes both their products better or more secure. Both browsers Google Chrome and Microsoft Edge are close-source, free to use by the end-user but their additional code that goes into their browser is private.
Instead of just being the browser, Linux can be thought of as the entire Operating System. Third-party software developers can write software for Linux that is open-source and can be bundled in Linux and modified. They can alternatively write closed-source software which can either be monetized via a direct purchase for or provided for free.
Linux has never fully shaken off the conception that it is hard to install on hardware and it is hard to install software on Linux.
Linux Vendor Firmware Service
In general systems manufactured post Late 2015 have better Linux hardware support due to the development of the Linux Vendor Firmware Service. The Linux Vendor Firmware Service is a collaboration between Chip Manufacturers (Intel, AMD, NVIDIA, Broadcom, Realtek) and OEMs (Dell, Lenovo, HP) with Canonical (the company behind Ubuntu), RedHat (the company behind Fedora) and the wider Linux Community.
The Linux Vendor Firmware Service allows (UEFI) BIOS Updates and Firmware Updates for Devices such as Thunderbolt Docks to be installed natively within Linux. Legacy hardware had Windows Only (UEFI) BIOS Updates and Firmware Updates which have to be updated to the final version before installing Linux (usually within Windows or via a FreeDOS Bootable USB).
Manufacturers such as Intel, AMD and Broadcom in particular are very good at providing open-source drivers which become incorporated within the Linux kernel. Since these vendors typically make the chipset, processors and wireless cards, in the vast majority of cases hardware will work out of the box using either a Linux Live USB or a Linux Installation.
Linux Live USB
Most Linux Distros have a Linux Live USB. The Linux Live USB can be created by downloading an ISO and writing the contents of the ISO onto a USB Flash Drive. In Windows the program Rufus can do this and in Linux there is normally a Startup Disk Creator or equivalent utility to carry out this purpose.
The Linux Live USB can be booted from to try the Linux Distribution. When trying the Linux distribution, the USB Flash Drive is used in place of a Solid State Drive which will result in a reduced performance due to the slower access time of USB Flash Drives and system processes will be ran using the RAM and only open-source drivers which will be used. When there is no open-source driver provided by a manufacturer, a generic open-source driver will be used which usually won't take full advantage of the devices capabilities again resulting in reduced performance.
Other chip manufacturers such as NVIDIA tend to only provide closed-source drivers which have limited options for tweaking and tinkering with. Some media companies also only produce close-sourced multimedia codecs.
Canonical – Configure Secure Boot
Canonical will give an option to install them alongside the Operating System during installation. This will automatically install all additional third-party drivers and multi-media codecs that are commonly used.
A subset of these drivers or multi-media codecs may not include a Microsoft signature required to pass Secure Boot. To install them properly, the setup requires a relatively simple configuration of Secure Boot, a Secure Boot Password is created during the installation and Enrolled as a Machine Owner Key (MOK) in the UEFI BIOS during the attempted first-time boot of the Operating System.
Most Ubuntu based distributions follow a similar procedure.
RedHat – Third Party Repositories
RedHat on the other hand will install using only open-source drivers by default.
Previously closed-source drivers and multi-media codecs had to be installed using a relatively complicated procedure which involved separate RPM-Fusion repositories. These repositories once again included a small subset of drivers which do not have a Microsoft Digital Signature required to pass Secure Boot and unfortunately Secure Boot had to be Disabled in order to use them.
Now instead the out of the box setup screen, will give you the ability to enable third-party repositories which can then optionally installed in Software.
Software from this limited set of very commonly used third-party repositories will then show up in Software when the search button is used but are not automatically installed. These third-party repositories are all signed with a Microsoft Digital Signature and will pass Secure Boot. If for example you have a NVIDIA graphics card, you should search for NVIDIA and install the NVIDIA Graphics Driver and then the NVIDIA Graphics Driver Control Panel.
Normally there are two versions of these listed a new version and an old version. In general you want to install the new one and make sure you install the matching version of the Graphics Driver Control Panel. The NVIDIA driver can be installed without disabling Secure Boot.
One of the other Software Repositories is Google Chrome, which unlike the open source Chromium browser or Firefox bundles all the multi-media codecs by Google which are required for video streaming from services like Disney, Amazon and Netflix.
Note software from the third-party repositories is regarded by RedHat as "potentially unsafe" as it involves proprietary code. This software is generally provided by the vendors NVIDIA and Google themselves so can generally be considered as "safe".
Feature Based vs Long Term Support
For installation on PCs there needs to be some participation with the hardware manufacturer and the Linux community. All Linux distributions use the same underlying Linux kernel, which is continuously developed. When it comes to updates however, there is a trade off between newer features and stability. Stable forks of the Linux Kernel are usually taken for each version of a Linux distribution. Many Linux Distributions also ship with a Long Term Support (LTS) release and a Feature Based Release. A LTS is released about every 2 years and is usually far more stable than a Feature Based Release which is released about every 6 months however towards the end of the 2 years, the LTS release can be pretty dated when it comes to support for newer hardware.
UEFI Support: Secure Boot
Most Linux Distributions now support a UEFI Boot which has been the standard since 2012. Secure Boot is a feature which only allows code with a verified Microsoft Digital Signature to boot on a UEFI BIOS. Secure Boot is a feature designed to stop malicious software from hijacking the boot entries in the UEFI BIOS and therefore overriding the Operating Systems Security mechanisms. This was very common for ransomware in the days of Windows 7, although it is a security vulnerability for Linux Operating Systems also. Secure Boot should be Enabled whenever possible.
Microsoft have partnered with most of the companies who develop the major Linux Distributions and issued them with a Secure Boot Digital Signature. Note there was a major Boot Hole discovered in mid 2020 which resulted in the re-issuing of Secure Boot Digital Signatures. Any ISO made before mid 2020 will not pass Secure Boot, ensure you have an up to date installation ISO from 2022.
Note some of the smaller Linux distributions unfortunately do not yet have a Secure Boot certificate and must therefore be installed with Secure Boot Disabled.
UEFI Support: SATA operation
At current most of the Linux distributions don't support the RAID SATA Operation which works with the SSD Drive, Processor, RAM and usually the Windows OS for additional performance gains. There is no Intel VMD Linux Driver for the RAID SATA Operation and the SATA Operation should be changed to AHCI before installation of Linux.
Debian and Fedora Projects
Most Linux distributions are based on one of three Operating System projects:
- Debian Project
- Fedora Project
- Arch Project
The projects can normally be installed directly via a command line or graphical user interface. During installation, the user will get the option to install the current kernel or new kernel and an option to install a Linux Desktop Environment, that is the graphical user interface of the Operating System.
The Project, Linux Kernel and Desktop Environments are all being continuously updated… Installation of the projects directly can therefore lead to a huge variation in configurations that haven't been fully tested together and can hence lead to a series of bugs and instabilities.
For this reason it is not recommended for new users to install the projects directly but rather a distribution which bundles, the project, kernel and desktop environment all of specific versions which have been tested together.
Debian Based Distros
The Debian project is the open-source basis of the Ubuntu Distribution which is developed by the company Canonical. Canonical add a number of features to Debian and partner with device manufacturers to make it easier to install and use. A huge number of Linux distributions are then Ubuntu based and others like Ubuntu are also directly based on Debian. Let's give a quick overview of the Desktop Environment of some of these distributions.
Ubuntu and POPOS!
Ubuntu uses a modified version of the GNOME3 Desktop Environment, which is one of the most modern up to date Linux Desktop environments. The modifications by default set the side panel/dock to always show and add title buttons to the windows. The touchpad is configured to use a left and right click. The panel/dock shows the pinned favourites, opened applications and includes the All Applications button.
Canonical's modifications to GNOME3 make it far easier to use Ubuntu when coming from another Operating System such as Microsoft Windows than pure GNOME3. Canonical have also added configuration options for the panel. The colour scheme can be changed and the panel mode can be switched off to instead show a Dock.
The Dock position can be moved to the bottom:
The new Ubuntu 22.04 LTS has the most support for modern hardware such as 2 in 1 Convertible Touchscreen Devices and Thunderbolt Docks with multiple monitor configurations.
Unfortunately not all third-party applications have been updated to take advantage of the onscreen keyboard. One notable application is the Chromium browser and all Chromium browsers such as Google Chrome. The touchscreen keyboard does not automatically populate when touching into a text input field making it unusable with these browsers. In addition there is no icon to manually invoke the Touchscreen Keyboard. Hopefully these issues will be addressed soon. The touchscreen keyboard does however work out of the box with Firefox.
Canonical also have a number of Ubuntu Flavours which use different Linux Desktop Environments in place of GNOME3. However associated with each flavour is normally another distro further developed by another company or development team who tweak the flavour further.
Even with their primary product Ubuntu, another development company System76 develop POPOS! POPOS! is essentially Ubuntu with a further modified GNOME3 Desktop Environment and some streamlined performance settings for their own hardware. POPOS! have also incorporated some features which Ubuntu lacks such as window stacking.
Note one major drawback for POPOS! is it does not support Secure Boot and therefore will not be further discussed in this guide.
Zorin OS 16.1 is a Ubuntu 20.04 LTS based distribution which uses the Zorin Desktop Environment. Sadly at present Zorin OS inherits the limitations of the legacy display graphics driver model from Ubuntu 20.04 LTS and older kernel. This means all monitors have to use the same DPI resolution and there are instabilities of the old Kernel when it comes to using Thunderbolt Docks. It also inherits the FireFox touchscreen issue, where Firefox uses an input method designed only for keyboard and mouse by default. Due to these multiple issues I would personally avoid using Zorin OS until a new version is released based upon Ubuntu 22.04 LTS. The development of Zorin OS is normally about 1 year behind the release of the Ubuntu LTS.
That being said, the Zorin Desktop Environment adds some nice additional touches to Ubuntu. The Zorin Desktop environment is essentially a highly modified GNOME3 Desktop Environment. There are four default Zorin Desktop Appearance Styles:
There is the GNOME3 Appearance. Here the left panel is in a dock form which is hidden by default:
And the hot corner in the top left can be used to switch through open Apps:
Next is the Windows 10X Desktop Appearance that has the panel in the form of a taskbar at the bottom of the screen and a full Application screen:
Next is the Windows 7 Appearance. Notice that the File Explorer in Zorin OS also includes tabs:
Finally there is the Windows Vista Appearance which uses title bars on the taskbar opposed to just icons:
There is also a Windows 11 Appearance in the Pro Edition.
This Desktop Environment inherits GNOME3 supports 2 in 1 touchscreen Devices with the onscreen keyboard and device auto-rotation working out of the box…
Kubuntu and KDE Neon
The flavour Kubuntu uses the KDE Desktop Environment. Once again the KDE Desktop Environment isn't Canonicals primary focus and there is also KDE Neon which is a Ubuntu based distribution developed separately by KDE who focus on the KDE Desktop Environment.
KDE is primarily designed for keyboard and mouse use on a traditional desktop or laptop. Despite having the new display graphics driver model, KDE does not work with a high resolution laptop monitor and a standard resolution desktop monitor and only allows the user to apply a global scale to all monitors… which makes the high DPI unusable at expense of the standard DPI screen or vice-versa:
It has limitations when it comes to 2 in 1 Convertible Touchscreen Devices. For example, icons on the panel/taskbar do not respond to touch. FireFox, uses a keyboard and mouse input method for the touchscreen so text is highlighted instead of scrolling.
There is no onscreen keyboard, with the exception to the lock screen which has a "virtual keyboard". This suggests the Desktop Environment might make some developments in touchscreen usability but at current it is way behind GNOME3 in this area.
There is also no GUI change in response to the IIO Proxy Sensor meaning the system cannot be used in tablet or tent mode.
Ubuntu MATE and Linux Mint Cinnamon
The flavour Ubuntu MATE uses the MATE Desktop environment which is the continuation of GNOME2. This Desktop Environment is excellent for keyboard and mouse which it was originally intended for. Although Canonical have the Ubuntu flavour Ubuntu MATE, this Desktop Environment is no longer their primary focus. The Linux Mint team typically take Ubuntu MATE further and offer Linux Mint MATE or their more flagship Linux Mint Cinnamon (which is another Desktop Environment closely related to MATE).
Like Zorin OS, Linux Mint Cinnamon also inherits the limitations of the legacy display graphics driver model from Ubuntu 20.04 LTS. All monitors have to use the same DPI resolution and there are instabilities of the old Kernel when it comes to using Thunderbolt Docks.
It also inherits the FireFox touchscreen issue, where Firefox uses an input method designed only for keyboard and mouse by default. This can be changed using a command in the terminal.
These issues will likely be fixed in Mint 21, the development of Mint is normally about 6 months behind the Ubuntu LTS as it is based upon Ubuntu.
These Desktop Environments were designed before such touchscreen devices were wide-spread and although some touchscreen usage has been added to the Cinnamon Desktop environment, the user experience is by no means seamless. The Start Menu and Taskbar applications work with touchscreen input:
Some of the applications such as the Firefox Browser work use a keyboard and mouse input method which doesn't work well on Touchscreen. The touch input method for Firefox can be changed from a keyboard and mouse input method to a touchscreen input method using a command line in the terminal:
Automatic screen rotation is disabled by default and does not work well.
Enabling it disables the 200 % DPI scaling:
This can be changed back to 200 %:
Screen rotation works but the touch input matrix does not rotate with the screen. For example when in tent mode pressing start at the top right opens the start menu, which is on the bottom left, i.e. the touch input matrix is unchanged when the device is upside down or sideways:
A touchscreen keyboard applet can be added to the taskbar. The Touch Keyboard normally defaults to the top of the screen and only opens when activated. In addition it is less aesthetically pleasing than the one offered in the GNOME3 Desktop environment and lacks the additions of Emojis:
There is a setting to move the Touch Keyboard to the bottom of the screen and automatically display when entering an input field. However this setting is problematic and makes the Start Menu unusable:
I have put a guide together here on installing Linux Mint (Version 20.2 and 20.3 have identical installation instructions):
Lubuntu and Raspberry Pi OS
The flavour Lubuntu, Light Ubuntu flavour uses the LXQt Desktop environment which is designed for low performance devices such as Raspberry Pi. The Raspberry Pi Desktop Environment is actually based directly upon Debian and uses the LXQt Desktop Environment and is of course tailored specifically to the Raspberry Pi hardware.
DeepIn 20.5 is a Linux distribution being developed in China, primarily for the domestic Chinese market but also support other languages.
DeepIn 20.5 has a Windows like Desktop Environment. The Desktop Environment has two Appearances; Fashion Appearance which has a Start Button to the left and a central dock with opened and pinned icons:
And Efficient Mode which moves the pinned and opened icons to the left hand side:
The Start Menu can be changed to a Full Start Screen:
Despite having nailed the aesthetics of the user-interface, and usage with a keyboard and mouse, the touchscreen usability is sadly somewhat lacking. On my XPS 13 9365, touch didn't work on the taskbar, I could select but not press down to launch a program or open the Start Menu. The touch input worked in the Chromium based browser and within File Explorer however, so there is partial functionality with this Operating System. The touchscreen keyboard provided does not work. It has opened to the top right, in the centre of the browsers title bar and is obviously too small to use. This is probably as the DPI scaling is 200 % on this system and the touchscreen keyboard isn't optimised for such a scenario. In addition there is no response to IIO proxy sensor, so the system cannot be used in tablet or in tent mode:
I have put a guide on installing DeepIn 20.2 here (DeepIn 20.5 has identical instructions):
Fedora Based Distros
The Fedora project is maintained directly by the company RedHat who also make a commercial edition RedHat Enterprise Linux. RedHat Enterprise Linux is a Commercial Linux distribution for enterprise solutions. The monetisation model is essentially around enterprise support maintenance contracts. RedHat Commercial Linux is in essence the stable Long Term Support (LTS) refreshed every 2 years. Meanwhile the development of RedHat Commercial Linux is generally carried out in Fedora which has a new release approximately every 6 months and can be considered the feature based release. RedHat use numeric version numbers 1, 2, …, 36:
The GNOME3 Desktop Environment is used by default and therefore shares a lot of commonality in user interface with Ubuntu. Canonical however use a slightly modified version of GNOME3 which is easier for new users coming from other Operating Systems such as Windows. Fedora use a more pure GNOME3 and offers less customisation options than Ubuntu:
The pure GNOME3 Desktop Environment hides the dock and program windows don't have the usual minimise and maximise buttons:
Fedora uses the GNOME3 Desktop Environment which currently is the only Linux Desktop Environment which boasts full out of the box support for 2 in 1 Touchscreen Devices.
The automatic rotation however doesn't work in Laptop Mode and you can unfortunately end up with an upside down screen when switching between Tablet and Laptop mode.
Fedora uses pure GNOME however which may take a moment for users to adjust to as it lacks traditional UI elements such as a minimise and maximise button. Window sizes can however be adjusted by dragging and dropping to the edges of the screen to snap them to the top (full screen), left or right respectively.
Closed windows minimise to a bottom panel which is only shown if Activities are selected.
In Fedora the Touchpad is set to use finger presses by default opposed to a left and right click. My XPS 13 9365 for example clearly marks a left and right click button. However on Fedora clicking anywhere on the Touchpad with one finger leads to a left click. To right click I need to press down anywhere on the Touchpad with 2 fingers and to middle click (the copy/paste button) I need to press down anywhere with 3 fingers. i.e. the Touchpad reacts using a pressure sensor opposed to the marked dedicated buttons. There are additional gestures, sliding three fingers up from the bottom of the Touchpad to the top will open up activities and sliding with three fingers from the middle of the Touchpad to the left or right will switch the workspace.
Fedora also has the problem with the Touchscreen Keyboard not opening when pressing into a text input field with the Chromium and Chrome browsers. This is inherited from GNOME3 itself.
I have created an installation guide for Fedora here addressing the above:
Windows applications have the file extension .exe and are typically downloaded from the developers website and then double clicked to begin installation. The software package will normally install the software and the software's required dependencies, in the past for example, the Microsoft Framework (which is now built into the Windows 10 and 11 Operating Systems). There is a new package manager in Windows called winget which can be used to search, install, upgrade and uninstall software using the Windows Terminal. Behind the scenes the application is downloaded from an online software repository and then the application is launched and installed. There is also the Microsoft Store which uses a different package type called Universal Platform Applications which has never taken off in as much popularity by software developers.
In Linux there is a similar situation. The two projects have their own package types. The Debian project uses the package type .deb (Debian Package Manager) and the Fedora project uses the package type .rpm (RedHat Package Manager).
For each distribution, there is usually a Software Store. One of the most simple implementations is within Fedora. This Software Store has a tab which handles system Updates:
Select Updates and the Download:
The Restart and Update:
It can also be used to search for software and install for example the Chromium browser:
What this does is download a .rpm file in the background and then install the software from it.
Software only lists programs in Fedoras official repository by default. A limited number of third-party repositories can be added which will give the NVIDIA driver and Google Chrome for example as mentioned earlier.
Other third-party software can be installed by downloading the .rpm and installing:
It can then be right clicked and open with software install can be selected:
Software can be installed from an official repository using the dnf (dandified) command with the command argument install followed by the name of the software package. To install, we require super user permissions, so prefix the command with sudo (super user do):
sudo dnf install chromium
Software s clearly distinct from Settings in Fedora which is related to the GNOME3 Desktop Environment:
Debian apt and Ubuntu snap
Ubuntu is Debian based and Debian by default uses the advanced package tool (apt). However more recently Ubuntu have been developing their own package manager called snap.
snap is designed to make it easier to install software, as it will include all the software's dependencies and for security the software will also be sandboxed, i.e. prevented from accessing system files. Finally the software will be automatically updated to the latest version which is important especially for web-browsers which need to be up to date to address the latest security exploits in browsers, preventing hackers from taking advantage of older known exploits to go after things such as online banking.
Unfortunately the implementation in Ubuntu isn't as smooth as both package managers, apt is used by the Debian based operating system for software updates and snap is used by the Ubuntu Store. There are also a large number of software packages only available as a .deb file than available as a snap package and finally there has been a reluctance by developers from Ubuntu based-distributions to employ snaps.
In Ubuntu there are five icons on the All Apps Screen that often get confused with one another by beginners… The Software Updater, Software & Updates, Ubuntu Store, Settings and Additional Drivers.
As an end user, using Ubuntu for the first time, having five separate Applications for Software and Updates feels a bit fragmented… Under the hood however these are compartmentalised because of the way Ubuntu is developed i.e. Ubuntu is a Debian based Linux Distribution which uses the GNOME Desktop Environment…
In Ubuntu the Software Updater only searches for Software Updates. The Software Updater is inherited from Debian. This includes fixes for the Linux Kernel including driver updates and multimedia codecs. Software updates will also apply fixes for the GNOME desktop environment. You will be informed if the Software Updater finds Updates. Select Install Now:
In the background this uses the advanced package tool. We can search for updates using:
sudo apt update
We can list upgradable updates using:
sudo apt list --upgradable
We can install updates using:
sudo apt upgrade
The Software & Update Settings and Additional Drivers are different tabs of the same "Software & Updates" Application which is once again inherited from Debian. There is not usually any need to change the settings within this utility. The Additional Drivers tab will only list a handful of drivers. Usually this applies to non-Intel hardware as Intel drivers are inbuilt into the Linux Kernel. It is typical to see an additional driver for a NVIDIA graphics card and a Realtek Wireless Card:
This is separate from Settings which essentially applies only to the GNOME3 Desktop environment.
The Ubuntu Store in Ubuntu 22.04 LTS now only lists snap applications. In Ubuntu 20.04 LTS, the store listed both snap packages and .deb packages available via apt. This meant for a large variety of software there were two software packages available and most users, particularly new users didn't know what software to install. Canonical are recommending users to use snap installs whenever possible and for that reason have made the decision to only list snap applications in the Ubuntu Store:
snap packages automatically update. The Ubuntu Store Updates does not list Operating System Updates which are handled by the Software Updater which uses GPT. Updates here instead incorporates the Linux vendor Firmware Service and will list firmware updates provided by your OEM. On my XPS 13 9365 for example three updates for the WD19TB Dell Thunderbolt Dock are listed. There is also a UEFI BIOS Update for the XPS 13 9365 itself:
snap packages and apt packages can also be installed using the Terminal. When a package is installed using apt that is also available as a snap, the apt install command will be interpreted by Canonical as an alias for the snap install:
sudo snap install chromium sudo apt install chromium
Other package managers
In general, it is recommended to install software using your distributions recommended Software manager. The snap store can however be enabled on Fedora which will allow users to install Ubuntu snap packages which are not available on Fedora. Another popular package manager is Flatpak with the associated Flathub Store. The downside of course of using multiple package managers is that it becomes harder to trace where a piece of software has been installed.