Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Linux

From PCGamingWiki, the wiki about fixing PC games
Revision as of 11:28, 27 July 2017 by Kenji Kusanagi (talk | contribs) (A large cleanup and improvements for this article)
September 17, 1991
Linux
Linux cover
Website
Release dates
Linux at Wikipedia

Key points

Native Linux version of Steam has been released.
The number of natively supported Linux games has dramatically increased with the introduction of the Humble Bundle.
Windows-only games can be run using Wine, but depending on the game it may be significantly more challenging than on Windows.

Resources

Phoronix - Website dedicated to hardware and benchmarking in Linux
Linux game database - resource of games and tools.
DistroWatch - page dedicated to Linux distributions
OpenBenchmarking - a list of user-made benchmarks in Linux
/r/linuxhardware - Subreddit dedicated for Linux Hardware
/r/linuxquestions - Subreddit dedicated for Linux-related questions

Communities

Gaming on Linux - A large community dedicated for gaming on Linux.
/r/linux_gaming - Linux Gaming Subreddit
/r/linux4noobs - Subreddit dedicated for Linux newbies
Linux Game Cast - pod/videocast.

Release Models and their distributions

There are two types of release models which linux distros are using, each one of em have their advantages and disadvantages.

Fixed Release

Offers stable packages
Most distros which use it are beginner friendly
Package versions are usually tied to the distro version, meaning that upgrading your system is a must if you want to get the recent versions which are considered stable
The release of new version of the distro, depending on the developer, may take from 6 months up to 2 or more years
Manual intervention is required in order to add user-made repositories in some distros.
Updating the distro to the next version doesn't require a fresh install, often it all takes a simple command to perform it.
Distribution Based On Package Manager Desktop(s)1 Year(s) for the next version Description
Ubuntu and its flavours Debian DEB (Apt) Unity in case of flavours it varies Every year The most well known and popular distribution created by Cannonical. It is supported by Steam and other stores. Starting from 17.10, it will use GNOME desktop instead.
Linux Mint Debian, Ubuntu DEB (Apt) MATE, XFCE, Cinnamon, KDE Plasma 5 Up to 2 years The most popular and most beginner friendly Linux distribution ever made. Due to the Ubuntu being used as a base, it is pretty much supported by most stores. LMDE 2 Edition is based on Debian itself rather than Ubuntu.
Fedora Independent RPM (Dnf) GNOME, KDE Plasma 5, LXDE/LXQt, MATE (With Compiz as composer), XFCE, Cinnamon, Soas Every year An independent distro created by the community supported Fedora Project and owned by Red Hat. Compared to the likes of Debian and Ubuntu, it provides latest but stable packages. Despite not being supported by various stores, the forum is very friendly for beginners. To get Fedora in other desktop environments, please refer to this link.
Debian Independent DEB (Apt) Almost all of them besides Unity 2+ years A distribution with a very large database of packages. By default it uses the Stable version which offers applications and libraries that are of course very stable, but very outdated. Can be changed into Testing which offers somewhat latest but a little less stable packages or into Unstable, which allows you to use bleeding edge packages, however as the name suggests, it may be unstable. The distro also supports older architectures.
openSUSE Independent RPM (Zypper) KDE Plasma 5, GNOME, Cinnamon, LXDE, XFCE Up to a year Project created by the community and sponsored by SUSE Linux and other companies which promotes using Linux on almost anything. It provides exclusive tools which allows you to set up your Linux environment much easier (Yast), provide packages for other Linux distributions (OBS), automated testing for "any" operating system (OpenQA) and even create your own Linux image (Kiwi). Not supported by stores, but the community is willing to help any newcomers.
KDE Neon Debian, Ubuntu DEB (Apt) KDE Plasma Up to a year A distro created by the KDE community, compared to the Kubuntu (A KDE flavoured Ubuntu) it provides the latest version of KDE Plasma, while at the same time being able to use packages from Ubuntu.
SteamOS Debian (Stable) DEB (Apt) GNOME Varies Linux distribution made by Valve Corporation specifically for Steam Machine or for gaming from couch. It currently provides the latest stable Linux kernel along with newer drivers for GPU. Not recommended for the desktop use.
ZorinOS Debian, Ubuntu DEB (Apt) GNOME, LXDE Up to a year An extremely beginner friendly distro for users who wish to use Linux system who are used too much to the Windows. It provides exclusive features which allows you to set up the appearance ranging to Windows XP, Windows 7 or the Default GNOME while providing it's own futuristic theme. As the system uses Ubuntu database and it's based on it, it is pretty much supported by digital stores such as Steam, GOG etc.

