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.

Difference between revisions of "User:LinixTree/Sandbox"

From PCGamingWiki, the wiki about fixing PC games
Line 1: Line 1:
==Distributions==
+
===Graphics===
A text color will represent how easy it is to set up and use each Linux distro. Beginners '''should''' stick to the easy ones:
+
{{mm}} [https://wiki.archlinux.org/index.php/ATI ArchLinux Wiki's ATI] Article
 +
{{mm}} [https://wiki.archlinux.org/index.php/AMDGPU ArchLinux Wiki's AMDGPU/AMDGPU Pro Article]
 +
{{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchLinux Wiki's NVIDIA] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article
 +
{{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchLinux Wiki's Intel Graphics Article]
  
* <span style="background: #84DE02>easy</span> – great first choice if you don't really know what you are doing
+
Here is a following table describing the drivers and informations which Linux supports for each GPU brand.
* <span style="background: yellow>medium</span> – you may need some command line to get everything done and working
 
* <span style="background: orange>hard</span> – when you feel adventurous
 
  
There are two types of release models which distros are using, both have their pros and cons.
+
{| class="wikitable"
 
 
===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.
 
{{ii}} 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)
 
 
 
{| class="wikitable sortable"
 
|-
 
! Distribution !! Based On !! Desktop(s) <ref group="fr note">Default options are marked in bold</ref> !! Release cycle !! Supported by<ref group="fr note">look at Official Support TODO: add it</ref> !! Description
 
 
|-
 
|-
| style="background: #84DE02;" |'''[https://www.ubuntu.com/download/desktop Ubuntu ]''' || Debian || GNOME || 6 months, 2 years for LTS || Steam, GoG, many commercial developers ||style="text-align: left;"| 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.
+
! Brand !! License !! Driver !! Library !! Supported GPU !! Wayland Support
 
|-
 
|-
| style="background: #84DE02;" | '''[https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Ubuntu || Plasma, LXQt, Budgie, MATE, Xfce || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are so similar, that everything that works for Ubuntu will work here.</ref> || style="text-align: left;"| 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.
+
| style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || AMDGPU || rowspan="2"| MESA (GLX and DRI) || GCN 1 to GCN 4 and newer architecture<sup>1</sup> || rowspan="3" | Yes
 
|-
 
|-
| style="background: #84DE02;" |'''[https://linuxmint.com/ Linux Mint]''' || Debian, Ubuntu || '''Cinnamon''', MATE, XFCE, Plasma || Up to 2 years || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian.
+
| ATI || GCN 2 and older architecture
 
|-
 
|-
| style="background: yellow" |'''[https://getfedora.org/ Fedora]''' || Independent || '''GNOME''', Plasma, LXQt, MATE, XFCE, Cinnamon || 1 year || some commercial developers || style="text-align: left;"| 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. <br>
+
|rowspan="2"| Proprietary || AMDGPU || AMDGPU Pro || GCN 3 to newer architecture
{{ii}} Fedora does not have any proprietary driver for Nvidia GPU in official repository, you must use one of the community repositories.''' See [[#List of 3rd-party repositories|List of 3rd-party repositories]].
 
 
|-
 
|-
| style="background: yellow" |'''[https://www.debian.org/ Debian]''' || Independent || Almost all || Varies || some commercial developers || style="text-align: left;"| 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,
+
| style="background: #84DE02;" rowspan="7"| '''NVIDIA''' || Open Source || Xorg Nouveau || Mesa (GLX and DRI) || Any NVIDIA GPU || Yes
{{ii}}If you decide to use Debian as your Linux gaming system, consider using the Testing or Unstable branch.
 
{{ii}}default Debian repository contains only free software. In order to get nonfree packages (like Nvidia drivers) you need to add official nonfree repository.
 
 
|-
 
|-
| style="background: yellow" | '''[https://www.opensuse.org/ openSUSE]''' || Independent || '''KDE Plasma 5''', GNOME, Cinnamon, LXDE, XFCE || Up to a year || some commercial developers || style="text-align: left;"| Project created by the community and sponsored by SUSE Linux. It provides many advanced exclusive tools. The community is willing to help any newcomers.
+
|rowspan="6"| Proprietary || Nvidia || NVIDIA GLX || From Kepler based GPUs to recent || rowspan="2"| Yes<sup>2</sup>
 
|-
 
|-
| style="background: #84DE02;" |'''[https://neon.kde.org KDE Neon]''' || Debian, Ubuntu || KDE Plasma || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| 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.
+
| Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent
 
|-
 
|-
| style="background: #84DE02;" |'''[https://store.steampowered.com/steamos/ SteamOS]''' || Debian (Stable) || GNOME || Varies || Steam || style="text-align: left;"| 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.'''
+
| Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs ||rowspan="4"| No
|-
 
| style="background: #84DE02;" |'''[https://zorinos.com Zorin OS]''' || Debian, Ubuntu || GNOME || Up to a year || same as Ubuntu<ref name=support group="fr note" /> || style="text-align: left;"| 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. {{ii}} Official Website nags users to pay for businness version, or to make a donation, but allows to download Zorin OS Core for free.
 
|}
 
 
 
<references group="fr note" />
 
 
 
===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
 
{{ii}}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.
 
 
 
{| class="wikitable sortable"
 
 
|-
 
|-
! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description
+
| Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs
 
|-
 
|-
| style="background: orange" |'''[http://www.archlinux.org/ ArchLinux]''' || Independent || '''Text Mode''', but later on you can install any desktop environment || style="text-align: left;"| 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.
+
| Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV360)
{{ii}}ArchLinux 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.
 
 
|-
 
|-
| style="background: #84DE02;" |'''[https://manjaro.org/ Manjaro]''' || ArchLinux || '''Plasma''', '''XFCE'''<ref group="rr note">The community manages other versions with their own desktop environment</ref>  || style="text-align: left;"| 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.
+
| Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti
 
|-
 
|-
| style="background: #84DE02;" |'''[https://www.antergos.com/ Antergos]''' || ArchLinux || GNOME, Cinnamon, MATE, KDE, OpenBox, XFCE, text mode || style="text-align: left;"| 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.
+
| style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>3</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes
 
|-
 
|-
| style="background: #84DE02;" |'''[https://solus-project.com/ Solus]''' || Independent || '''Budgie''', GNOME, MATE || style="text-align: left;"| 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.
+
|Xorg Modesetting
 
|-
 
|-
| style="background: yellow" |'''[https://www.opensuse.org OpenSUSE Tumbleweed]''' || Independent || KDE Plasma 5 || style="text-align: left;"| A separate rolling release version of OpenSUSE. Despite having the same exclusive features, it provides packages that are bleeding edge.
 
 
|}
 
|}
 +
<sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br />
 +
 +
<sup>2</sup> <small>- The proprietary one started to support Wayland since 364.12 version, however it uses the EGLStreams API.</small><br />
 +
 +
<sup>3</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br />
 +
 +
 +
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 proprietary ones. However there are some things to remember:
 +
* '''Never install drivers from the respective GPU brand's website unless you are forced to!'''{{cn|date=Feb 2019|note=why not?}}. 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 <code>amdgpu.dc=1</code> into the kernel parameter after the release.<ref>https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-DC-Cleaning-Pre-4.15></ref>
 +
* 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'''<br />
 +
 +
Use <code>sudo add-apt-repository <PPA repository></code> to add one. Make sure to run <code>sudo apt update</code> in order to update the repository list after adding one.
 +
{{Standard table|Repository|Description|content=
 +
{{Standard table/row|ppa:paulo-miguel-dias/pkppa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa/ Padoka Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}
 +
{{Standard table/row|ppa:paulo-miguel-dias/mesa|[https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa Padoka Unstable Mesa]. Same as the previous, however it is the developer version. Mind the issues you may encounter. }}
 +
{{Standard table/row|ppa:graphics-drivers/ppa|[https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa "Graphics  Drivers" Teams' PPA]. Contains the recent proprietary NVIDIA drivers and the Vulkan drivers for that GPU. }}
 +
{{Standard table/row|ppa:ubuntu-x-swat/updates|[https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates Ubuntu X Team's Stable Mesa]. For AMD/Intel/Nouveau GPU drivers, also contains Wayland.}}
 +
}}
 +
 +
'''OpenSUSE'''<br />
 +
 +
 +
As of 10 August 2017, OpenSUSE Tumbleweed has an official NVIDIA RPM [https://www.reddit.com/r/openSUSE/comments/6slnlv/tumbleweed_gets_an_official_rpm_from_nvidia/], you can manually add the repository with this command
 +
<pre>
 +
zypper ar https://download.nvidia.com/opensuse/tumbleweed nvidia-tumbleweed
 +
zypper inr (For installing)
 +
</pre>
 +
 +
====Vulkan support====
 +
{{ii}} [https://wiki.archlinux.org/index.php/Vulkan ArchLinux's Wiki Vulkan Article]
 +
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:
 +
* ANV for Intel HD GPUs Vulkan driver
 +
* RadV for community Open source AMD/ATI (Recommended) or AMDVLK for official open source AMD/ATI Vulkan 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 case of other linux distributions (such as Antergos) it's already included with the main driver.
 +
 +
====Optimus Support====
 +
{{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ NVIDIA Optimus Linux Guide]
 +
{{--}} To this day the Optimus support in NVIDIA GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.
 +
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.<br>
 +
 +
AMD users have a much easier time with that feature as it only requires running the game with the <code>DRI_PRIME=1</code> command.
 +
====Xorg====
 +
{{ii}} [https://www.x.org/wiki/ 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 its successor, Wayland, it is still maintained by Xorg Foundation and Free-Desktop.org.
 +
 +
====Wayland====
 +
{{ii}} [https://wayland.freedesktop.org/ 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.<br />
 +
 +
 +
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.<br />
 +
 +
 +
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. [https://devtalk.nvidia.com/default/topic/925605/linux/nvidia-364-12-release-vulkan-glvnd-drm-kms-and-eglstreams/post/5188874/#5188874]<br />
 +
 +
 +
Here are the following GUI libraries with Wayland support:
 +
* GTK3 - Supported and enabled by default since 3.20, if not, use the <code>GDK_BACKEND=wayland</code> command at the beginning.
 +
* Qt5 - Requires the Qt5 Wayland package. After that you can run the Qt 5 application with the <code>-platform wayland</code> command prompt.
 +
* SDL2 - Added in 2.0.2 enabled by default since 2.0.4. If not, use <code>SDL_VIDEODRIVER=wayland</code> 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.
 +
 
<references group="rr note" />
 
<references group="rr note" />
  
 
<references />
 
<references />

Revision as of 14:39, 5 March 2019

Graphics

ArchLinux Wiki's ATI 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 License 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
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 proprietary ones. However there are some things to remember:

  • Never install drivers from the respective GPU brand's website unless you are forced to![citation needed]. 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.[1]
  • 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)

Vulkan support

ArchLinux's Wiki Vulkan Article

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:

  • ANV for Intel HD GPUs Vulkan driver
  • RadV for community Open source AMD/ATI (Recommended) or AMDVLK for official open source AMD/ATI Vulkan 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 case of other linux distributions (such as Antergos) it's already included with the main driver.

Optimus Support

NVIDIA Optimus Linux Guide
To this day the Optimus support in NVIDIA GPUs is still considered to be troublesome. It is recommended to use fixed release distributions for this case.

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.

AMD users have a much easier time with that feature as it only requires running the game with the DRI_PRIME=1 command.

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 its 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. [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.