Difference between revisions of "Linux"
(334 intermediate revisions by 68 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Infobox | + | {{Infobox non-game |
− | |cover | + | |cover = Tux Linux Mascot.svg |
− | |developer | + | |developers = |
+ | {{Infobox game/row/developer|Linus Torvalds}} | ||
+ | |release dates = | ||
+ | {{Infobox game/row/date|Linux|September 17, 1991}} | ||
+ | |winehq = | ||
+ | |wikipedia = Linux | ||
}} | }} | ||
+ | {{Tocbox}} | ||
+ | |||
+ | '''''{{W|Linux}}''''' is the open-source Unix-like operating system based around the kernel of the same name created by Linus Torvalds and released on September 17, 1991. As the kernel itself lacks many user-level tools, it is often paired with {{W|Free and open-source software|free and open-source software}} (FOSS) provided by the ''{{W|GNU Project}}'' as well as other popular user-level applications, and packaged as a "distribution" ("distro" for short). As a result of its reliance on tools provided by the ''GNU Project'', the operating system consisting of the kernel and bundled user-level tools is sometimes {{W|GNU/Linux naming controversy|controversially}} referred to as '''GNU/Linux''' as well. The operating system sees ongoing development and due to its free and open-source nature is often used as the base on which other services or platforms are built on, such as [[Stadia]] and [[Steam Deck]]. | ||
+ | |||
+ | Users wanting to find a distribution of Linux usually end up following a few general guidelines: | ||
+ | * The strength and weakness of Linux is its freedom of user choice. | ||
+ | * There are no best distros; it all depends on the user's need. Users commonly switch between distros ("distro hopping") until settling on one. | ||
+ | * Always refer to the documentation of the chosen distro in case there is a problem. It's advisable to check the [https://wiki.archlinux.org/ ArchWiki] regardless of the distro as it is broadly and succinctly written. In addition, reaching out to the distro's community for support is always an option. | ||
+ | * Use [[Virtualization#Hardware virtualization|virtual machines]] to test Linux distributions without replacing the existing operating system on the physical machine. | ||
+ | ** To test a distribution installed on a virtual machine on the physical machine itself without replacing the existing operating system or dual booting, a tool called [https://www.ventoy.net/ Ventoy] can be used to create a [https://www.ventoy.net/en/plugin_vtoyboot.html bootable vDisk] on a USB flash stick. | ||
+ | |||
'''Key points''' | '''Key points''' | ||
− | {{++}} | + | {{++}} Wide variety of distributions (distros) available, allowing unparalleled user choice and customizability. |
− | {{ | + | {{ii}} Some native Linux games may perform better or worse when compared to other operating systems. |
− | {{ | + | {{ii}} Many [[:Category:Windows|Windows]] games can be played on Linux using [https://github.com/ValveSoftware/Proton Proton] or [[Wine]]. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Resources''' | '''Resources''' | ||
− | {{ii}} [ | + | {{ii}} [https://distrowatch.com/ DistroWatch] - a page dedicated to Linux distributions |
+ | {{ii}} [https://linuxjourney.com/ Linux Journey] - a beginner-friendly page about learning Linux in general | ||
+ | {{ii}} [https://www.protondb.com/ ProtonDB] - a crowdsourced database of Proton games compatibility | ||
+ | {{ii}} [https://www.phoronix.com/ Phoronix] - a website dedicated to hardware and benchmarking in Linux | ||
+ | {{ii}} [https://openbenchmarking.org/ OpenBenchmarking] and [https://flightlessmango.com/ FlightlessMango] - lists of user-made benchmarks in Linux | ||
+ | {{ii}} [https://wiki.archlinux.org/ ArchWiki] and [https://wiki.gentoo.org/wiki/Main_Page Gentoo Wiki] - wikis intended for their respective distro but is useful for others as well | ||
'''Communities''' | '''Communities''' | ||
− | {{ | + | {{ii}} [https://gamingonlinux.com Gaming On Linux] - a large community dedicated to gaming on Linux |
− | {{ | + | {{ii}} [https://www.reddit.com/r/linux_gaming/ /r/linux_gaming] - Linux gaming subreddit |
− | {{ | + | |
− | {{mm}} [ | + | ==Distributions== |
− | {{ | + | There are two types of release models for Linux distros. |
− | {{mm}} [ | + | |
+ | ===Fixed release=== | ||
+ | {{++}}Offers stable packages. | ||
+ | {{++}}Most distros are beginner-friendly. | ||
+ | {{++}}Very little maintenance. | ||
+ | {{--}}Package versions are usually tied to the distro version, so the OS needs to be updated to get the latest packages. | ||
+ | {{--}}Stable packages typically don't have the newest features. This is especially important in the case of [[Glossary:Graphics card|GPU]] drivers.<br> This issue is alleviated by the fact that the vast majority of user-facing applications are now available as a [[w:Flatpak|Flatpak]], [[w:Snap (software)|Snap]] or and [[w:AppImage|AppImage]] which allow you to run the latest version of the application regardless of what exact version of underlying OS you have. | ||
+ | {{--}}Manual intervention is required to add user-made repositories in some distros. | ||
+ | {{ii}} Updating a distro to the latest version doesn't normally require a fresh install, but can take up to several hours. | ||
+ | {{ii}} Many Debian-based distros offer [https://help.ubuntu.com/community/UbuntuBackports "backports"] and/or [https://wiki.debian.org/DebianTesting "testing"] modes that provide newer versions of some packages than what the stable version does. | ||
+ | |||
+ | {| 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 | ||
+ | |- | ||
+ | ||'''[https://www.ubuntu.com/download/desktop Ubuntu] and [https://www.ubuntu.com/download/flavours Ubuntu flavours]''' || Debian || GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI || 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. Ubuntu non-LTS is updated more often and contains newer packages and functionality. Ubuntu flavours offer different [[Linux#Desktop environments|desktop environments]] with the same compatibility as Ubuntu. | ||
+ | |- | ||
+ | || '''[https://system76.com/pop Pop!_OS]''' || Ubuntu || '''GNOME''' || 6 months || same as Ubuntu<ref name=support group="fr note">Support is not official, but the distros are similar enough that everything which works for Ubuntu will work in Pop!_OS.</ref> || style="text-align: left;"| An Ubuntu-based distro created and maintained by System76 which utilizes its own repository. Unlike Ubuntu, it includes much more recent drivers for graphics cards, the installer ships with Nvidia support, and it's generally more recommended for beginners. | ||
+ | |- | ||
+ | ||'''[https://linuxmint.com/ Linux Mint]''' || Ubuntu LTS || Cinnamon, MATE, XFCE || 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. Packages may be much older compared to Ubuntu LTS releases. The main advantage of Linux Mint is the built-in kernel upgrader. | ||
+ | |- | ||
+ | ||'''[https://neon.kde.org KDE Neon]''' || Ubuntu LTS || '''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 Kubuntu (A KDE Plasma-flavoured Ubuntu), it provides the latest version of the KDE Plasma desktop environment, while simultaneously being able to use packages from Ubuntu LTS. | ||
+ | |- | ||
+ | ||'''[https://getfedora.org/ Fedora] and [https://spins.fedoraproject.org/ Fedora Spins]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR ||6 months|||| style="text-align: left;"| Fedora is a very stable, independent distribution sponsored by Red Hat Enterprise. GNOME is its default desktop environment, but Fedora Spins offer many alternatives. It is as user-friendly as Ubuntu but tends to be more willing to move to new technologies. Spins offer different desktop environments, but when it comes to compatibility, they are the same as Fedora. | ||
+ | |- | ||
+ | || '''[https://get.opensuse.org/leap/ openSUSE Leap]''' || Independent || GNOME, KDE Plasma, XFCE || 1 year for each new release || || style="text-align: left;"| Leap uses source from SUSE Linux Enterprise (SLE), which gives it a great level of stability. openSUSE has YaST, which is a user-friendly GUI to install packages, manage the system, and install [[Nvidia]] proprietary drivers in a simple way. | ||
+ | |- | ||
+ | ||'''[https://store.steampowered.com/steamos/ SteamOS]''' || Arch Linux(starting with version 3.0) Debian(old versions)<ref>{{Refurl|url=https://www.debian.org/releases/|title=Debian releases|date=2021-06-26}}</ref> || '''KDE Plasma''' || Varies || Steam || style="text-align: left;"| Linux distribution made by [[Company:Valve Corporation|Valve Corporation]] specifically for the Steam Machine or couch gaming. It currently provides the latest stable Linux kernel along with newer GPU drivers and an option to act as a desktop system. It may be behind in terms of package updates.<br>{{--}} As of June 2021, SteamOS is based on Debian Jessie, meaning that non-Steam packages have not been updated since 2016. | ||
+ | |} | ||
+ | |||
+ | <references group="fr note" /> | ||
+ | |||
+ | ===Rolling release=== | ||
+ | {{++}}Provides the latest version of packages as soon as they're released by the upstream developers. | ||
+ | {{++}}No distro upgrade procedure is required, as most distros have only one version. | ||
+ | {{--}}A package update may cause stability issues, as extensive testing is usually limited. | ||
+ | {{--}}No currently-listed rolling release distribution has official support from any digital distribution store, due to the distros' reliance on <code>.rpm</code> binaries instead of <code>.deb</code>. | ||
+ | {{ii}}Some distros offer a semi-rolling release, meaning that packages will be tested before releases. | ||
+ | |||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | ! Distribution !! Based On !! Desktop(s)<ref group="rr note">Default options are marked in bold</ref> !! Description | ||
+ | |- | ||
+ | ||'''[https://archlinux.org/ Arch Linux]''' || Independent || GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR, Deepin, Budgie, UKUI || style="text-align: left;"| Arch Linux is a distribution designed for advanced users looking to customize every aspect of their system, building from the ground up rather than the top down. There is a huge number of packages available through the [[w:Arch_Linux#Arch_User_Repository_.28AUR.29|AUR (Arch User Repository)]]. Arch Linux does not have a graphical installer and requires research on the user's part to properly install.<br>{{ii}}If you're new to Linux, '''Arch most definitely should not be your first choice'''. | ||
+ | |- | ||
+ | ||'''[https://manjaro.org/ Manjaro]''' || Arch Linux || GNOME, KDE Plasma, Xfce || style="text-align: left;"| Manjaro is based on Arch Linux and offers a user-friendly experience out of the box. By default, it comes with Nvidia's proprietary drivers, which makes it straightforward to install. It uses the Pamac app to install native, AUR, Flatpak, and Snap packages in a simple way. | ||
+ | |- | ||
+ | ||'''[https://get.opensuse.org/tumbleweed/ openSUSE Tumbleweed]''' || Independent || GNOME, KDE Plasma, XFCE|| style="text-align: left;"| A rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on a root partition, snapshots are taken before and after updates, allowing easy restores if there is an update breakage. | ||
+ | |- | ||
+ | ||'''[https://getsol.us/ Solus]''' || Independent || Budgie, GNOME, MATE, KDE Plasma || style="text-align: left;"| Despite following the rolling release model, it provides stable packages and features great hardware compatibility with any GPU. It includes a special tool called Linux Steam Integration (LSI) which allows users to easily customize Steam, ranging from using the libraries from the system (native mode) or a forced 32-bit mode. Only stable releases of library and software are added, with very few exceptions—such as Nvidia's Vulkan beta drivers. | ||
+ | |} | ||
+ | <references group="rr note" /> | ||
+ | |||
+ | ==Desktop environments== | ||
+ | By default, Linux is a text/command-line-based operating system. However, the Linux community has created a variety of desktop environments to offer a user-friendly GUI experience. Most include their own basic software for common use cases, such as a file explorer or word processor. | ||
+ | |||
+ | As a rule of thumb, environments with heavy RAM use typically add another 500 MB to the operating system's RAM requirements (which usually range from 500 MB to 4 GB), compared to environments with light RAM use. | ||
+ | |||
+ | {| class="wikitable sortable" style="nowrap;" | ||
+ | |- | ||
+ | ! Name !! RAM use !! Description | ||
+ | |- | ||
+ | | [https://www.gnome.org/ GNOME] || Heavy || style="text-align: left;"| | ||
+ | One of the oldest desktop environments that is still continuously updated. Offers the most radical departure from the traditional Windows-style paradigm of start-menu-and-a-taskbar.<br> It has historically been considered slow but has made huge strides in improving the fluidity and responsiveness in the last few years, particularly on gaming-grade machines. Offers a variety of customizations via GTK3/4 themes and Gnome Extensions. | ||
+ | |- | ||
+ | | [https://www.kde.org/plasma-desktop KDE Plasma] || Heavy || style="text-align: left;"| | ||
+ | The first major comprehensive desktop environment released for Linux, which sees regular maintenance and feature updates. Out of the box, it offers a familiar Windows-like experience but also allows nearly limitless ability to customize the functionality and look and feel of the desktop. | ||
+ | |- | ||
+ | | [https://getsol.us/home/ Budgie] || Heavy || style="text-align: left;"| | ||
+ | Created by a Solus developer and currently maintained by Solus Team. It serves as an alternative to GNOME with a much more desktop-like interface, which bears similarities to modern Windows. | ||
+ | |- | ||
+ | | [http://developer.linuxmint.com/ Cinnamon] || Heavy || style="text-align: left;"| | ||
+ | Created by the Linux Mint Team, Cinnamon offers an experience that is very similar to Windows 7. | ||
+ | |- | ||
+ | | [https://xfce.org/ XFCE] || Light || style="text-align: left;"| | ||
+ | Starting off as a clone of a Unix-like desktop environment called CDE, it became its own with a Windows XP-like appearance and light memory usage. XFCE is well-suited for low-end hardware and people who like to settle on one user experience and never change it (while still getting the security and maintenance updates). | ||
+ | |- | ||
+ | | [https://mate-desktop.org MATE] || Light || style="text-align: left;"| | ||
+ | MATE spawned as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. It is recommended for Windows and Mac users while providing its own feature set such as mouse hover audio previewing. | ||
+ | |- | ||
+ | | [https://www.lxde.org/ LXDE] || Light || style="text-align: left;"| | ||
+ | LXDE (Lightweight X11 Desktop Environment) is a lightweight and fast, feature-rich desktop environment. It is designed to be user-friendly and slim while keeping resource usage low. LXDE strives to be modular, so each component can be used independently with few dependencies. | ||
+ | {{ii}} The Original team that created LXDE has largely moved on to LXQT due to controversial changes in the GTK framework, however, a community of loyal users and developers continues to use and maintain it. | ||
+ | |- | ||
+ | | [https://lxqt-project.org/ LXQT] || Light || style="text-align: left;"| | ||
+ | Despite its limited features (as it is essentially a rewrite of LXDE with a different UI framework) along with the lack of a compositor, it is perfectly suited for the lowest-end hardware. | ||
+ | |} | ||
+ | |||
+ | ==Kernel== | ||
+ | {{mm}} [https://en.wikipedia.org/wiki/Linux_kernel Wikipedia page] | ||
+ | {{ii}} It is important to update the Linux kernel as new versions provide security updates, bug fixes, better performance, and support for hardware. A distro's repository contains all the supported versions for that distro. | ||
+ | |||
+ | There are two main releases of the official Linux kernel: | ||
+ | * Long-Term Support (LTS) is slightly behind in terms of hardware support and features but offers better stability and longer support. | ||
+ | * Stable release (sometimes called the current release) offers the best hardware support and the newest features. It should be the default choice for a gaming machine and be avoided only if it causes issues. | ||
+ | |||
+ | Despite these differences, both releases offer the same security updates. | ||
+ | |||
+ | ===Kernel replacement=== | ||
+ | |||
+ | {{ii}} '''This section is meant for advanced users, you can easily break your OS if you don't know what you are doing!''' | ||
+ | |||
+ | While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones that add features and improvements. These kernels may or may not improve one's gaming experience, and may require DKMS (dynamic kernel module support) versions of drivers and headers to make hardware usable with multiple kernels. | ||
+ | |||
+ | The most notable releases: | ||
+ | * [https://github.com/CK-LINUX/kernel Linux CK] | ||
+ | * [https://github.com/zen-kernel/zen-kernel Linux Zen] | ||
+ | * [https://liquorix.net/ Liquorix] | ||
+ | |||
+ | {{ii}} For help with installing different kernels on a distro, consult the kernel's official website or the distro's knowledge base. | ||
+ | {{ii}} It is advised to keep the current official kernel in case of issues. | ||
+ | {{ii}} [https://teejeetech.in/ukuu/ UKUU] is a useful utility for swapping kernels on Ubuntu (and Ubuntu derivatives). | ||
+ | |||
+ | ===Microcode=== | ||
+ | {{mm}}[https://wiki.archlinux.org/index.php/Microcode ArchWiki article] | ||
+ | It is vital to install the microcode for the CPU as the manufacturer provides security and stability updates, although most often your distribution will push those updates directly to you. Most distributions use either a package manager or some kind of firmware/drivers manager to update the microcode. | ||
+ | |||
+ | ==Hardware== | ||
+ | ===Graphics=== | ||
+ | {{++}} Generally speaking, if you use AMD graphics, you're likely to have a flawless experience as AMD makes open-source drivers available and Linux developers integrate them directly into the kernel. | ||
+ | {{--}} Generally speaking, if you use Nvidia graphics, you're likely to have to make some independent efforts to either install or enable Nvidia drivers, as Nvidia does not offer any open-source drivers which makes the distribution maintainers hesitant when it comes to packaging or enabling Nvidia drivers by default.<br> Nvidia's drivers are also of worse quality than either AMD's own Linux drivers or Nvidia's Windows driver, with features that exist in the Windows drivers missing in the same card's Linux driver. This is entirely Nvidia's choice, and Linux developers and maintainers can do almost nothing to rectify the consequences of Nvidia's behavior. | ||
+ | |||
+ | {{ii}} [https://wiki.archlinux.org/index.php/ATI ArchWiki's ATI] and [https://wiki.archlinux.org/index.php/AMD_Catalyst Catalyst] Article | ||
+ | {{ii}} [https://wiki.archlinux.org/index.php/AMDGPU ArchWiki's AMDGPU/AMDGPU Pro Article] | ||
+ | {{ii}} [https://wiki.archlinux.org/index.php/NVIDIA ArchWiki's Nvidia] and [https://wiki.archlinux.org/index.php/Nouveau Nouveau] Article | ||
+ | {{ii}} [https://wiki.archlinux.org/index.php/Intel_graphics ArchWiki's Intel Graphics Article] | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Brand !! Driver type !! Kernel driver !! Library !! Supported GPU !! Vulkan support | ||
+ | |- | ||
+ | | style="background: red; color: white;" rowspan="4" | '''AMD/ATI''' ||rowspan="2" | Open Source || Radeon || rowspan="2"| Mesa (GLX and DRI) || GCN 2 and older architecture || No | ||
+ | |- | ||
+ | |rowspan="2"| AMDGPU || GCN and newer architecture<sup>1</sup> || Yes (RadV, AMDVLK) | ||
+ | |- | ||
+ | |rowspan="2"| Proprietary || AMDGPU Pro || GCN and newer architecture || Yes | ||
+ | |- | ||
+ | | Fglrx || Catalyst GL Library || GCN 3 and older architecture || No | ||
+ | |- | ||
+ | | style="background: #84DE02;" rowspan="7"| '''Nvidia''' || Open Source || Nouveau || Mesa (GLX and DRI) || Any Nvidia GPU || Yes (NVK for Kepler and up) | ||
+ | |- | ||
+ | |rowspan="6"| Proprietary || Nvidia || Nvidia GLX || From Kepler based GPUs to recent || Yes | ||
+ | |- | ||
+ | | Nvidia 390 || Nvidia 390 GLX || From Fermi based GPUs to recent || rowspan="5"| No | ||
+ | |- | ||
+ | | Nvidia 340 || Nvidia 340 GLX || For Tesla based GPUs | ||
+ | |- | ||
+ | | Nvidia 304 || Nvidia 304 GLX || From GeForce 6 series to Tesla based GPUs | ||
+ | |- | ||
+ | | Nvidia 173 || Nvidia 173 GLX || GeForce 5 FX series (NV30 to NV36) | ||
+ | |- | ||
+ | | Nvidia 96 || Nvidia 96 GLX || From GeForce 2/3/4 MX/Ti | ||
+ | |- | ||
+ | | style="background: #21ABCD; color: white;" rowspan="2" | '''Intel''' ||rowspan="2" | Open Source || Xorg Intel<sup>2</sup> || rowspan="2"| Mesa (GLX and DRI) || rowspan="2" | Any Intel HD Graphics GPU || rowspan="2"| Yes (ANV for Gen9 and up, HASKV Gen7/Gen8) | ||
+ | |- | ||
+ | | Xorg modesetting | ||
+ | |- | ||
+ | | style="background: yellow;" rowspan="2" | '''VIA/S3''' || Open Source || OpenChrome || rowspan="2"| Mesa (GLX and DRI) || Unichrome series, Chrome9 2D only || No | ||
+ | |- | ||
+ | | Proprietary || VIA Unified GFX || Chrome9 || No | ||
+ | |- | ||
+ | | style="background: orange;" | '''3DFX''' || Open Source || tdfx || MesaGL || Voodoo3 and up, Voodoo 1 & 2 2D only || No | ||
+ | |- | ||
+ | | ARM || Open Source || Panfrost || Mesa (GLX and DRI) || Mali Midgard, Bifrost and Valhall || Yes (PanVK) | ||
+ | |- | ||
+ | | Qualcomm || Open Source || Freedreno || Mesa (GLX and DRI) || Adreno A2xx-A7xx || Yes (Turnip) | ||
+ | |- | ||
+ | | Broadcom || Open Source || V3D || Mesa (GLX and DRI) || VideoCore 5 on Raspberry Pi 4 || Yes | ||
+ | |- | ||
+ | | Imagination Technologies || Open Source || pvrsrvkm || Mesa (GLX and DRI) || PowerVR Rogue || Yes | ||
+ | |} | ||
+ | <sup>1</sup> <small>- GCN 1 and 2 architecture support in AMDGPU is experimental.</small><br /> | ||
+ | |||
+ | <sup>2</sup> <small>- Do not use it on Intel HD 4000 series and newer GPU.</small><br /> | ||
+ | |||
+ | Generally, AMD/ATI users should use [[Mesa|the open source driver]] as it provides the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. There are some things to remember: | ||
+ | * '''Try not to install drivers from the GPU manufacturer's website unless forced to''', as distro maintainers package the driver to be offered from the package manager. | ||
+ | * If forced to use Catalyst, Nvidia 173, or Nvidia 96 drivers, one must downgrade Xorg to the last supported version. | ||
+ | * Before using the open-source driver '''one must install LLVM and Linux Firmware packages'''. | ||
+ | |||
+ | ====Installing drivers==== | ||
+ | '''Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and Neon)''' | ||
+ | |||
+ | 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.}} | ||
+ | }} | ||
+ | |||
+ | '''Fedora''' | ||
+ | |||
+ | To install Nvidia drivers on Fedora, it is usually sufficient to install the latest Nvidia drivers from the software center. Simply search for Nvidia and install the driver with the highest version number. | ||
+ | |||
+ | If you have a more complex setup, such as an Optimus laptop, or the above instructions do not work for you, you can also use '[https://github.com/t0xic0der/nvidia-auto-installer-for-fedora-linux NVIDIA Auto Installer for Fedora Linux]'. It is a set of scripts that can handle both normal installs and more advanced configurations. | ||
+ | |||
+ | To use it, execute the following in the terminal: | ||
+ | |||
+ | <code> | ||
+ | sudo dnf install dnf-plugins-core -y && sudo dnf copr enable t0xic0der/nvidia-auto-installer-for-fedora -y && sudo dnf install nvautoinstall -y | ||
+ | </code> | ||
+ | |||
+ | Once installed, type in <code>nvautoinstall</code> into your terminal. The program will show you the options you can use. | ||
+ | |||
+ | The most basic installation is performed by issuing the following command: | ||
+ | |||
+ | <code>sudo nvautoinstall rpmadd && sudo nvautoinstall drive</code>. | ||
+ | |||
+ | To install support for Vulkan API (will be functional only if you have a Vulkan-capable GPU and driver), execute the following command <code>sudo dnf install vulkan-loader vulkan-loader.i686</code> | ||
+ | |||
+ | {{Fixbox|fix= | ||
+ | # Launch the terminal and update/reboot system: <code>sudo dnf update && reboot</code> | ||
+ | # Launch the terminal and add the official repos: <code>sudo dnf install fedora-workstation-repositories</code> | ||
+ | # Enable the Nvidia driver repo: <code>sudo dnf config-manager --set-enabled rpmfusion-nonfree-nvidia-driver</code> | ||
+ | # Reboot, then verify the addition of the repository using the following command: <code>sudo dnf repository-packages rpmfusion-nonfree-nvidia-driver info</code> | ||
+ | # Open the software app, select Add-ons > Hardware Drivers > NVIDIA Linux Graphics Driver > Install | ||
+ | }} | ||
+ | |||
+ | If you used nvautoinstall above, you can also install Vulkan API via <code>sudo nvautoinstall vulkan</code>. | ||
+ | |||
+ | '''openSUSE''' | ||
+ | |||
+ | [https://opensuse.github.io/openSUSE-docs-revamped-temp/install_proprietary/ Please refer to the openSUSE User Documentation Project for instructions.] | ||
+ | |||
+ | ====Optimus support==== | ||
+ | {{ii}} [https://www.reddit.com/r/linux_gaming/comments/6ftq10/the_ultimate_guide_to_setting_up_nvidia_optimus/ Nvidia Optimus Linux guide] | ||
+ | {{--}} Optimus support in Nvidia GPUs is still considered to be troublesome. | ||
+ | In the case of laptops that have Nvidia Optimus support, it is recommended to have PRIME enabled, which can be done by installing an additional package. Follow the distro’s documentation to set this up. | ||
+ | |||
+ | AMD users only require running the game with the <code>DRI_PRIME=1</code> command. | ||
+ | |||
+ | ===Audio=== | ||
+ | {{ii}}[https://wiki.archlinux.org/index.php/Sound_system ArchWiki page] | ||
+ | |||
+ | Linux has several sound systems available. The most common one is PulseAudio, but a new system called PipeWire is looking to supersede and consolidate all previous systems into one. For most games, PulseAudio will work. | ||
+ | |||
+ | In the case of MIDI, installing the Timidity or Fluidsynth package is required along with either a SoundFont or the FreePats package. Depending on the distro, it will either be set up automatically or require manual intervention. | ||
+ | |||
+ | ===Input devices=== | ||
+ | {{ii}}[https://wiki.archlinux.org/index.php/Libinput Libinput ArchWiki article] | ||
+ | {{ii}}[https://wiki.archlinux.org/index.php/Touchpad_Synaptics Touchpad ArchWiki article] | ||
+ | {{ii}}[https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg Keyboard Configuration in Xorg ArchWiki article] | ||
+ | {{ii}}[https://wiki.archlinux.org/index.php/Touchscreen Touchscreen ArchWiki article] | ||
+ | |||
+ | Linux supports a vast array of input devices, including legacy hardware. Many programs exist for gaming peripherals in case further customization is needed. | ||
+ | |||
+ | '''General''' | ||
+ | * [https://github.com/libratbag/piper/ Piper] - Configure gaming mice | ||
+ | |||
+ | There are some other ones made for products from specific companies: | ||
+ | |||
+ | '''Razer''' | ||
+ | * [https://openrazer.github.io/ OpenRazer] - Open-source driver for Razer peripherals | ||
+ | * [https://polychromatic.app/ Polychromatic] - Frontend for OpenRazer | ||
+ | * [https://github.com/z3ntu/RazerGenie RazerGenie] - Configurator for Razer mice, keyboards, headsets, and more | ||
+ | * [https://github.com/GabMus/razerCommander RazerCommander] - Razer device manager | ||
+ | * [https://bues.ch/cms/hacking/razercfg RazerCFG] - A much more simplified configurator for Razer products | ||
+ | |||
+ | '''Roccat''' | ||
+ | * [https://sourceforge.net/projects/roccat/ Roccat Configurator] - An official configurator for Roccat products | ||
+ | |||
+ | ====Controller support==== | ||
+ | All DirectInput and XInput controllers are supported. In case of issues with XInput controllers, it is recommended to install [https://gitlab.com/xboxdrv/xboxdrv/ xboxdrv]. | ||
+ | |||
+ | If dealing with a game that has very limited or no controller support at all, the [https://github.com/AntiMicroX/antimicroX AntiMicroX] program offers a solution. It allows the user to bind keyboard and mouse inputs to the controller. However, it currently only works with Xorg. | ||
+ | |||
+ | Additionally, a user can use Steam Input in the Steam app to configure their controller. | ||
+ | |||
+ | ==Other== | ||
+ | ===Disk partitioning=== | ||
+ | {{ii}} '''ext4''' is the default file system used by most Linux distributions. | ||
+ | {{mm}} While the file system used on Windows, NTFS, is supported, it is generally not recommended to use as it may cause compatibility issues. | ||
+ | |||
+ | The most important aspect of disk partitioning is often the swap partition; it generally acts as RAM replacement. The absence of it will cause software to shut down due to low memory, and it is also used to offload memory from RAM when entering power-saving modes such as Hibernation or Sleep. The size of the swap disk depends on how much RAM is available in the computer; if less than 8 GB of RAM, increase the swap disk, or if more than 8 GB of RAM, decrease the swap disk. | ||
+ | |||
+ | It is generally recommended to partition disks in this particular order: | ||
+ | |||
+ | # / (Root) | ||
+ | # Home | ||
+ | # Swap disk | ||
+ | |||
+ | A user can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap. | ||
+ | |||
+ | ===Display server=== | ||
+ | {{++}} Wayland is newer than Xorg and is considered to be technically superior. | ||
+ | {{--}} Wayland is not supported by older proprietary games. | ||
+ | |||
+ | Linux utilizes a display server system in order to present a graphical environment with which the user can interface. The two prominent ones are [https://wiki.archlinux.org/title/Wayland Wayland] and [https://wiki.archlinux.org/title/Xorg Xorg]. | ||
+ | |||
+ | While Wayland offers more a modern and secure backend, Xorg has legacy support and will generally be more compatible than Wayland. In addition, Wayland is still in active development and is missing features that would provide a gaming experience in parity with Xorg. | ||
+ | |||
+ | ===Benchmarking=== | ||
+ | {{ii}}[https://wiki.archlinux.org/index.php/Benchmarking ArchWiki article] | ||
+ | |||
+ | Benchmarking in Linux can be achieved with the [https://www.phoronix-test-suite.com Phoronix Test Suite]. It is easy to use despite not offering a user-friendly GUI. The biggest advantage is it saves the information as a webpage, making comparing tests much easier. | ||
+ | |||
+ | Steam users can use Valve's [https://github.com/ValveSoftware/voglperf voglpref], which requires Steam. | ||
+ | |||
+ | ===PCI passthrough=== | ||
+ | {{ii}}[https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF ArchWiki page] | ||
+ | {{ii}}[https://www.reddit.com/r/VFIO/ /r/VFIO Reddit page] | ||
+ | Since Linux 3.9 and recent QEmu versions, it is possible to passthrough a graphics card, motherboard, or even other hardware into a virtual machine. The main advantage of it is having a native GPU working on Windows in a virtual machine, which allows you to play Windows games on it while using Linux. | ||
+ | |||
+ | There are some disadvantages: | ||
+ | |||
+ | * A second GPU for PCI passthrough is required | ||
+ | * GPU must support UEFI | ||
+ | * CPU must support hardware virtualization and IOMMU | ||
+ | * Motherboard must support IOMMU | ||
+ | * It is not an easy process for beginners | ||
+ | |||
+ | ==Stores and clients== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Name !! Client available !! Registers Linux sales? !! Notes | ||
+ | |- | ||
+ | | [https://store.steampowered.com Steam] || Yes || Yes || style="text-align: left;"| | ||
+ | * By default, the client includes libraries required for native games to run (Runtime mode), but it is possible to make the software use libraries from your system instead (Native mode) | ||
+ | * Includes Proton by default (may require manual installation from the Tools tab). | ||
+ | |- | ||
+ | | [https://www.humblebundle.com/ Humble Bundle] || No || Yes || style="text-align: left;"| | ||
+ | * The store does not provide information about required dependencies for games. | ||
+ | |- | ||
+ | | [https://www.gog.com GOG.com] || No || Yes || style="text-align: left;"| | ||
+ | * The game's store page shows the required dependencies for games. | ||
+ | * Uses MojoSetup as an installer. | ||
+ | * Running the <code>start.sh</code> script may cause issues. Run the binary executable directly to bypass issues. | ||
+ | |- | ||
+ | | [https://itch.io/ Itch.io] || Yes (Optional) || Yes || None | ||
+ | |- | ||
+ | | [https://store.feralinteractive.com/ Feral Store] || No || Yes || style="text-align: left;"| | ||
+ | * Sells only Mac and Linux ports they have made. | ||
+ | |- | ||
+ | | [https://gamejolt.com/ Game Jolt] || Yes (Optional) || Unknown || style="text-align: left;"| | ||
+ | |- | ||
+ | | [https://flathub.org/apps/category/Game Flathub] || No || No || style="text-align: left;"| | ||
+ | * Offers open-source freeware games. Overlap with the distros' own package repositories is high. | ||
+ | |- | ||
+ | | [https://snapcraft.io/search?category=games Snap Store] || Yes (Optional) || No || style="text-align: left;"| | ||
+ | * Offers a mix of open-source freeware games and preconfigured [[Wine]] games. | ||
+ | * Offers some games for [[List of Linux ARM games|ARM]], [[List of Linux PowerPC games|PowerPC]] and ''System z'' distro installations. | ||
+ | |- | ||
+ | | [https://www.zoom-platform.com/search/any/any/any/any/any/linux/any/any ZOOM Platform] || No || Unknown || | ||
+ | * Very small game selection (50 Linux games total) as of November 2023. | ||
+ | |} | ||
+ | |||
+ | ==Improvements== | ||
+ | ===Hardware=== | ||
+ | '''Disable mitigations for transient execution CPU vulnerabilities''' | ||
+ | {{--}} Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, ZombieLoad, etc. Use it with discretion. | ||
+ | {{ii}} Outside of specific microbenchmarks, disabling the default mitigations should result in an average performance increase of 5-10%. The following parameter used here is available only in 5.1.13 kernel or newer <small>(or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119, and 4.19.43)</small>, for others see [https://make-linux-fast-again.com/ this parameters string]. | ||
+ | |||
+ | {{Fixbox|description=Edit the GRUB settings|fix= | ||
+ | Open up the <code>grub</code> file found in <code>/etc/default/</code> with a text editor as root and in <code>GRUB_CMDLINE_LINUX_DEFAULT=</code> add <code>mitigations=off</code> at the end. | ||
− | + | Re-generate the grub.cfg using one of these commands as root: | |
− | + | <pre> | |
− | + | grub-mkconfig -o /boot/grub/grub.cfg | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | update-grub # Used by Ubuntu-based distros, easy version of the 1st one. | |
− | + | </pre> | |
− | + | }} | |
− | |||
− | |||
− | + | '''Disable mouse acceleration in Xorg''' | |
− | + | {{ii}} Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME, and later on MATE) | |
− | = | + | {{Fixbox|description=Create a new Xorg rule|fix= |
− | + | Create a config file in '''/etc/X11/xorg.conf.d/''' as '''<code>any number</code>-<code>custom name</code>.conf''' (for example '''50-mouse-acceleration.conf''', keep in mind that it does not accept spaces in names) as superuser/root and add the following script: | |
− | + | <pre> | |
− | + | Section "InputClass" | |
+ | Identifier "My Mouse" | ||
+ | Driver "libinput" | ||
+ | MatchIsPointer "yes" | ||
+ | Option "AccelProfile" "flat" | ||
+ | EndSection | ||
+ | </pre> | ||
+ | Then restart the system or Xorg (In most distros it is {{key|Ctrl}}+{{key|Alt}}+{{key|Backspace ←}}) | ||
+ | }} | ||
− | + | '''Improve shutdown time in systemd''' | |
− | = | + | {{Fixbox|description=Edit the system.conf|fix= |
− | + | 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. | |
+ | # Edit as a root the system.conf file located in <code>/etc/systemd/</code> | ||
+ | # Find '''DefaultTimeoutStartSec''' and '''DefaultTimeoutStopSec''', uncomment them if necessary and set the time limit in seconds. | ||
+ | # Type <code>sudo systemctl daemon-reload</code> | ||
− | + | OR | |
− | + | Install the '''watchdog''' package and enable/run the watchdog service. | |
+ | }} | ||
− | + | '''Resolution scaling with xrandr''' | |
− | + | It is entirely possible to scale the resolution through multiplications (<code>--scale</code>) or by resolution (<code>--scale-from</code>) with <code>xrandr</code> command. Provided that you input the monitor name and your current resolution, which can be learned by using <code>xrandr -q</code> command (It will also list available resolutions). | |
+ | |||
+ | Here are some examples: | ||
+ | * <code>xrandr --output VGA1 --mode 1024x768 --scale 0.5x0.5</code> - this will downscale the resolution by 0.5 while using 1024x768 resolution in VGA1 monitor. | ||
+ | * <code>xrandr --output VGA3 --mode 1920x1080 --scale-from 1440x900</code> - This command will imitate the 1440x900 resolution under 1080p in your VGA3 monitor. | ||
+ | |||
+ | ===Software=== | ||
+ | '''Use Feral Game Mode to improve the performance''' | ||
+ | {{ii}} Most distros include the software in their repository, it is recommended to install both 64 and 32-bit versions to apply in every game, if not, the source code can be found in the [https://github.com/FeralInteractive/gamemode GitHub page]. | ||
+ | {{++}} Supports custom scripts | ||
+ | {{++}} Developers can use it to implement in their games. | ||
+ | Feral Game Mode is used by Feral Interactive to provide optimization in their games (since Rise Of The Tomb Raider) when being run, it provides changes to the following aspects: | ||
+ | * CPU governor | ||
+ | * Input/Output priority | ||
+ | * Process niceness | ||
+ | * Kernel scheduler | ||
+ | * Screensaver inhibiting | ||
+ | * GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia) | ||
+ | |||
+ | Once the package is installed, you can activate it when running other games with <code>gamemoderun *game executable/launcher*</code>, on Steam add <code>gamemoderun %command%</code> into Launch Options. | ||
+ | |||
+ | '''Enable 32-bit support for your distro''' | ||
+ | {{Fixbox|description=Enable 32-bit library support in Ubuntu/Debian based distros||fix= | ||
+ | As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading [[Wine]]). To enable it you must use the following commands: | ||
+ | <pre> | ||
+ | sudo dpkg --add-architecture i386 | ||
+ | sudo apt update | ||
+ | </pre> | ||
+ | |||
+ | {{ii}} In Debian unstable, one can optionally also add support for x32 with <code>sudo dpkg --add-architecture x32</code>, although [[List of Linux games for uncommon architectures|not all that many games support it]]. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | |||
− | |||
− | |||
− | + | '''List missing dependencies''' | |
+ | {{Fixbox|description=List the missing dependencies|fix= | ||
+ | As GOG, Steam, and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or software. | ||
+ | |||
+ | The <code>ldd</code> command can be used to check which dependency it requires and if they are in your system. | ||
+ | <pre> | ||
+ | ldd <binary file> | ||
+ | </pre> | ||
+ | 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 contains the file. | ||
+ | |||
+ | The missing dependency checkup can be even easier with the inclusion of the <code>grep</code> command. | ||
+ | <pre> | ||
+ | ldd <binary_file> | grep "Not found" | ||
+ | </pre> | ||
− | + | This will only look for the lines related to "Not found" - if nothing shows up then you have everything you need. | |
− | + | }} | |
− | + | {{Fixbox|description=Improve compiling speed in AUR (Manjaro, EndeavourOS, Arch Linux)|fix= | |
+ | Open makepkg.conf as root and under '''MAKEFLAGS''' add <code>-j#</code>. Where <code>#</code> is the sum of (number of CPU cores you wish to use) + 1</code> (so if you wish to use 4 cores, you need to put -j5 for example) | ||
+ | {{ii}}Keep in mind that some programs require using one core for stability's sake. | ||
}} | }} | ||
− | = | + | '''Create a script making the game use libraries from your system instead''' |
− | + | {{Fixbox|description=Make a native executable for your game|fix= | |
− | + | {{ii}} This method may improve the game's compatibility and sometimes even the performance on your Linux system. Can be useful in older Linux games that rely on older SDL interfaces such as [[Majesty]]. | |
− | #! /bin/ | + | # Create an empty text file and open it with any text editor. |
− | + | # Add the following script: | |
− | + | <pre> | |
− | </ | + | #!/bin/sh |
− | + | LD_LIBRARY_PATH=/path/to/library /path/to/executable | |
− | + | </pre> | |
− | + | 3. Replace <code>/path/to/library</code> with one of these paths: | |
− | + | * If the game is 64-bit <code>/usr/lib64</code> | |
− | + | * If the game is 32-bit and you are using a 64-bit system <code>/usr/lib32</code> | |
− | + | * If the game is 32-bit <code>/usr/lib</code> | |
− | + | 4. Once done, save it and make it executable using either <code>chmod</code> command or via Properties with your file manager. | |
+ | |||
+ | '''Notes''' | ||
+ | * You are required to learn which libraries the game uses and install them if needed. Each game has its own library folder which may help you learn this. | ||
}} | }} | ||
− | {{Fixbox| | + | |
− | {{Fixbox | + | ==Common fixes== |
− | + | ===Hardware=== | |
− | :# | + | {{Fixbox|description=The Nvidia DKMS driver won't install after updating it|fix= |
+ | {{ii}} If none of them won't work, you may have to downgrade your kernel and wait for the update that fixes it. Provided that you or someone else reported this issue. | ||
+ | '''Text Mode''' | ||
+ | # Boot up to your kernel | ||
+ | # Enter the text mode by pressing {{key|Ctrl}}+{{key|Alt}}+{{key|F2}}-{{key|F10}} and if necessary, stop the display manager. | ||
+ | # Type in as root, <code>dkms install nvidia/<version> --all</code>. If everything is done successfully type <code>reboot</code>. | ||
+ | |||
+ | '''LiveCD/LiveUSB''' | ||
+ | # Boot to the LiveCD/LiveUSB | ||
+ | # Mount your partition(s) using <code>mount /dev/sd<disk and partition</code> and Chroot it with <code>chroot <root partition></code> (In Arch Linux system it's <code>arch-chroot</code> instead). | ||
+ | # Type in <code>dkms install nvidia/<version> --all</code>. Once it's done without any errors, you can restart the system. | ||
+ | }} | ||
+ | |||
+ | {{Fixbox|description=Set up a primary monitor in multi-monitor setup|ref={{cn|date=February 2017}}|fix= | ||
+ | # Install <code>xrandr</code> using your linux distribution's package manager. | ||
+ | # Run <code>xrandr</code> from a terminal emulator and find the name of the monitor you want to set as the primary (i.e. "HDMI-0"). | ||
+ | # Run <code>xrandr --output <name> --primary</code>. | ||
+ | |||
+ | '''Notes''' | ||
+ | {{++}} To automate this when the system starts, prepend the command to your <code>~/.xinitrc</code>-file, or your desktop environment's equivalent. | ||
+ | }} | ||
+ | |||
+ | {{Fixbox|description=No sound|ref={{cn|date=February 2017}}|fix= | ||
+ | Open the Terminal and type as root <code>gpasswd -a <username> audio</code>, if that did not work then: | ||
+ | # Open the <code>group</code> file as root in a text editor located in '''/etc''' folder. | ||
+ | # Find the following line <pre>audio:x:29:pulse</pre> | ||
+ | # Add a comma and your username ex: <pre>audio:x:29:pulse,tux</pre> | ||
}} | }} | ||
− | {{Fixbox| | + | |
− | + | {{Fixbox|description=Crackling sound/audio delay in PulseAudio||fix= | |
− | : | + | Type in the terminal this command to stop and then start PulseAudio at the same time: |
− | + | <pre> | |
− | + | pulseaudio -k && pulseaudio --start | |
+ | </pre> | ||
+ | {{ii}}You can bind this command as a keyboard command in your DE. | ||
}} | }} | ||
− | {{Fixbox| | + | |
− | {{ | + | ===Software=== |
− | + | {{Fixbox|description=Screen tearing|fix= | |
− | + | {{ii}} You may also use GNOME, Cinnamon, and KDE Plasma which use their own compositor that directly communicates with the GPU without any performance loss from the Nvidia side. | |
− | + | Nvidia users can fix the screen tearing by enabling '''Force Composition Pipeline''' in Nvidia Settings, if it persists, enable '''Force Full Composition''' (Keep in mind that it reduces the performance in games even more). | |
− | + | ||
+ | AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension. | ||
+ | |||
+ | If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton, etc. | ||
}} | }} | ||
{{References}} | {{References}} | ||
− | [[Category:Guide | + | <references /> |
+ | |||
+ | [[Category:Guide]] |
Latest revision as of 17:34, 26 November 2023
![]() |
|
Developers | |
---|---|
Linus Torvalds | |
Release dates | |
Linux | September 17, 1991 |
Linux is the open-source Unix-like operating system based around the kernel of the same name created by Linus Torvalds and released on September 17, 1991. As the kernel itself lacks many user-level tools, it is often paired with free and open-source software (FOSS) provided by the GNU Project as well as other popular user-level applications, and packaged as a "distribution" ("distro" for short). As a result of its reliance on tools provided by the GNU Project, the operating system consisting of the kernel and bundled user-level tools is sometimes controversially referred to as GNU/Linux as well. The operating system sees ongoing development and due to its free and open-source nature is often used as the base on which other services or platforms are built on, such as Stadia and Steam Deck.
Users wanting to find a distribution of Linux usually end up following a few general guidelines:
- The strength and weakness of Linux is its freedom of user choice.
- There are no best distros; it all depends on the user's need. Users commonly switch between distros ("distro hopping") until settling on one.
- Always refer to the documentation of the chosen distro in case there is a problem. It's advisable to check the ArchWiki regardless of the distro as it is broadly and succinctly written. In addition, reaching out to the distro's community for support is always an option.
- Use virtual machines to test Linux distributions without replacing the existing operating system on the physical machine.
- To test a distribution installed on a virtual machine on the physical machine itself without replacing the existing operating system or dual booting, a tool called Ventoy can be used to create a bootable vDisk on a USB flash stick.
Key points
- Wide variety of distributions (distros) available, allowing unparalleled user choice and customizability.
- Some native Linux games may perform better or worse when compared to other operating systems.
- Many Windows games can be played on Linux using Proton or Wine.
Resources
- DistroWatch - a page dedicated to Linux distributions
- Linux Journey - a beginner-friendly page about learning Linux in general
- ProtonDB - a crowdsourced database of Proton games compatibility
- Phoronix - a website dedicated to hardware and benchmarking in Linux
- OpenBenchmarking and FlightlessMango - lists of user-made benchmarks in Linux
- ArchWiki and Gentoo Wiki - wikis intended for their respective distro but is useful for others as well
Communities
- Gaming On Linux - a large community dedicated to gaming on Linux
- /r/linux_gaming - Linux gaming subreddit
Distributions
There are two types of release models for Linux distros.
Fixed release
- Offers stable packages.
- Most distros are beginner-friendly.
- Very little maintenance.
- Package versions are usually tied to the distro version, so the OS needs to be updated to get the latest packages.
- Stable packages typically don't have the newest features. This is especially important in the case of GPU drivers.
This issue is alleviated by the fact that the vast majority of user-facing applications are now available as a Flatpak, Snap or and AppImage which allow you to run the latest version of the application regardless of what exact version of underlying OS you have. - Manual intervention is required to add user-made repositories in some distros.
- Updating a distro to the latest version doesn't normally require a fresh install, but can take up to several hours.
- Many Debian-based distros offer "backports" and/or "testing" modes that provide newer versions of some packages than what the stable version does.
Distribution | Based on | Desktop(s) [fr note 1] | Release cycle | Supported by[fr note 2] | Description |
---|---|---|---|---|---|
Ubuntu and Ubuntu flavours | Debian | GNOME, KDE Plasma, LXQt, Budgie, MATE, Xfce, UKUI | 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. Ubuntu non-LTS is updated more often and contains newer packages and functionality. Ubuntu flavours offer different desktop environments with the same compatibility as Ubuntu. |
Pop!_OS | Ubuntu | GNOME | 6 months | same as Ubuntu[fr note 3] | An Ubuntu-based distro created and maintained by System76 which utilizes its own repository. Unlike Ubuntu, it includes much more recent drivers for graphics cards, the installer ships with Nvidia support, and it's generally more recommended for beginners. |
Linux Mint | Ubuntu LTS | Cinnamon, MATE, XFCE | Up to 2 years | same as Ubuntu[fr note 3] | The most popular beginner-friendly Linux distribution. LMDE 2 Edition is based on Debian. Packages may be much older compared to Ubuntu LTS releases. The main advantage of Linux Mint is the built-in kernel upgrader. |
KDE Neon | Ubuntu LTS | KDE Plasma | Up to a year | same as Ubuntu[fr note 3] | A distro created by the KDE community. Compared to Kubuntu (A KDE Plasma-flavoured Ubuntu), it provides the latest version of the KDE Plasma desktop environment, while simultaneously being able to use packages from Ubuntu LTS. |
Fedora and Fedora Spins | Independent | GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR | 6 months | Fedora is a very stable, independent distribution sponsored by Red Hat Enterprise. GNOME is its default desktop environment, but Fedora Spins offer many alternatives. It is as user-friendly as Ubuntu but tends to be more willing to move to new technologies. Spins offer different desktop environments, but when it comes to compatibility, they are the same as Fedora. | |
openSUSE Leap | Independent | GNOME, KDE Plasma, XFCE | 1 year for each new release | Leap uses source from SUSE Linux Enterprise (SLE), which gives it a great level of stability. openSUSE has YaST, which is a user-friendly GUI to install packages, manage the system, and install Nvidia proprietary drivers in a simple way. | |
SteamOS | Arch Linux(starting with version 3.0) Debian(old versions)[1] | KDE Plasma | Varies | Steam | Linux distribution made by Valve Corporation specifically for the Steam Machine or couch gaming. It currently provides the latest stable Linux kernel along with newer GPU drivers and an option to act as a desktop system. It may be behind in terms of package updates.
|
Rolling release
- Provides the latest version of packages as soon as they're released by the upstream developers.
- No distro upgrade procedure is required, as most distros have only one version.
- A package update may cause stability issues, as extensive testing is usually limited.
- No currently-listed rolling release distribution has official support from any digital distribution store, due to the distros' reliance on
.rpm
binaries instead of.deb
. - Some distros offer a semi-rolling release, meaning that packages will be tested before releases.
Distribution | Based On | Desktop(s)[rr note 1] | Description |
---|---|---|---|
Arch Linux | Independent | GNOME, KDE Plasma, XFCE, MATE, Cinnamon, LXDE, LXQT, SUGAR, Deepin, Budgie, UKUI | Arch Linux is a distribution designed for advanced users looking to customize every aspect of their system, building from the ground up rather than the top down. There is a huge number of packages available through the AUR (Arch User Repository). Arch Linux does not have a graphical installer and requires research on the user's part to properly install.
|
Manjaro | Arch Linux | GNOME, KDE Plasma, Xfce | Manjaro is based on Arch Linux and offers a user-friendly experience out of the box. By default, it comes with Nvidia's proprietary drivers, which makes it straightforward to install. It uses the Pamac app to install native, AUR, Flatpak, and Snap packages in a simple way. |
openSUSE Tumbleweed | Independent | GNOME, KDE Plasma, XFCE | A rolling version of openSUSE which uses automated testing to provide more stability than many other rolling releases. When used with BTRFS on a root partition, snapshots are taken before and after updates, allowing easy restores if there is an update breakage. |
Solus | Independent | Budgie, GNOME, MATE, KDE Plasma | Despite following the rolling release model, it provides stable packages and features great hardware compatibility with any GPU. It includes a special tool called Linux Steam Integration (LSI) which allows users to easily customize Steam, ranging from using the libraries from the system (native mode) or a forced 32-bit mode. Only stable releases of library and software are added, with very few exceptions—such as Nvidia's Vulkan beta drivers. |
- ↑ Default options are marked in bold
Desktop environments
By default, Linux is a text/command-line-based operating system. However, the Linux community has created a variety of desktop environments to offer a user-friendly GUI experience. Most include their own basic software for common use cases, such as a file explorer or word processor.
As a rule of thumb, environments with heavy RAM use typically add another 500 MB to the operating system's RAM requirements (which usually range from 500 MB to 4 GB), compared to environments with light RAM use.
Name | RAM use | Description |
---|---|---|
GNOME | Heavy |
One of the oldest desktop environments that is still continuously updated. Offers the most radical departure from the traditional Windows-style paradigm of start-menu-and-a-taskbar. |
KDE Plasma | Heavy |
The first major comprehensive desktop environment released for Linux, which sees regular maintenance and feature updates. Out of the box, it offers a familiar Windows-like experience but also allows nearly limitless ability to customize the functionality and look and feel of the desktop. |
Budgie | Heavy |
Created by a Solus developer and currently maintained by Solus Team. It serves as an alternative to GNOME with a much more desktop-like interface, which bears similarities to modern Windows. |
Cinnamon | Heavy |
Created by the Linux Mint Team, Cinnamon offers an experience that is very similar to Windows 7. |
XFCE | Light |
Starting off as a clone of a Unix-like desktop environment called CDE, it became its own with a Windows XP-like appearance and light memory usage. XFCE is well-suited for low-end hardware and people who like to settle on one user experience and never change it (while still getting the security and maintenance updates). |
MATE | Light |
MATE spawned as a spiritual successor to GNOME 2 after a controversial change in GNOME 3. It is recommended for Windows and Mac users while providing its own feature set such as mouse hover audio previewing. |
LXDE | Light |
LXDE (Lightweight X11 Desktop Environment) is a lightweight and fast, feature-rich desktop environment. It is designed to be user-friendly and slim while keeping resource usage low. LXDE strives to be modular, so each component can be used independently with few dependencies.
|
LXQT | Light |
Despite its limited features (as it is essentially a rewrite of LXDE with a different UI framework) along with the lack of a compositor, it is perfectly suited for the lowest-end hardware. |
Kernel
- Wikipedia page
- It is important to update the Linux kernel as new versions provide security updates, bug fixes, better performance, and support for hardware. A distro's repository contains all the supported versions for that distro.
There are two main releases of the official Linux kernel:
- Long-Term Support (LTS) is slightly behind in terms of hardware support and features but offers better stability and longer support.
- Stable release (sometimes called the current release) offers the best hardware support and the newest features. It should be the default choice for a gaming machine and be avoided only if it causes issues.
Despite these differences, both releases offer the same security updates.
Kernel replacement
- This section is meant for advanced users, you can easily break your OS if you don't know what you are doing!
While both stable and LTS Linux kernel releases can be used for gaming, there are also community-made ones that add features and improvements. These kernels may or may not improve one's gaming experience, and may require DKMS (dynamic kernel module support) versions of drivers and headers to make hardware usable with multiple kernels.
The most notable releases:
- For help with installing different kernels on a distro, consult the kernel's official website or the distro's knowledge base.
- It is advised to keep the current official kernel in case of issues.
- UKUU is a useful utility for swapping kernels on Ubuntu (and Ubuntu derivatives).
Microcode
It is vital to install the microcode for the CPU as the manufacturer provides security and stability updates, although most often your distribution will push those updates directly to you. Most distributions use either a package manager or some kind of firmware/drivers manager to update the microcode.
Hardware
Graphics
- Generally speaking, if you use AMD graphics, you're likely to have a flawless experience as AMD makes open-source drivers available and Linux developers integrate them directly into the kernel.
- Generally speaking, if you use Nvidia graphics, you're likely to have to make some independent efforts to either install or enable Nvidia drivers, as Nvidia does not offer any open-source drivers which makes the distribution maintainers hesitant when it comes to packaging or enabling Nvidia drivers by default.
Nvidia's drivers are also of worse quality than either AMD's own Linux drivers or Nvidia's Windows driver, with features that exist in the Windows drivers missing in the same card's Linux driver. This is entirely Nvidia's choice, and Linux developers and maintainers can do almost nothing to rectify the consequences of Nvidia's behavior.
- ArchWiki's ATI and Catalyst Article
- ArchWiki's AMDGPU/AMDGPU Pro Article
- ArchWiki's Nvidia and Nouveau Article
- ArchWiki's Intel Graphics Article
Brand | Driver type | Kernel driver | Library | Supported GPU | Vulkan support |
---|---|---|---|---|---|
AMD/ATI | Open Source | Radeon | Mesa (GLX and DRI) | GCN 2 and older architecture | No |
AMDGPU | GCN and newer architecture1 | Yes (RadV, AMDVLK) | |||
Proprietary | AMDGPU Pro | GCN and newer architecture | Yes | ||
Fglrx | Catalyst GL Library | GCN 3 and older architecture | No | ||
Nvidia | Open Source | Nouveau | Mesa (GLX and DRI) | Any Nvidia GPU | Yes (NVK for Kepler and up) |
Proprietary | Nvidia | Nvidia GLX | From Kepler based GPUs to recent | Yes | |
Nvidia 390 | Nvidia 390 GLX | From Fermi based GPUs to recent | No | ||
Nvidia 340 | Nvidia 340 GLX | For Tesla based GPUs | |||
Nvidia 304 | Nvidia 304 GLX | From GeForce 6 series to Tesla based GPUs | |||
Nvidia 173 | Nvidia 173 GLX | GeForce 5 FX series (NV30 to NV36) | |||
Nvidia 96 | Nvidia 96 GLX | From GeForce 2/3/4 MX/Ti | |||
Intel | Open Source | Xorg Intel2 | Mesa (GLX and DRI) | Any Intel HD Graphics GPU | Yes (ANV for Gen9 and up, HASKV Gen7/Gen8) |
Xorg modesetting | |||||
VIA/S3 | Open Source | OpenChrome | Mesa (GLX and DRI) | Unichrome series, Chrome9 2D only | No |
Proprietary | VIA Unified GFX | Chrome9 | No | ||
3DFX | Open Source | tdfx | MesaGL | Voodoo3 and up, Voodoo 1 & 2 2D only | No |
ARM | Open Source | Panfrost | Mesa (GLX and DRI) | Mali Midgard, Bifrost and Valhall | Yes (PanVK) |
Qualcomm | Open Source | Freedreno | Mesa (GLX and DRI) | Adreno A2xx-A7xx | Yes (Turnip) |
Broadcom | Open Source | V3D | Mesa (GLX and DRI) | VideoCore 5 on Raspberry Pi 4 | Yes |
Imagination Technologies | Open Source | pvrsrvkm | Mesa (GLX and DRI) | PowerVR Rogue | Yes |
1 - GCN 1 and 2 architecture support in AMDGPU is experimental.
2 - Do not use it on Intel HD 4000 series and newer GPU.
Generally, AMD/ATI users should use the open source driver as it provides the best performance and support compared to the proprietary ones, while Nvidia users should stick to the proprietary ones. There are some things to remember:
- Try not to install drivers from the GPU manufacturer's website unless forced to, as distro maintainers package the driver to be offered from the package manager.
- If forced to use Catalyst, Nvidia 173, or Nvidia 96 drivers, one must downgrade Xorg to the last supported version.
- Before using the open-source driver one must install LLVM and Linux Firmware packages.
Installing drivers
Ubuntu (and Ubuntu-derived distros such as Mint, Pop!_OS, and 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. |
Fedora
To install Nvidia drivers on Fedora, it is usually sufficient to install the latest Nvidia drivers from the software center. Simply search for Nvidia and install the driver with the highest version number.
If you have a more complex setup, such as an Optimus laptop, or the above instructions do not work for you, you can also use 'NVIDIA Auto Installer for Fedora Linux'. It is a set of scripts that can handle both normal installs and more advanced configurations.
To use it, execute the following in the terminal:
sudo dnf install dnf-plugins-core -y && sudo dnf copr enable t0xic0der/nvidia-auto-installer-for-fedora -y && sudo dnf install nvautoinstall -y
Once installed, type in nvautoinstall
into your terminal. The program will show you the options you can use.
The most basic installation is performed by issuing the following command:
sudo nvautoinstall rpmadd && sudo nvautoinstall drive
.
To install support for Vulkan API (will be functional only if you have a Vulkan-capable GPU and driver), execute the following command sudo dnf install vulkan-loader vulkan-loader.i686
Instructions |
---|
|
If you used nvautoinstall above, you can also install Vulkan API via sudo nvautoinstall vulkan
.
openSUSE
Please refer to the openSUSE User Documentation Project for instructions.
Optimus support
- Nvidia Optimus Linux guide
- Optimus support in Nvidia GPUs is still considered to be troublesome.
In the case of laptops that have Nvidia Optimus support, it is recommended to have PRIME enabled, which can be done by installing an additional package. Follow the distro’s documentation to set this up.
AMD users only require running the game with the DRI_PRIME=1
command.
Audio
Linux has several sound systems available. The most common one is PulseAudio, but a new system called PipeWire is looking to supersede and consolidate all previous systems into one. For most games, PulseAudio will work.
In the case of MIDI, installing the Timidity or Fluidsynth package is required along with either a SoundFont or the FreePats package. Depending on the distro, it will either be set up automatically or require manual intervention.
Input devices
- Libinput ArchWiki article
- Touchpad ArchWiki article
- Keyboard Configuration in Xorg ArchWiki article
- Touchscreen ArchWiki article
Linux supports a vast array of input devices, including legacy hardware. Many programs exist for gaming peripherals in case further customization is needed.
General
- Piper - Configure gaming mice
There are some other ones made for products from specific companies:
Razer
- OpenRazer - Open-source driver for Razer peripherals
- Polychromatic - Frontend for OpenRazer
- RazerGenie - Configurator for Razer mice, keyboards, headsets, and more
- RazerCommander - Razer device manager
- RazerCFG - A much more simplified configurator for Razer products
Roccat
- Roccat Configurator - An official configurator for Roccat products
Controller support
All DirectInput and XInput controllers are supported. In case of issues with XInput controllers, it is recommended to install xboxdrv.
If dealing with a game that has very limited or no controller support at all, the AntiMicroX program offers a solution. It allows the user to bind keyboard and mouse inputs to the controller. However, it currently only works with Xorg.
Additionally, a user can use Steam Input in the Steam app to configure their controller.
Other
Disk partitioning
- ext4 is the default file system used by most Linux distributions.
- While the file system used on Windows, NTFS, is supported, it is generally not recommended to use as it may cause compatibility issues.
The most important aspect of disk partitioning is often the swap partition; it generally acts as RAM replacement. The absence of it will cause software to shut down due to low memory, and it is also used to offload memory from RAM when entering power-saving modes such as Hibernation or Sleep. The size of the swap disk depends on how much RAM is available in the computer; if less than 8 GB of RAM, increase the swap disk, or if more than 8 GB of RAM, decrease the swap disk.
It is generally recommended to partition disks in this particular order:
- / (Root)
- Home
- Swap disk
A user can create multiple partitions for each directory with a specific disk size to use or use the entire free space on Root and leave some for swap.
Display server
- Wayland is newer than Xorg and is considered to be technically superior.
- Wayland is not supported by older proprietary games.
Linux utilizes a display server system in order to present a graphical environment with which the user can interface. The two prominent ones are Wayland and Xorg.
While Wayland offers more a modern and secure backend, Xorg has legacy support and will generally be more compatible than Wayland. In addition, Wayland is still in active development and is missing features that would provide a gaming experience in parity with Xorg.
Benchmarking
Benchmarking in Linux can be achieved with the Phoronix Test Suite. It is easy to use despite not offering a user-friendly GUI. The biggest advantage is it saves the information as a webpage, making comparing tests much easier.
Steam users can use Valve's voglpref, which requires Steam.
PCI passthrough
Since Linux 3.9 and recent QEmu versions, it is possible to passthrough a graphics card, motherboard, or even other hardware into a virtual machine. The main advantage of it is having a native GPU working on Windows in a virtual machine, which allows you to play Windows games on it while using Linux.
There are some disadvantages:
- A second GPU for PCI passthrough is required
- GPU must support UEFI
- CPU must support hardware virtualization and IOMMU
- Motherboard must support IOMMU
- It is not an easy process for beginners
Stores and clients
Name | Client available | Registers Linux sales? | Notes |
---|---|---|---|
Steam | Yes | Yes |
|
Humble Bundle | No | Yes |
|
GOG.com | No | Yes |
|
Itch.io | Yes (Optional) | Yes | None |
Feral Store | No | Yes |
|
Game Jolt | Yes (Optional) | Unknown | |
Flathub | No | No |
|
Snap Store | Yes (Optional) | No | |
ZOOM Platform | No | Unknown |
|
Improvements
Hardware
Disable mitigations for transient execution CPU vulnerabilities
- Be aware that disabling these will cause your PC to be susceptible to multiple vulnerabilities such as Spectre, Meltdown, ZombieLoad, etc. Use it with discretion.
- Outside of specific microbenchmarks, disabling the default mitigations should result in an average performance increase of 5-10%. The following parameter used here is available only in 5.1.13 kernel or newer (or backports to 3.16.68, 4.4.180, 4.9.176, 4.14.119, and 4.19.43), for others see this parameters string.
Edit the GRUB settings |
---|
Open up the Re-generate the grub.cfg using one of these commands as root: grub-mkconfig -o /boot/grub/grub.cfg update-grub # Used by Ubuntu-based distros, easy version of the 1st one. |
Disable mouse acceleration in Xorg
- Some desktop environments offer an option to set up the mouse acceleration directly from the settings menu (Such as KDE Plasma, GNOME, and later on MATE)
Create a new Xorg rule |
---|
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 is 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 the 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
Use Feral Game Mode to improve the performance
- Most distros include the software in their repository, it is recommended to install both 64 and 32-bit versions to apply in every game, if not, the source code can be found in the GitHub page.
- Supports custom scripts
- Developers can use it to implement in their games.
Feral Game Mode is used by Feral Interactive to provide optimization in their games (since Rise Of The Tomb Raider) when being run, it provides changes to the following aspects:
- CPU governor
- Input/Output priority
- Process niceness
- Kernel scheduler
- Screensaver inhibiting
- GPU performance mode (Nvidia and AMD), GPU overclocking (Nvidia)
Once the package is installed, you can activate it when running other games with gamemoderun *game executable/launcher*
, on Steam add gamemoderun %command%
into Launch Options.
Enable 32-bit support for your distro
Enable 32-bit library support in Ubuntu/Debian based distros |
---|
As Ubuntu/Debian 64-bit distros have 32-bit libraries disabled by default, this can cause compatibility issues with the software (Especially with upgrading Wine). To enable it you must use the following commands: sudo dpkg --add-architecture i386 sudo apt update
|
List missing dependencies
List the missing dependencies |
---|
As GOG, Steam, and other stores mostly support Ubuntu due to its popularity in both making another distribution (Such as Linux Mint) or wide use, there can be limited support for the other distros such as Arch Linux, Fedora, etc. Mostly in terms of requiring dependencies to run the game or 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 contains 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" - if nothing shows up then you have everything you need. |
Improve compiling speed in AUR (Manjaro, EndeavourOS, Arch Linux) |
---|
Open makepkg.conf as root and under MAKEFLAGS add
|
Create a script making the game use libraries from your system instead
Make a native executable for your game |
---|
#!/bin/sh LD_LIBRARY_PATH=/path/to/library /path/to/executable 3. Replace
4. 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
|
Crackling sound/audio delay in PulseAudio |
---|
Type in the terminal this command to stop and then start PulseAudio at the same time: pulseaudio -k && pulseaudio --start
|
Software
Screen tearing |
---|
Nvidia users can fix the screen tearing by enabling Force Composition Pipeline in Nvidia Settings, if it persists, enable Force Full Composition (Keep in mind that it reduces the performance in games even more). AMD and Intel HD users do not have to do anything as DRI3 handles the refresh rate by default without compromising the performance, provided the compositor contains the Present extension. If it persists, chances are you may be required to install and use a 3rd party compositor such as Compiz, Compton, etc. |
References
- ↑ Debian releases - last accessed on 2021-06-26