1 - Bold ones are default

Rolling Release

Provides the latest version of the package once it’s available
No distro upgrade is required, as most distros have only one version.
Distros following the fixed release have an option to enable this type of release. Mostly under the name of Testing or Unstable
An update for the package may cause stability issues, so it is recommended organize an update by yourself in case a revision gets a release, which fixes stability issues.
In some cases, manual intervention is required.
Some distros offer a semi-rolling release, meaning that the package will be tested before the release, it mostly takes less than a month, often a week depending on distro.
Distribution Based On Package Manager Desktop(s)1 Description
ArchLinux Independent Pacman, AUR Text Mode, but later on you can install any desktop environment Simple and very lightweight distro. The Pacman (Package Manager) is a powerful package manager which is much more simple to use thanks to the simplified command arguments which, while the AUR (Arch User Repository) allows the user to install community-made packages without requiring to manually add additional repositories. It's documentary wiki is extremely useful for getting around the system and explain how things work, it can be used as a base for other Linux distributions. Each package from the official repository are tested and released when it is considered stable.
Manjaro ArchLinux Pacman, AUR KDE Plasma 5 and XFCE. The community manages other versions with their own desktop environment Also known as "Ubuntu for Arch", it provides it's own official repository compared to the distro it's been based on and has exclusive tools for installing various Linux kernels and managing your hardware drivers. The packages are semi-rolling meaning that it takes longer for the new version of the application to be released (Up to 2 weeks) until it's absolutely stable enough.
Antergos ArchLinux Pacman, AUR You can choose GNOME, Cinnamon, MATE, KDE, OpenBox, XFCE or text mode Formerly named CinnArch. Compared to Manjaro, Antergos combines both it's own repo along with official ArchLinux ones. Be aware that the setup installer is still in beta and may have some issues.
Solus Independent EOPKG Budgie, GNOME, MATE Created and managed by one of the staff members from the Intel in 2016, despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Due to the fact it is a new distro, the number of packages that are available are somewhat small, but still growing.
OpenSUSE Tumbleweed Independent RPM (Zypper) KDE Plasma 5 A separate rolling release version of OpenSUSE, despite having the same exclusive features, it provides packages that are bleeding edge, updated enough where the ArchLinux won't keep up with it.
Gentoo Independent Portage Text mode, later on you can install any DE A distro aimed only for experts. Unlike other Linux distros, Gentoo's Portage compiles the application from it's source code instead, which can offer the most bleeding edge version of the software, but very unstable. Distros based on it do exist and slightly lowers the difficulty in using it. It's wiki can be used to explain in a simple detail every compilation option you can use on other distributions.

1 - Bold ones are default

Desktop Environments

Each desktop environment you are using or installing have an impact on your user experience and the performance on games. It is often recommended to run the game in fullscreen so the desktop compositor won’t affect the game’s performance, some DE have an option which lets you disable it such as Cinnamon or KDE Plasma (Automatic). Otherwise, XFCE,LXQT/LXDE and OpenBox are recommended to gain as much performance as possible. Due to the low or even absence of desktop compositor use.

Be aware that the RAM usage may vary depending on the content of the Linux distribution.

Name Min. RAM Recomm. RAM Composer Customizeable Wayland support Notes
GNOME 512 MB 1 GB Yes (Mutter) Yes, limited Yes (GBM and EGLStreams)
  • Includes both Xorg, Wayland and GNOME Classic session
KDE Plasma 512 MB 1 GB Yes (KWin) Yes Yes (GBM)
  • Plasma Wayland is required to run in Wayland session
  • The most feature rich and powerful desktop environment.
  • Since 5.10 version, the desktop icons are enabled by default.
