User:Maffblaster/Drafts/Graphics

This meta article primer to explain the composition and configuration of the modern graphics stack on Linux systems.]] Historical aspects will be reviewed when necessary, including the X.org server, however the expectation of this primer is to use Wayland supported desktop environment with a focus on graphic intensive software, such as gaming.

Introduction
Historically running a modern graphics stack on POSIX systems was somewhat challenging. Either graphics drivers for the latest hardware was months or years behind the same level of support in Microsoft Windows, or the software compatiblity layers were not well supported for the latest games. As of the March, 2021, 70% of the top 50 games are support from launch on POSIX systems. This is largely the result of Valve software.

Corporate and enterprise
There are several parties interested in running software designed for Microsoft Windows - including games - on POSIX compliant systems. Game companies, such as Valve, have been hedging against Microsoft changing licensing terms of Windows. In other words, Valve has been investing in Linux and it's graphics stack in order to have an alternative platform to Microsoft Windows.

Companies that sell Linux commercial and enterprise support, such as Canonical and Red Hat, and open source consulting companies such as Collabora also hold interest in Windows software running on POSIX compliant systems. These companies run their businesses

Game developers and players
Certain game development studios, such as Feral Interactive work to transition games to natively run on Linux.

The players themselves hold interest in running Windows software. Privacy conscious players have concerns surrounding data collection from Big Tech. This generally occurs at the operating system, but also other layers surrounding gaming such as programmable keyboard software such as Razer Synapse, which is "Cloud enabled" and requires a "valid e-mail, software download, license acceptance, and internet connection needed to activate full features and for software updates".

Hardware considerations
When considering hardware for a modern graphic experience on Linux, one should consider support from the hardware manufacturer. Some manufacturers seek to work with Linux kernel developers and open source standards groups to certify their hardware will be operational on Linux from release day. These companies include AMD and Intel.

NVIDIA, while being the largest retailer of full size personal computer graphics hardware in the world, has historically not taken a supportive position on helping their hardware be compatible with an open stack. They have, however, released proprietary software that integrates with the Linux kernel. For this reason, NVIDIA should be avoided.

Kernel
With the exception of firmware, configuring the Linux kernel to support the graphics adapter is mostly straightforward.

AMD
As outlined in the AMD meta article, there are a view viable options when configuring AMD graphic cards. See the kernel section of the AMD article.

For card firmware

User space
Software that provides user space support is any software component that does not reside inside the Linux kernel itself. This is the largest portion of the graphics stack on Linux systems.

Wayland
https://wayland.freedesktop.org/xserver.html

Mesa
Mesa is a FreeDesktop.org project dedicated to open source drivers for graphics cards.

Current status of OpenGL and OpenCL implementations on a per-driver basis can be found on the MesaMatrix site (also available here).

Wine
Wine is a software library translation layer that enables Windows API calls on POSIX compliant operating systems such as Linux. It is an important piece of software for gaming on Linux since many game development studios do not put in effort to create games for POSIX systems.