Difference between revisions of "Linux"
(→Desktop Environments: Refactored this paragraph, added reference to new benchmarks, removed a lot of information that is either out of date, too technical, or useless in some other way) |
(→Desktop Environments: Improved styling, refactored a lot. Added references. Removed DEs that are too esoteric for a common gamer. Removed some irrelevant notes. Removed information about composers as it's not usefull for gamers (anymore?)) |
||
Line 115: | Line 115: | ||
Both cases will be clearly communicated by your software manager, so remember to carefully read what you are agreeing to! | Both cases will be clearly communicated by your software manager, so remember to carefully read what you are agreeing to! | ||
− | {{ii}}Contrary to popular belief, the choice of DE has minimal influence on games performance and when it does, a lot depends on the game itself. <ref>https://www.phoronix.com/scan.php?page=article&item=gaming-desktop-eoy2018</ref> In general | + | {{ii}}Contrary to popular belief, the choice of DE has minimal influence on games performance and when it does, a lot depends on the game itself. <ref>{{Refurl|url=https://www.phoronix.com/scan.php?page=article&item=gaming-desktop-eoy2018|title=KDE Plasma, GNOME Shell, Xfce, LXQt & MATE Linux Gaming Benchmarks, Including X.Org/Wayland|date=January 22, 2019}}</ref> In general, aim at the DE you are comfortable with. |
{{ii}}It is often recommended to run the game in fullscreen so the desktop compositor won’t affect the game’s performance. | {{ii}}It is often recommended to run the game in fullscreen so the desktop compositor won’t affect the game’s performance. | ||
Line 123: | Line 123: | ||
{| class="wikitable sortable" style="nowrap;" | {| class="wikitable sortable" style="nowrap;" | ||
|- | |- | ||
− | ! Name !! Min. RAM !! Recomm. RAM !! | + | ! Name !! Min. RAM !! Recomm. RAM !! Customizable !! File Manager !! GUI Text Editor !! Terminal Emulator !! Wayland support !! Notes |
|- | |- | ||
− | | [https://www.gnome.org/ GNOME] || 512 MB || 1 GB | + | | [https://www.gnome.org/ GNOME] || 512 MB || 1 GB || Yes, limited || Nautilus || GEdit || GNOME Terminal || Yes (GBM and EGLStreams) || style="text-align: left;"| |
− | + | Installing GNOME Tweak Tools is recommended to make any changes.<br> | |
− | + | ||
|- | |- | ||
− | | [https://www.kde.org/plasma-desktop KDE Plasma] || 512 MB || 1 GB | + | | [https://www.kde.org/plasma-desktop KDE Plasma] || 512 MB || 1 GB || Yes || Dolphin or Konqueror || KWrite or Kate || Konsole || Yes (GBM) || style="text-align: left;"| |
− | + | Plasma Wayland is required to run in Wayland session.<br> | |
− | + | ||
− | + | Star Menu types can be changed in "Switch To..." menu ranging from classic Windows one, default and full screen.<br> | |
− | + | ||
+ | Konqueror functions as both file manager and a web browser.<br> | ||
|- | |- | ||
− | | [https:// | + | | [https://budgie-desktop.org/home/ Budgie] || 256 MB || 512 MB || Yes || Nautilus || GEdit || GNOME Terminal || No || style="text-align: left;"| |
− | + | Depends on GNOME applications. | |
− | |||
− | |||
|- | |- | ||
− | | [ | + | | [http://developer.linuxmint.com/ Cinnamon] || 256 MB || 512 MB || Yes || Nemo || GEdit || GNOME Terminal || No (planned) || style="text-align: left;"| |
− | + | Provides both Hardware and Software mode sessions, the only difference is that the Software mode uses CPU for composing.<br> | |
− | + | ||
− | |||
|- | |- | ||
− | | [ | + | | [https://xfce.org/ XFCE] || 128 MB || 256 MB || Yes || Thunar || Mousepad || XFCE Terminal || No || style="text-align: left;"| |
− | + | Composer's VSync is broken, but the upcoming 4.14 version of XFWM4 will use Present extension to do the job without affecting the performance. | |
|- | |- | ||
− | | [https:// | + | | [https://mate-desktop.org MATE] || 128 MB || 256 MB || Yes || Caja || Pluma || MATE Terminal || No (planned) || style="text-align: left;"| |
− | + | MATE Tweak is recommended for further customization and changing the composer.<br> | |
− | + | ||
+ | Audio files can be previewed by hovering the mouse into one of them and wait a few seconds to play it in Caja.<br> | ||
+ | |||
+ | Due to the fact that MATE is still using GTK2, it will have a Wayland support once all the dependencies and the desktop itself switches to GTK3.<ref>{{Refurl|url=http://wiki.mate-desktop.org/wayland|title=Wayland on MATE desktop|date=January 22, 2019}}</ref><br> | ||
+ | |||
|- | |- | ||
− | + | | [http://lxqt.org/ LXQT] and [http://lxde.org/ LXDE] || 64 MB || 128 MB || Yes, limited || PCManFM (PCManFM-Qt for LXQt) || Any || QTerminal || No || style="text-align: left;"| | |
− | + | There are no programs for editing the Start menu. Using the external tool is required such as [http://lxmed.sourceforge.net/ LXMED], [http://ftp.gnome.org/pub/GNOME/sources/alacarte/ Alacarte], [https://smdavis.us/projects/menulibre/ MenuLibre](Recommended) or using PCManFM itself. Otherwise, manually editing the *.desktop file is required.<br> | |
− | + | ||
− | + | LXAppearance is required to change the theme for GTK+ 2/3 programs, the software included by default for changing the theme affects Qt programs only.<br> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | [http://lxqt.org/ LXQT] and [http://lxde.org/ LXDE] || 64 MB || 128 MB | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Revision as of 16:36, 22 January 2019
Developers | |
---|---|
Linus Torvalds | |
Release dates | |
Linux | September 17, 1991 |
Key points
- Most Linux distributions are significantly lighter on resources than Windows.
- Managing OS updates is much easier, won't cause downtimes, won't run updates without user explicit consent.
- Linux' default file system, EXT4 is superior to NTFS, giving shorter loading screens, faster database searches.
- Some Linux-native games have ports of really poor quality, this gets better with newer games.
- GPU drivers performance is inferior, performing about 5~20% worse than on Windows.
- Many Windows-only Steam games can be run through Steam Play. Other Windows-only games can be run using Wine, but depending on the game it may be significantly more challenging.
Resources
- ProtonDB - crowdsourced database of Proton (Steam Play) games performance
- Phoronix - Website dedicated to hardware and benchmarking in Linux
- 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
- Linux Journey - A beginner friendly page about learning Linux in general
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
- Back2Gaming - Gaming related news/guide page. More oriented into Linux
Distributions
A text color will represent how easy it is to set up and use each Linux distro. Beginners should stick to the easy ones:
- easy – great first choice if you don't really know what you are doing
- medium – you may need some command line to get everything done and working
- hard – when you feel adventurous
There are two types of release models which distros are using, both have their pros and cons.
Fixed Release
- Offers stable packages
- Most distros which use it are beginner friendly
- Very little maintenance
- Package versions are usually tied to the distro version, so to get the recent packages, you need to update your OS
- Stable packages don't contain the newest features. This is especially important in case of GPU drivers
- 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 and is easy to carry out but might take up to few hours (but usually below an hour)
Distribution | Based On | Desktop(s) [fr note 1] | Release cycle | Supported by[fr note 2] | Description |
---|---|---|---|---|---|
Ubuntu | Debian | GNOME | 6 months, 2 years for LTS | Steam, GoG, many commercial developers | The most popular distribution. Ubuntu LTS (Long Term Support) is officially supported by Steam. If you don't know what to choose, pick this one. Ubuntu non-LTS is updated more often and contains newer packages and functions and is also a great option. |
Ubuntu flavours | Ubuntu | Plasma, LXQt, Budgie, MATE, Xfce | 6 months | same as Ubuntu[fr note 3] | Flavours offer different Desktop Environments, but when it comes to compatibility, they are vitually the same as Ubuntu. Choose if you prefer distinct workflow or art style. |
Linux Mint | Debian, Ubuntu | Cinnamon, MATE, XFCE, Plasma | Up to 2 years | same as Ubuntu[fr note 3] | The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. |
Fedora | Independent | GNOME, Plasma, LXQt, MATE, XFCE, Cinnamon | 1 year | some commercial developers | 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.
|
Debian | Independent | Almost all | Varies | some commercial developers | A well established distribution with a very large database of packages. By default it uses the Stable version which offers stable, but outdated applications and libraries. Can be changed to Testing for newer packages, or Unstable for bleeding edge packages,
|
openSUSE | Independent | KDE Plasma 5, GNOME, Cinnamon, LXDE, XFCE | Up to a year | some commercial developers | Project created by the community and sponsored by SUSE Linux. It provides many advanced exclusive tools. The community is willing to help any newcomers. |
KDE Neon | Debian, Ubuntu | KDE Plasma | Up to a year | same as Ubuntu[fr note 3] | 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) | GNOME | Varies | Steam | 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. |
Zorin OS | Debian, Ubuntu | GNOME | Up to a year | same as Ubuntu[fr note 3] | An extremely beginner friendly distro for users who wish to use Linux system the same they used Windows. It provides exclusive features which allows you to set up the appearance that resembles Windows 7, Windows 10 or Mac OS X.
|
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.
- 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.
- No rolling release ditribution has any official support from any store
- 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 | Desktop(s)[rr note 1] | Description |
---|---|---|---|
ArchLinux | Independent | Text Mode, but later on you can install any desktop environment | Distro for users who understand what they are doing. Designed to be customizable on every level. The AUR (Arch User Repository) allows the user to install community-made packages without requiring to manually add additional repositories.
|
Manjaro | ArchLinux | Plasma, XFCE[rr note 2] | Provides its own official repository 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 | GNOME, Cinnamon, MATE, KDE, OpenBox, XFCE, text mode | Compared to Manjaro, Antergos combines both its own repo along with official ArchLinux ones. Be aware that the setup installer is still in beta and may have some issues. |
Solus | Independent | Budgie, GNOME, MATE | Despite following the rolling release model it provides stable packages and features great hardware compatibility with any GPU. Includes a special tool called Linux Steam Integration (LSI) which allows you to easily customize Steam ranging from using the libraries from your system (Native mode) or force 32-bit mode. |
OpenSUSE Tumbleweed | Independent | KDE Plasma 5 | A separate rolling release version of OpenSUSE. Despite having the same exclusive features, it provides packages that are bleeding edge. |
Desktop Environments
Desktop environment (DE) you are using has a direct impact on your user experience. Each DE has its own set of tools, consisting of file manager, text editor, media player, web browser, terminal emulator, etc.
It is possible to change those default tools, but there are some caveats:
- Tools such as default file managers or terminal emulators are often strictly tied to your DE, because other software depends on them and removing them can lead to unintentional removal of the whole DE!!
- Installing their counterparts from other DEs can in turn cause installation of most of their original DE, through dependencies.
Both cases will be clearly communicated by your software manager, so remember to carefully read what you are agreeing to!
- Contrary to popular belief, the choice of DE has minimal influence on games performance and when it does, a lot depends on the game itself. [1] In general, aim at the DE you are comfortable with.
- It is often recommended to run the game in fullscreen so the desktop compositor won’t affect the game’s performance.
Here is a list of well known desktop environments with their default applications included, be aware that the RAM usage may vary depending on the content of the Linux distribution.
Name | Min. RAM | Recomm. RAM | Customizable | File Manager | GUI Text Editor | Terminal Emulator | Wayland support | Notes |
---|---|---|---|---|---|---|---|---|
GNOME | 512 MB | 1 GB | Yes, limited | Nautilus | GEdit | GNOME Terminal | Yes (GBM and EGLStreams) |
Installing GNOME Tweak Tools is recommended to make any changes. |
KDE Plasma | 512 MB | 1 GB | Yes | Dolphin or Konqueror | KWrite or Kate | Konsole | Yes (GBM) |
Plasma Wayland is required to run in Wayland session. Star Menu types can be changed in "Switch To..." menu ranging from classic Windows one, default and full screen. Konqueror functions as both file manager and a web browser. |
Budgie | 256 MB | 512 MB | Yes | Nautilus | GEdit | GNOME Terminal | No |
Depends on GNOME applications. |
Cinnamon | 256 MB | 512 MB | Yes | Nemo | GEdit | GNOME Terminal | No (planned) |
Provides both Hardware and Software mode sessions, the only difference is that the Software mode uses CPU for composing. |
XFCE | 128 MB | 256 MB | Yes | Thunar | Mousepad | XFCE Terminal | No |
Composer's VSync is broken, but the upcoming 4.14 version of XFWM4 will use Present extension to do the job without affecting the performance. |
MATE | 128 MB | 256 MB | Yes | Caja | Pluma | MATE Terminal | No (planned) |
MATE Tweak is recommended for further customization and changing the composer. Audio files can be previewed by hovering the mouse into one of them and wait a few seconds to play it in Caja. Due to the fact that MATE is still using GTK2, it will have a Wayland support once all the dependencies and the desktop itself switches to GTK3.[2] |
LXQT and LXDE | 64 MB | 128 MB | Yes, limited | PCManFM (PCManFM-Qt for LXQt) | Any | QTerminal | No |
There are no programs for editing the Start menu. Using the external tool is required such as LXMED, Alacarte, MenuLibre(Recommended) or using PCManFM itself. Otherwise, manually editing the *.desktop file is required. LXAppearance is required to change the theme for GTK+ 2/3 programs, the software included by default for changing the theme affects Qt programs only. |
Kernel
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.
Microcode
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.
Hardware
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
Here is a following table describing the drivers and informations which Linux supports for each GPU brand.
Brand | Driver Type | Driver | Library | Supported GPU | Wayland Support |
---|---|---|---|---|---|
AMD/ATI | Open Source | AMDGPU | MESA (GLX and DRI) | 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 (GLX and DRI) | Any NVIDIA GPU | Yes |
Proprietary | Nvidia | NVIDIA GLX | From Kepler based GPUs to recent | Yes2 | |
Nvidia 390 | Nvidia 390 GLX | From Fermi based GPUs to recent | |||
Nvidia 340 | Nvidia 340 GLX | For Tesla based GPUs | No | ||
Nvidia 304 | Nvidia 304 GLX | From GeForce 6 series to Tesla based GPUs | |||
Nvidia 173 | Nvidia 173 GLX | GeForce 5 FX series (NV30 to NV360) | |||
Nvidia 96 | Nvidia 96 GLX | From GeForce 2/3/4 MX/Ti | |||
Intel | Open Source | Xorg Intel3 | Mesa (GLX and DRI) | 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. However 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 (Nouveau being and exception as it uses GBM)
- If forced to use Catalyst, Nvidia 173 or Nvidia 96 drivers, you must downgrade XOrg to the version it got the last support.
- Enable early KMS once you have installed the driver.
- Currently the open source driver for AMDGPU don't have some of the features from AMDGPU Pro (Such as HDMI audio), however the upcoming 4.15 version of Linux kernel will include DC/DAL features present in the former driver. It will be enabled by default for Vega cards and newer. But for the older ones you need to add
amdgpu.dc=1
into the kernel parameter after the release.[3] - Before using the open source driver you must install LLVM and Linux Firmware (In case of Nouveau, it's Firmware as well) before installing the driver itself!
- As always when using the 64 bit system, install the 32 bit version of the drivers if possible.
List of 3rd-party repositories
Ubuntu/Linux Mint/Zorin OS/Pop! OS/Linux Lite/KDE Neon
Use sudo add-apt-repository <PPA repository>
to add one. Make sure to run sudo apt update
in order to update the repository list after adding one.
Repository | Description |
---|---|
ppa:paulo-miguel-dias/pkppa | Padoka Stable Mesa. For AMD/Intel/Nouveau GPU drivers, also contains Wayland. |
ppa:paulo-miguel-dias/mesa | Padoka Unstable Mesa. Same as the previous, however it is the developer version. Mind the issues you may encounter. |
ppa:graphics-drivers/ppa | "Graphics Drivers" Teams' PPA. Contains the recent proprietary NVIDIA drivers and the Vulkan drivers for that GPU. |
ppa:ubuntu-x-swat/updates | Ubuntu X Team's Stable Mesa. For AMD/Intel/Nouveau GPU drivers, also contains Wayland. |
OpenSUSE
As of 10 August 2017, OpenSUSE Tumbleweed has an official NVIDIA RPM [1], you can manually add the repository with this command
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed zypper inr (For installing)
Fedora
Because Fedora doesn‘t ship any proprietary NVIDIA drivers, you have to use the ones provided be either RPM Fusion or Negativo17. For RPMFusion's use:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
For Negativo17's:
dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo
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
Depending on the distro you may have to install Mesa Vulkan Driver. As for the NVIDIA's proprietary drivers, you also need to install the Vulkan package or in some distros such as ArchLinux, the proprietary driver package is all you need.
NVIDIA Optimus
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
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 its successor, Wayland, it is still maintained by Xorg Foundation and Free-Desktop.org.
Wayland
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. [2]
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.
Audio
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 and some games are set to use PA by default. When using a sound card you must install ALSA Firmware package from your repository, while in case of using Bluetooth headphones in PulseAudio, install it's PulseAudio Bluetooth library.
When it comes to API in Linux games, there are multiple of em such as OpenAL (Otherwise known as OpenAL Soft), SDL_mixer, SteamAudio, FMOD and more. But the most popular ones are the first two APIs.
You may also encounter the OSS, also known as Open Sound System, released in 1995, it was used as a default sound manager which was added into the kernel, until it was replaced by ALSA in 2.5 version release of Linux kernel. Linux games released till 2001 were using it to play any sound. Even to this day, the OSS is still being updated but it is not much used anymore. If you ever encounter a software where it supports only this audio interface and complaing about the lack of /dev/dsp
, you have to either install the OSS itself and set the audio up (the hard way) or rely on emulation. In general, installing the OSSP package and enabling/starting it's daemon process (osspd) is enough to do it as it supports both PulseAudio and ALSA, but it is not updated frequently.
Another way is to use the OSS emulator for the specific audio interface:
- PulseAudio can use the
padsp
command which can be found with the PulseAudio utility package or in some distros, already included with the main software. - ALSA users should install the alsa-oss package and then use the
aoss
, if using a 64 bit system you need to use the-32
argument if you run a 32-bit application.
Do not run aoss
if you are using PulseAudio, all you will get is a static noise mixed with the white ones at high volume!
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.
You can also use Fluidsynth, however bear in mind that it uses more CPU, doesn't work with PulseAudio but ALSA only and it requires a soundfont to play.
Input Devices
- Libinput ArchLinux article
- Touchpad ArchLinux Article
- Keyboard Configuration in Xorg ArchLinux article
- Touchscreen ArchLinux article
The keyboard and mouse are supported on the go, however if using XOrg you must have it's input-libinput (input-evdev being the alternative) package installed as well in order to work, however by default it will support only 3 buttons for the mouse, in order to use all of them, you have to configure it manually. When using a laptop you may also need to install XOrg's Synaptic package to have access to all features of your touchpad, against the touchscreen it will either work out of the box (besides some calibration) or being very tedious, especially when it is not supported by Linux kernel.
Wayland users only requires the libinput package itself, which also supports XOrg.
If using a mouse dedicated for gaming, there is a universal configurator called Piper. Due to the fact that the software is still new, there is a limited support for some mouse devices, it does support some of the Logitech mouses. However, there are some other ones made specifically for a product from one company:
- RazerGenie - Keyboard and Mouse setup for Razer products
- RazerCommander - Ditto
- RazerCFG - A much more simplified configurator for Razer products
- Roccat Configurator - An official configurator for Roccat products
- Polychromatic - Yet another configurator for Razer products
Disk Partitioning
Partitioning your disk storage for using Linux is the most commonly controversial topic as most users have their own partition set for some folders or just use the whole Root folder, the storage device is commonly labeled as /dev/sd*#
where * represents the letter from a to z, while the # is represents the partition of it. The biggest talk when it comes to making a partition is the Swap disk which have their preferred 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 down to 0.5x. |
Higher than 4 GB | 0.5 times of RAM or less. |
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.
Here are the following examples of how the partitioning looks like:
Single 250 GB HDD /dev/sda
on a 4 GB of RAM BIOS system
Partition | Folder | Disk Format | Size | Bootable |
---|---|---|---|---|
/dev/sda1 | / | Ext4 | 25 GB | Yes (GPT/MBR) |
/dev/sda2 | None | Swap | 2 GB | No |
/dev/sda3 | /home | Ext4 | 223 GB | No |
128 SSD /dev/sda
and 500 GB HDD /dev/sdb
on a 8 GB of RAM UEFI system
Partition | Folder | Disk Format | Size | Bootable |
---|---|---|---|---|
/dev/sda1 | /boot | Ext4 | 2 GB | Yes (EFI) |
/dev/sda2 | / | BTRFS | 126 GB | No |
/dev/sdb1 | /home | Ext4 | 500 GB | No |
It all depends on how much space and which available storage device you want to use on folders and which disk format you want to use. Bear in mind that the order of the partition affects the performance for the disk. So having the /boot folder as a 1st partition will more likely let you boot faster than putting it last.
Note: If you decide to dual boot with Windows 8 or higher and using UEFI. You are not required to make an EFI partition since it already exists! Some Linux distributions such as Linux Mint offers you an option to install the system alongside with Windows, in some other distros such as ArchLinux, you need to mount the disk, install the bootloader and save the entry to the FStab. This guide will explain in further detail about dual booting with Windows.
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 [3].
If dealing with a game that has a very limited or no controller support at all, the AntiMicro has you covered. It allows you to bind keyboard and mouse inputs into the controller, however it works only in Xorg environment. Fedora has the stable build already available in their repository, Debian users should use the LibreGeek's repository, especially Ubuntu or Ubuntu-based distributions which can be added with this PPA. Otherwise, you need to compile the program on your own, which luckily includes the instructions and a list of dependencies required for compiling.
Benchmarking
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.
PCI Passthrough
Since Linux 3.9 and recent QEmu version, it is possible to passthrough a graphics card, motherboard or even other hardwares into the virtual machine. The main advantage of it is having a native GPU working on Windows 7/8/10 in virtual machine such as the KVM or QEmu (VirtualBox does not support it!), which allows you to play Windows games on it without even using the dual-boot or relying on Wine to do so! However, there are some disadvantages:
- Your CPU must support hardware virtualization and IOMMU
- Your motherboard must also support IOMMU
- Your GPU must support UEFI
- You need a 2nd hardware for PCI Passthrough
- It takes some time to set up and the whole process may be a little tough for beginners
The following links and the subreddit can be used to learn about the process. Keep in mind that it is not possible to perform a PCI Passthrough from Windows. This can be done only in Linux itself!
Wine
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.
So far only AMD and NVIDIA graphics cards which rely on open source drivers have a support for Gallium 3D Nine which greatly benefits the compatibility and performance with DirectX 9-based games.
If WINE itself is hard to use there are also front-ends which may improve your experience with it:
Name | Release | Notes |
---|---|---|
PlayOnLinux | Free |
|
Crossover | Commercial |
|
Q4Wine | Free |
|
Lutris | Free |
|
Stores and Clients
Name | Client available | Registers Linux sales? | Notes |
---|---|---|---|
Steam | Yes | Yes |
|
Humble Bundle | No | Yes |
|
GOG.com | In Development | Yes |
|
Itch.io | Yes (Optional) | Yes | None |
Feral Store | No | Yes |
|
Other
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
/
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.
Folder | Description |
---|---|
/boot | Static files of the boot loader |
/home | User Home directories. The current Home directory user is simplified into ~/ instead of /home/<username>/ . |
/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 its own folder structure:
Folder | Description |
---|---|
/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. |
Compiling from source code
- Every Ubuntu-based Linux distributions label libraries used for compiling a program with
-dev
at the end in their repositories. Some other distros already include them in one package along with the dependency.
The rule of thumb when compiling a program goes in 2 steps
make sudo make install
This happens only when you are in a directory which contains the Makefile and it is done via Terminal when you have required libraries and GNU Compiler Collection (GCC) installed. The make install
is varied, as by default the compiled program will move into /usr/local/
directory, hence why the sudo
command is present. It is possible to change the location where you want to install, but for this simple process you might as well move the compiled binary file which is often located at the same directory as Makefile, sometimes in case of ioquake3 source port it will create a separate folder. However, there are other source codes which were made to be compiled in different ways:
Autogen/Automake and/or Configure
If either Autogen.sh or Configure script file is present, you must run at least one of them. Autogen's job is to simplify the process of programs that contains large amount of repetitious text and upon running it will create the Configure script which it's job is to scan if you have required libraries, check what kind of system you are using and prepare the files for it while creating Makefile, using the -h
or -help
argument will reveal available options, most source codes have their own specific option which can be set. Using the --prefix=<location>
argument lets you change the directory where you want to install with make install
. In this case it would go on like this:
./autogen.sh ./configure make sudo make install
If autogen.sh is not present, just follow the configuration procedure.
CMake
CMake is a cross compiling program which allows a much more simple configuration process and reading the compiling progress, while allowing to prepare the required scripts in a separate directory as long as you appoint where the CMakeList.txt is located. There are two commands for preparing and configuring files for compiling if CMake is used:
cmake <directory location of CMakeList.txt>
ccmake <directory location of CMakeList.txt>
The only difference is that the ccmake command uses the Text User Interface for easier configuration. The most common way of compiling in this compiler goes like this in a main folder of the source code:
mkdir build cd build cmake .. make
Once the compiling process is done, it will be putted in a separate folder for easier navigation. You do not have to use the make install
to install it to your /usr/local
directory.
QMake
This happens only on applications which uses Qt as a main graphical interface, it only requires using qmake
on the main folder to configure and check what Qt version you are using and later on set up the Makefile for compiling. After that you can just use make
command to compile a program. So basically it goes like this:
qmake make sudo make install # Optional
List of other make
options
Here is a list of few other make commands:
Command | description |
---|---|
make install |
Move the compiled files into the directory specified in prefix |
make uninstall |
Remove the compiled files from the directory specified in prefix |
make clean |
Remove the files that are normally created by building the program. |
make distclean |
Remove both files created by building the program and from configure. |
make check |
Perform a compiling test |
make dist |
Create a distribution .tar file.
|
For more commands and detailed information, check out this page.
Getting the source code
There are two types of source codes which you can get. The stable ones are generally packed in a .tar.gz
archive file along with the software that is labeled stable as a separate download in case if your distro either does not support the package file or it is in distro's repository, but it is outdated and wish to upgrade.
Then there is the developer ones which can be found in the main master git or SVN page. Those can be downloaded either through the web browser or through the Git/Subversion program. These programs are constantly updated and may be unstable. The best way is to use the Git/Subversion program for this situation as they contain commands which can update the scripts if any changes are made.
The most popular places for downloading both stable and unstable source codes are generally GitHub and SourceForge. The former one will mostly show the master directory which is where the developer ones are shown with a separate download link while the stable one is downloadable through the release page, the SourceForge will always check what kind of Linux distro or the base of it you are using and link the download to the supported one, if not, it will link to the stable source code. The developer version is always stored in either SVN, CVS or Git page separately.
Newcomers to the Linux should stick to the stable ones, if required, it is best to learn some options in using the git
or subversion
command when required. Other than that, if there are instructions how to compile and what dependencies are required, always stick to it.
Notes
- 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. Make sure to install any utilities related to VirtualBox at the Linux distro you are emulating such as graphics drivers.
- 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.
- 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!
- Configuration files for games and applications are stored in your Home directory which are mostly hidden. Either at the
~/.config
,~/.local/share
or the~/.<application/developer name>
directory. - If someone tells you to use this command
sudo rm -Rf /
, don't do it unless you want to have a bad time.
Improvements
Hardware
Enable Threading Optimizations
- Improves the performance of the games when enabled, for some even dramatically.
NVIDIA Drivers |
---|
__GL_THREADED_OPTIMIZATIONS=1 %command% Notes
|
Mesa Driver (AMD, Nouveau, Intel etc.) |
---|
GPUs which use Mesa as a driver library have the OpenGL Multithreading disabled by default, using the Notes
|
Disable Nvidia Logo when running X server
Edit the XOrg configuration file |
---|
Add Section "Device" Identifier "Nvidia Card" Driver "nvidia" VendorName "NVIDIA Corporation" Option "NoLogo" "true" EndSection |
Enable BFQ Scheduler
Create an udev rule |
---|
Linux CK or Linux Zen version 4.11 and less
Any kernel based on official Linux 4.12 version or higher
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="bfq"
Notes
|
Disable Mouse Acceleration in XOrg
Create a new Xorg rule[4] |
---|
Create a config file in /etc/X11/xorg.conf.d/ as Section "InputClass" Identifier "My Mouse" Driver "libinput" MatchIsPointer "yes" Option "AccelProfile" "flat" EndSection Then restart the system or Xorg (In most distros it's Ctrl+Alt+Backspace ←) |
Improve Shutdown Time In Systemd
Edit the system.conf |
---|
In some desktop environments such as LXQt, the system shutdown or restart process may take longer due to Systemd having the time to stop the session set to 1 minute 30 seconds by default.
OR Install watchdog package and enable/run the watchdog service. |
Resolution Scaling with XRandr
It is entirely possible to scale the resolution through multiplications (--scale
) or by resolution (--scale-from
) with xrandr
command. Provided that you input the monitor name and your current resolution, which can be learned by using xrandr -q
command (It will also list available resolutions).
Here are some examples:
xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5
- this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor.xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900
- This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor.
Software
List the missing dependencies |
---|
As GOG, Steam and other stores mostly support Ubuntu due to it's popularity in both making another distribution (Such as Linux Mint) or wide use, there can be a limited support for the other distros such as ArchLinux, Fedora etc. Mostly in terms of requiring dependencies to run the game or a software. The ldd <binary file> After running the command, it'll list all the *.so files the software uses, if there is a "Not found" somewhere, this is the moment to learn which package does it contain the file. The missing dependency checkup can be even easier with the inclusion of the ldd <binary_file> | grep "Not found" This will only look for the lines related to "Not found" only, if nothing shows up then you have everything you need. |
Enable 32-bit libraries in 64-bit system |
---|
Depending on distro you may have to enable the 32-bit libraries for compatibility's sake on a 64-bit system. Ubuntu/Debian or distributions based on them have to use the ArchLinux and distros based on it have to edit the pacman.conf file located in /etc folder and uncomment the [multilib] section along with the Include under it and run Fedora, OpenSUSE, Solus already have it enabled. It requires the |
Optimize the program to your CPU when compiling |
---|
In Makefile remove any -march and -mtune arguments from the Notes
|
Use more cores to improve compilation time |
---|
Add Notes
|
Running Games on a Separate x Server |
---|
Running games on a different X server from ones main desktop can dramatically improve performance and generally reduces the amount of problems within a game especially when using an advanced compositing window manager like Compiz. To launch a separate X server with a game create a new .sh file and paste in the following code: #! /bin/bash DISPLAY=:1.0 xinit $cd '/YOURGAMEPATH' $* -- :1 Save and allow the file to be executable. Running this script in the terminal will make it much easier end the server when you are finished with it.
Alternatively you can set the path to a terminal emulator like Xterm |
Make a native executable for your game |
---|
1. Create an empty text file and open it with any text editor. 2. Add this following script: #!/bin/sh LD_LIBRARY_PATH=/path/to/library /path/to/executable Replace
3. Once done, save it and make it executable using either Notes
|
Common Fixes
Hardware
The NVIDIA DKMS driver won't install after updating it |
---|
Text Mode
LiveCD/LiveUSB
|
Set up a primary monitor in multi-monitor setup[citation needed] |
---|
Notes
|
No sound[citation needed] |
---|
Open the Terminal and type as root
|
Software
All Feral Interactive game ports do not launch[5]
- Sometimes caused by the compatibility issue with recent Glibc update. Use this fix until the revision which fixes this issue is available.
Set a library path |
---|
Add Replace |
Screen Tearing
General
Install a third party compositor |
---|
There are multiple compositors laying around the repository. The most well known ones are Compiz, Compton, XCompMgr and Cairo Compmgr. Compton, XCompMgr and Cairo Compmgr have the ability to co-operate with the window manager of the desktop environment and in some cases even show up as a new option for selecting a window manager. For example in MATE while using MATE Tweak it will show up as Marco (GPU Composition). Other than that you may have to manually start them up or just add an Autostart option for one of em. Compiz on the other hand replaces the window manager entirely by default, either with Metacity or Emerald (Recommended), there is an option to use other ones. The biggest advantage of it however is the fact that it has a wide range of customization options ranging from adding animations when minimizing/maximizing/moving windows to 3D window selection when switching between windows using the Alt+Tab ↹. It is recommended to install Fusion Icon along with it. |
NVIDIA
Enable Force Full Composition Pipeline |
---|
Open up the NVIDIA Settings and in X Server Display Configuration press Advanced button and check in "Force Full Composition Pipeline" and accept the settings. To make it permament, press Save to X Configuration File, save it anywhere and move it to /etc/X11/xorg.conf.d/ while renaming it to 20-nvidia.conf as root. This can be done with If using KWin as a desktop composer, add
|
AMD/ATI/Intel
Depending on the driver, it'll be set to prevent tearing by default, if not use these following options:
Enable TearFree (AMDGPU/AMDGPU Pro) |
---|
Add Section "Device" Identifier "<Name of your AMD Graphics Card>" Driver "amdgpu" Option "TearFree" "true" EndSection Note: By default the TearFree is set to auto, which according to the manual it is enabled for outputs with rotation or other RandR transforms, and for RandR 1.4 slave outputs, otherwise it is disabled. |
Enable VBlank Mode (ATI/Intel) |
---|
Edit the .drirc text file located in your Home directory and add <driconf> <device screen="0" driver="dri2"> <application name="Default"> <option name="vblank_mode" value="1" /> </application> </device> <!-- Other devices ... --> </driconf> If the tearing is still present after that, edit or create 20-radeon.conf file in /etc/X11/xorg.conf.d/ directory and enable EXAVSync and SwapBuffersWait. Example: Section "Device" Identifier "<Name of your ATI Radeon Graphics Card>" Driver "radeon" Option "EXAVSync" "on" Option "SwapbuffersWait" "true" EndSection Intel HD users may experience tearing in videos, to prevent it you have to enable TearFree option, edit or create 20-intel.conf file in Xorg configuration directory and add: Section "Device" Identifier "Intel Graphics" Driver "intel" Option "AccelMethod" "sna" Option "TearFree" "true" EndSection |
Enable TearFree (Catalyst) |
---|
Type in Terminal OR Type in Terminal |
References
- ↑ KDE Plasma, GNOME Shell, Xfce, LXQt & MATE Linux Gaming Benchmarks, Including X.Org/Wayland - last accessed on January 22, 2019
- ↑ Wayland on MATE desktop - last accessed on January 22, 2019
- ↑ https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-DC-Cleaning-Pre-4.15>
- ↑ Reference
- ↑ A bunch of Feral Interactive Linux ports may be broken on Arch and others, here's a possible workaround - GamingOnLinux - last accessed on 2017-09-11