Budgie 256 MB 512 MB Yes (Metacity) Yes No
  • Depends on GNOME applications
  • It will use Qt as a graphical interface upon releasing version 11
  • GTK3 updates may break the desktop which currently depends on it.
XFCE 128 MB 256 MB Yes (XF4WM) Yes No
  • Composer's VSync is broken.
Cinnamon 256 MB 512 MB Yes (Muffin) Yes No, but there are plans for it
  • Provides both Hardware and Software mode sessions, the only difference is that the Software mode disables the composer.
MATE 128 MB 256 MB Yes (Marco) Yes No
  • MATE Tweak is recommended for further customization and changing the composer
  • It's composer does not have a vsync.
LXQT and LXDE 64 MB 128 MB No Yes, limited No
  • There are no programs for editing the Start menu, editing *.desktop files in text editor for each application is required.
OpenBox 32 MB 64 MB No Yes No
  • Requires using multiple components and scripts to create your own desktop.
  • Can be used as a alternative window manager for GNOME, KDE and XFCE.

Graphics

ArchLinux Wiki's ATI and Catalyst Article
ArchLinux Wiki's AMDGPU/AMDGPU Pro Article
ArchLinux Wiki's NVIDIA and Nouveau Article
ArchLinux Wiki's Intel Graphics Article
Brand Driver Type Driver Library Supported GPU Wayland Support
AMD/ATI Open Source AMDGPU MESA GCN 1 to GCN 4 and newer architecture1 Yes
ATI GCN 2 and older architecture
Proprietary AMDGPU AMDGPU Pro GCN 3 to newer architecture
Catalyst Catalyst GL Library GCN 3 and older architecture No
NVIDIA Open Source Xorg Nouveau MESA Any NVIDIA GPU Yes2
Proprietary Nvidia NVIDIA Utils From GT/GTX 300 series to recent
Nvidia 340 Nvidia 340 Utils From GeForce 8 series to GT/GTX 200 series No
Nvidia 304 Nvidia 304 Utils From GeForce 6 series to GT/GTX 200 series
Intel Open Source Xorg Intel3 MESA Any Intel HD Graphics GPU Yes
Xorg Modesetting

1 - GCN 1 and 2 architecture support in AMDGPU is experimental.

2 - The proprietary one started to support Wayland since 364.12 version, however it uses the EGLStreams API.

3 - Do not use it on Intel HD 4000 series and newer GPU.


AMD/ATI GPU must use the open source driver as they provide the best performance than the proprietary ones, while NVIDIA users should stick to the latter ones. Howerver there are some things to remember:

  • Never install drivers from the respective GPU brand's website unless you are forced to!. Installing them from the distro's repo is enough.
  • Both AMD and Intel GPUs have a support for GBM API when it comes to Wayland, NVIDIA uses only EGLStreams which limits your Wayland usage to GNOME desktop only.
  • If forced to use Catalyst driver, you must downgrade XOrg to the version it got the last support.
  • Enable early KMS once you have installed the driver.
  • As always when using the 64 bit system, install the 32 bit version of the drivers if possible.


Ubuntu and Ubuntu-based system should consider using these PPAs for latest AMD, Intel and Nouveau drivers:

Padoka Stable Mesa

sudo add-apt-repository ppa:paulo-miguel-dias/pkppa
sudo apt-get update

Padoka Unstable Mesa (Also contains unstable version of Nouveau driver for NVIDIA GPU)

sudo add-apt-repository ppa:paulo-miguel-dias/mesa
sudo apt-get update

For proprietary NVIDIA drivers please use "Graphics Drivers" Teams' PPA

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

Vulkan support

If your graphics card supports Vulkan API, you need to install additional driver package in order to enable the support, with the exception of Nvidia ones as they are already included and then install the Vulkan ICD Loader to let your GPU to use it on an application which supports it. These drivers are:

  • Vulkan Intel for Intel HD GPUs
  • Vulkan Radeon for Open source ATI driver

NVIDIA Optimus

NVIDIA Optimus Linux Guide

