Linux Distributions

What is a Linux distribution?

Linux is the official name of the kernel, which orchestrates the interface between physical hardware components and the software (tasks, processes, threads) than run on it. So a Linux distribution typically uses Linux for kernel and then packages a number of other things around it. There are usually the following characteristics that make distro distinct:

  • The Kernel type (long term, stable, or more recent ones)
  • The init system: it is the first process that initializes the system, and manages other processes until the computer shuts down. SytemD is the standard nowadays, but there’s also runit, upstart…
  • The package manager: which is used to install programs, manage dependencies and process updates.
  • The display server: X.Org, Mutter, Kwin, etc…
  • The bridge between the display server and the graphical interface: X11 or Wayland
  • A window manager: it deals with how the windows are represented on screen. It could be stacking window manager, a tiling one, or a compositing window manager (that can apply effects before rendering windows on screen)
  • The graphical interface: what the end user actually sees to operate the system. There’s GNOME, KDE but a few other choices too.
  • The overall system update policy: batch (once every year or 2 years, major upgrade) or rolling (the system keeps being upgraded every week with new system libraries and versions of applications).
  • A set of libraries, (non-free) drivers and applications installed by default

As you can see there’s a lot of potential combinations possible when building a distro, which is why the market is so fragmented: there’s potentially a distro out there that will make a different choice in the above factors, hopefully enough to be considered sufficiently different and gather some following.

The Main Linux Distros Out There

This is not going to be a history of all Linux distros, but at least an overview of the current offering (not exhaustive):

  • Debian: one of the oldest Linux distros. It has several versions. It uses SystemD as init system, X11 by default, apt as a package manager.
  • Ubuntu: based on the more recent updates of Debian. It uses SystemD, X11 and apt for package management as well. It defaults to GNOME as a graphical environment these days.
  • Arch Linux: rolling release, uses recent kernels and SystemD as init system. It is installed from the command line and be customized from there on to work with pretty much any configuration.

Which Distro to Use for Gaming?