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 11: Line 11:
 
! Brand !! License !! Driver !! Library !! Supported GPU !! Wayland Support
 
! Brand !! License !! Driver !! Library !! Supported GPU !! Wayland Support
 
|-
 
|-
| 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: red; color: white;" rowspan="3" | '''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
 
|-
 
|-
 
| ATI || GCN 2 and older architecture
 
| ATI || GCN 2 and older architecture

Revision as of 14:42, 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.