In case of laptops which contains NVIDIA Optimus support it is recommended to have PRIME enabled, which can be done by installing additional package, follow the distro’s documentation to learn which one. The alternative to it can be NVIDIA XRun package and Bumblebee's optirun/primusrun (Not recommended as it is no longer in development), but then the manual intervention is required (With the exception of the former). The linked guide will explain in detail the differences between them, as well as how to use them.

Xorg

Main Page

Xorg/X11 is the 1st display server released in 1986 which became a standard of creating Graphical user interface (GUI) for Linux. It received a major change during the popularity of Linux in 2000s. Despite the long support and being commonly used it has major issues which are still present today such as focus stealing, client and server separation which may lead to delays depending on the application it was made, tearing issues or even security ones which other user may capture key inputs from the keyboard. Depending on the desktop environment it also has accessibility issue for disabled users. Despite the release of it's successor, Wayland, it is still maintained by Xorg Foundation and Free-Desktop.org.

Wayland

Main Page

Wayland is a successor to the Xorg/X11 server which allows to simplify the whole graphics stack without creating a Client while using a 3rd party compositor. It is only available for GPUs which have a Kernel Mode Setting support. Intel, ATI and AMDGPU, Nouveau have KMS enabled automatically by default albeit late, however when it comes to NVIDIA you must enable it manually.


The main benefit of the Wayland is a much faster response to programs compared to Xorg/X11 due to the simple communication between APIs. Keep in mind that you may need to add a command to inform you are running in that session to avoid using XWayland, which may affect the performance even if it has a support implemented. Such as games based on SDL2 like Team Fortress 2.

Bear in mind that if you want to use XWayland on NVIDIA GPU then you may be out of luck as the NVIDIA themselves stated that they have no plans for supporting XWayland, which pretty much forces you to use Xorg/X11 as a default GUI manager. [1]


Here are the following GUI libraries with Wayland support:

  • GTK3 - Supported and enabled by default since 3.20, if not, use the GDK_BACKEND=wayland command at the beginning.
  • Qt5 - Requires the Qt5 Wayland package. After that you can run the Qt 5 application with the -platform wayland command prompt.
  • SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use SDL_VIDEODRIVER=wayland command before running the application.
  • GLFW - Install the Wayland version package of GLFW instead of X11, support added in 3.2.
  • EFL - Enabled by default.
  • Clutter - Included with clutter package
  • FreeGLUT - Has initial support.

Microcode

ArchLinux Wiki Article

It is extremely important to install the microcode for your CPU! As the manufacturer provides security and stability updates for your processor which without it, you will expect a lot of issues using your system.

AMD users only need to install the Linux Firmware package, however in case of Intel, you need the Intel Ucode package and then set up the bootloader to use it as a 1st thing to load. GRUB can automatically set it up if it’s used as your default bootloader by updating the configuration.

Kernel

Main Linux Kernel page

It is important to update your Linux kernel if updates are available as they provide security updates, bugfixes, better support for computer hardware, new modules and better performance. There are two main versions of the official Linux kernel which they differ each other. The Long Term Support (LTS) kernel versions are slightly behind in terms of hardware support and features than it’s counterpart, but offers the same security updates while being more stable with longer kernel support than other, non-LTS kernels.

Other users are free to edit the main kernel’s source code to add features, improvements, or security updates for different purposes. While both normal and LTS can be used for gaming, there are also community-made ones which may even improve it even further.

The most notable ones are (Bold ones are kernels which have additional options to enhance the performance):

Notes

  • Some repos already provide a pre-compiled kernel
  • Be sure to keep the current kernel you have in case if things go wrong.
  • It's possible to use the main kernel in Ubuntu-based distro, be aware that it does not contain any patches made by Ubuntu and they are not supported. They are used for testing purposes only, if you want to use it then consider using UKUU for easier installation.

Benchmarking

ArchLinux Wiki Article
Gallium HUD Guide

It is entirely possible to benchmark native Linux games in this system by using the Phoronix Test Suite. While it is not in GUI form, it's actually very easy to use. You will need to download any game you wish to benchmark through this program and later on run it. The biggest advantage is that once it's completed, it will save the information as a webpage which the program automatically generates, creating a separate result is not required, as the program can also include it to the existing ones, making a comparison between the hardware you have used or settings much easier.


If decided to benchmark on your own, whenether the game has a built-in benchmark or not, using Gallium HUD is recommended. Due to the option of displaying the FPS, CPU or even the GPU load graph while running the software and can be customized to your need and it is available when the MESA package (version 13 or newer) has been installed. This option is only available for AMD, Intel HD and Nouveau.


Another much simpler and available for every kind of GPU is the glxosd which requires installing the package with the same name and just like Gallium HUD, you need to type glxosd before launching a game. The settings can be changed in the glxosd_config.lua file located in /etc/glxosd/. It is recommended to change the refresh rate of displaying the information as by default it will show the current info after 3 seconds (In config file it's 3000).


Steam users can use Valve's voglpref which only works for Steam. It will display both informations in the Terminal and at the custom website which can be accessed privately, from there you perform any task you want, although you need to know the SteamID of the game you wish to benchmark.

Audio

ArchLinux Wiki Page

Audio is mostly handled by ALSA, with or without PulseAudio. You may set up to use ALSA only, however it is mostly recommended to use with the latter, as it acts as a main central configuration point for audio itself.


In case of MIDI, installing Timidity is required along with either soundfonts or FreePats package. Depending on the distro, it will either set it up automatically or require manual intervention. Keep in mind that if you are using PulseAudio, all the sounds, beside the MIDI music, will be muted unless you include the -iA -Os argument for the timidity command as either an autostart or as a user-made service.


There are also other things to know, if your sound card has issues with playing the sound, make sure you have ALSA Firmware package installed, as for bluetooth headsets, check if PulseAudio Bluetooth package is installed and your output is set to A2D in the Sound settings.


There is also the OSS (Open Sound System) as a third option for audio, however it's been succeeded by ALSA. Older Linux games used it as a default audio output, if there is no sound when running a native Linux version on ALSA or PulseAudio, consider downloading the ALSA-OSS package.

Controller Support

All the controllers such as DualShock 4,DirectInput gamepads and XInput ones (Such as Xbox 360) are supported, however in case of issues regarding XInput ones, you may wish to install xboxdrv. For calibration purpose, you can install the graphical interface of JSTest package to do it.


The most interesting thing is the Steam Controller, as despite requiring Steam to make it work, it’s entirely possible to use it outside of it with the use of third-party scripts which lets you emulate it as an actual gamepad or a mouse. Even so far to use it on Wine, if it’s set properly.


It is possible to use SDL2's binary for testing the Joystick or Gamepad to set up a non-supported controller to work with SDL2 applications [2].

Wine

Main Page
/r/wine_gaming
Application Database

WINE (Wine Is Not an Emulator) is a compatibility layer which allows you to run Windows programs in Unix/Linux environment, it’s main advantage is a wide support of Windows versions ranging from 3.11 to Windows 7 and supports both 32-bit and 64-bit versions of their systems (32 bit only if you have a 32 bit version of Wine). Besides that some games may even work better than on native Windows such as games which use OpenGL or Vulkan rendering. However a manual intervention may be required if there are issues and checking the WineHQ’s App Database to see if it’s compatible and how to make it work. There are multiple versions of this program each with their own differences:

  • Normal
  • Staging - Provides additional features such as CSMT which may or may not improve the performance of the game and contains community-made patches which improves the compatibility.
  • Gallium Nine - Uses Gallium3D State Tracker, which dramatically improves the performance for games using DirectX 9, as it won’t translate Direct3D calls into OpenGL.

AMD and Intel GPU benefits a lot from Gallium Nine version, due to the fact that Gallium3D is a part of MESA, which both of these cards rely on. NVIDIA is not affected by this, as it uses it’s own driver for performing 3D acceleration in it’s own utility package, unless you are on nouveau.

If WINE itself is hard to use there are also front-ends which may improve your experience with it:

PlayOnLinux

Easy and free to use
Beginner friendly
Includes precompiled scripts for automatic installation
Very slow development
Additional libraries available to install may be outdated

Crossover

Often superior in terms of compatibility than PlayOnLinux
Contains patches to add new features and/or to improve compatibility, similar to Wine Staging
Commercial product only, however buying the program will support the developers of WINE.

Q4Wine

Free and moderately easy to use
Additional libraries are up to date, thanks to the winetricks implementation (Manual update is required)
Implemented AppDB for the compatibility check
Manual compiling/installing other Wine version is required if you want to use other version besides the one used in the system by default.

Stores and Clients

Steam

List of Steam games with Linux native ports
Steam Linux community
GitHub bug reporting
#steamlug - IRC chat room.

Steam is currently the biggest store which offers games that are compatible with Linux however it’s client is 32-bit only and support ranges only from Ubuntu 12.04 and most likely distros based on it. Outside of it Steam can run on other distros as well as it uses it’s own library to work.


It’s even possible to force Steam to use the library used in your system which makes it more responsive and generally work better. Some distros such as the ones based on ArchLinux have a Steam Native package available in their repo which can be easily installed without manual intervention.

Humble Bundle

Despite not having the client. Humble Bundle is the 1st store which has games supporting Linux and it is currently the 2nd biggest store for games with Linux compatibility.

GOG.com

GOG FAQ and troubleshooting thread for Linux

While the Galaxy for Linux is still development. GOG offers Linux games as a MojoSetup installer script. Keep in mind that after downloading the installer, you must label it as a executable file before running it. The store page of the game which supports Linux will display required packages in order to make it work properly in case if there are issues.

Itch.io

An open store which offers indie games whenether is it free or not. It’s client does support Linux and it is still in experimental phase.

Lutris

While it doesn’t have a store, it is an open source client dedicated to installing and managing your games in Wine, native, Steam Wine or even available emulators in your system. The main page offers scripts which will automatically install the game you have for you, while giving an option to install it by yourself. Sometimes a script may even offer a different version of Wine made specifically for one game you wish to install. One prime example of it is Overwatch, as it uses a special Wine version dedicated only for this game.

The Bash Shell and Terminal

The Unix Shell "bash" and Terminal are available on most Linux-distributions by default is a very useful tool for doing system tasks. If you use Linux as your main operating system, it may be unnecessary to use, but it is recommended to learn some of the important commands and terminal hotkeys to make your job easier such as creating a script binary to perform simple tasks or even create aliases to turn complicated commands into a much simple version. Each desktop environment includes their own terminal and can be changed anytime you want, especially the third-party ones such as Terminator,XTerm/UXTerm or Tilix (Recommended).


All user-made settings are always saved in .bashrc file in your Home directory.


The LinuxCommand.org site is the best place to learn the basic and commonly used commands and it is recommended to learn the commands related to file manipulation, text editing, finding specific words and hardware-related stuff.


Folder Structure Reference

Detailed explanation

/ is called the Root folder - This is where all the folders and files are stored. You must not remove any content in it! Here are the contents of it.

/boot Static files of the boot loader
/home User Home directories
/lib Essential shared libraries and kernel modules.
/sbin System Binaries/Executables
/dev Device Files
/etc System Configurations. Will check the Home directory 1st for user-made ones that are generally hidden,

if not found, it will check this one instead.

/media Mount point for removable media such as CD/DVD, Pendrive etc.
/bin Essential user command binaries such as cat, tar etc.
/mnt Mount point for temporarily mounted filesystems.Mainly used for mounting the HDD/SDD

in order to install the system or perform a maintenance from the LiveCD/LiveUSB.

/opt Addon application packages such as Java, OSS etc.
/proc Virtual file system for documenting kernel and process status as text files.

Distros using SELinux for security use /selinux, which is similar to /proc

/tmp Temporary files. Has it's own space size set which can be changed.
/var Variable files such as log files, downloaded packages etc.
/lost+found Contains files that can be recovered which may be broken during the unexpected shutdown.

Only appears when installing Linux.

/root Home directory for Root cannot be accessed by User or the Superuser (Sudo/Su).
/srv Data for services provided by this system

There is also the /usr aka User folder, which stores files which were installed only by the user and has it's own folder structure:

/bin Applications installed
/sbin System Administrations
/local User compiled applications. Default installation path when compiling the program.
/share Folder for storing architecture-independent files such as graphics, themes etc.
/lib Library files installed by the user. Used for compiling.
/include .c files are stored that are included for compiling.
/src Folder for storing source codes. Mainly for Linux kernel.

Partitioning

ArchLinux Wiki Guide
Partition/File System Types

Partitioning your disk storage for using Linux is the most commonly controversial topic as most users have their own partition set for some folders, but the biggest talk here is the Swap disk which have their preffered disk size changed. The swap disk is mainly used when you do not have enough RAM to store and have to rely on the HDD/SDD itself which is slower in terms of speed compared to RAM, but can get the job done. The most common partition for using the Swap disk for normal use goes like this

Amount of RAM Swap Disk Size
Less than 2 GB 2x the amount of RAM
2 GB - 4 GB The same amount of RAM or less
Higher than 4 GB Do not make a swap disk

When it comes to partitioning your folders. You have to keep in mind the maximum size of it and plan your use of it. Most suggested one on the main root folder (/) is 15GB-20GB while the rest of it goes on to /home (Mind the RAM to know if you need to make Swap disk or not). The main advantage of it is that you won't lose any files stored in your Home directory when the system breaks.

You can also make a separate /boot partition as well, but when it comes to the size bear in mind how many kernels you are going to install and use. UEFI users must create a /boot partition with EFI System Partition while marking it as a Bootable disk, keep in mind that you can't use more than 2TB on it otherwise, there may be some issues. If dual-booting with Windows, don't reformat the existing one as Windows stores the .EFI file there, instead just mount it and use the existing one instead. The installers for most distros have an option to automatically set the disk for you if you wish and in some cases dependin on your choice, install the distro while keeping Windows intact.


There is a lot of the file system/partition types used in Linux for managing your files, but the most common one and used by default in many Linux distros is Ext4 introduced in 2008 as it includes new features which reduces the file fragmentation, improves flash memory life through delayed allocation, allowing larger volumes/files and mounting Ext2 or Ext3 disks as Ext4. There are other file systems which can be used with their own strengths and weaknesses.


For more detailed information please refer to the guides linked above.

Other Informations to know

  • There are no best distros, it all depends on your need. You may be switching between it until you find a perfect one, commonly called “distro hopping”.
  • Always ask the forum or refer to the documentation of the distro in case you have a problem. ArchLinux one can be used regardless the distro you are using.
  • In some distros, such as ArchLinux, you may want to check the main page before updating, sometimes a manual intervention is required, but will always provide instructions what to do. Not required for fixed release type distros.
  • You don’t have to keep making an update if a new version is released in a rolling release distro, you can always do it later. It’s actually recommended to do it after some time to avoid any stability issue.
  • Always use virtual machines such as VirtualBox to learn about the distro you want to use. Some distros have a LiveCD or LiveUSB which allows you to check the distro out before installing or even use it for the maintenance.
  • There are loads of partition formats to choose from, but the most commonly used one is ext4.
  • Some keys on your keyboard are labeled differently in Linux world. Meta4/Super key are actually Windows key, while "^X" in text mode is actually Ctrl+X.
  • Almost all of the desktop environments have their own Terminal, you can install a 3rd party ones which generally are more feature rich.
  • If you are confused with using the package manager in Terminal for each distro, this page will help you.
  • Swap partitions are only required if you have less or equal to 4 GB of RAM. The less RAM you have, the bigger size of your swap is required.
  • Having a second workstation is extremely useful in case if the game hangs out or freezes without any option to minimize it back to the desktop. Mostly happens to the Xorg/X11 server display.
  • Files and folders can be hidden by adding "." at the beginning of the name.
  • If using a 64-bit version of the distro. Always make sure to install the 32-bit package counterpart for the compatibility!
  • Most of the time you don't have to compile a program as they are mostly pre-compiled in distro's repo. If required, there are always instructions how to do it.

Improvements

Instructions
Instructions
Instructions


Instructions

Common Fixes

Mouse issues on multi-monitor systems

Some games requires the primary monitor to be set to function correctly.
Instructions


Instructions
Instructions
Instructions

Fullscreen problems/cursor won't disappear

Instructions


References