Table of Contents
Ubuntu Desktop - Gaming
Video Drivers
Enable 32-bit libraries
sudo dpkg --add-architecture i386
AMD Mesa Driver Install
sudo add-apt-repository ppa:kisak/kisak-mesa -y sudo apt update sudo apt install libgl1-mesa-dri:i386 mesa-vulkan-drivers mesa-vulkan-drivers:i386 -y
NOTE: Did you run into an error?
Make sure you are running Ubuntu 20, Linux Mint 20, or Pop OS 20! - Older versions are not recommended.
Nvidia Proprietary Driver Install
sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update sudo apt install nvidia-driver-450 libnvidia-gl-450 libnvidia-gl-450:i386 libvulkan1 libvulkan1:i386 -y
NOTE: Not working?
Are you using a recent nVidia card?
I recommend at least GTX 900 Series or Above!
Arch Based Distributions
Enable Multilib for 32- bit support in /etc/pacman.conf.
NOTE: You can remove the # to enable multilib shown below.
- /etc/pacman.conf
[multilib] Include = /etc/pacman.d/mirrorlist
sudo pacman -S lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader -y
Install a Custom Linux Kernel
Xanmod (Debian-based Only)
Official Site: https://xanmod.org
echo 'deb http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-kernel.list && wget -qO - https://dl.xanmod.org/gpg.key | sudo apt-key add - sudo apt update && sudo apt install linux-xanmod -y
Liquorix (Debian-based Only)
Official Site: https://liquorix.net
Debian Prerequisites (No PPA)
codename="$(find /etc/apt -type f -name '*.list' | xargs grep -E '^deb' | awk '{print $3}' | grep -Eo '^[a-z]+' | sort | uniq -c | sort -n | tail -n1 | grep -Eo '[a-z]+$')" && sudo apt-get install apt-transport-https curl && echo -e "deb http://liquorix.net/debian $codename main\ndeb-src http://liquorix.net/debian $codename main\n\n# Mirrors:\n#\n# Unit193 - France\n# deb http://mirror.unit193.net/liquorix $codename main\n# deb-src http://mirror.unit193.net/liquorix $codename main" | sudo tee /etc/apt/sources.list.d/liquorix.list && curl 'https://liquorix.net/linux-liquorix.pub' | sudo apt-key add - && sudo apt-get update -y
Ubuntu based Prerequisites (PPA):
sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update -y
64-bit Install:
sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y
Zen (Arch-based Only)
Built into Arch Linux and part of the official pacman repositories.
This does a lot of the same tweaks as Liquorix but for Arch based distributions.
pacman -S linux-zen -y
Mainline (Debian Bleeding Edge)
Source Project: https://github.com/pimlie/ubuntu-mainline-kernel.sh
This will update a debian stable release to the latest official kernel.
Installation
apt install wget -y wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh chmod +x ubuntu-mainline-kernel.sh sudo mv ubuntu-mainline-kernel.sh /usr/local/bin/
Usage
From terminal type any of the following commands:
ubuntu-mainline-kernel.sh -c # Check if Newer Kernel available ubuntu-mainline-kernel.sh -i # Install latest kernel ubuntu-mainline-kernel.sh -l # List locally installed kernels ubuntu-mainline-kernel.sh -u # Uninstall mainline kernel
ACO - Faster Compiling (AMD Only)
This changes the compiling from LLVM to ACO which is considerably faster.
See
You do need up-to-date drivers mesa 20+ and edit /etc/environment.
Add this to /etc/environment
- /etc/environment
RADV_PERFTEST=aco
Wine Dependancies and Lutris
There are several packages that wine, proton and lutris game installs need.
It is recommended installing all the dependancies before installing lutris.
Ubuntu/Mint/Pop OS! 20
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main' -y sudo add-apt-repository ppa:lutris-team/lutris -y sudo apt update sudo apt-get install --install-recommends winehq-staging -y sudo apt-get install libgnutls30:i386 libldap-2.4-2:i386 libgpg-error0:i386 libxml2:i386 libasound2-plugins:i386 libsdl2-2.0-0:i386 libfreetype6:i386 libdbus-1-3:i386 libsqlite3-0:i386 -y sudo apt-get install lutris -y
Arch-Based Distros
sudo pacman -S wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader lutris -y
ESync - Helps Game Overhead
Check to see if esync is enabled already (most distributions do by default)
ulimit -Hn
If this returns more than 500,000 than ESYNC IS ENABLED! If not, proceed with these instructions:
Change the following files and add this line to the bottom
/etc/systemd/system.conf & /etc/systemd/user.conf
- /etc/systemd/system.conf
DefaultLimitNOFILE=524288
- /etc/systemd/user.conf
DefaultLimitNOFILE=524288
/etc/security/limits.conf
- /etc/security/limits.conf
username hard nofile 524288
IMPORTANT: Change username to your username!!!
GameMode - No CPU Throttling
GitHub Source Project: https://github.com/FeralInteractive/gamemode
Ubuntu/Debian Dependencies
apt install meson libsystemd-dev pkg-config ninja-build git libdbus-1-dev libinih-dev dbus-user-session -y
Arch Dependencies
pacman -S meson systemd git dbus -y
Build and Install GameMode
git clone https://github.com/FeralInteractive/gamemode.git cd gamemode git checkout 1.5.1 # omit to build the master branch ./bootstrap.sh
Uninstall GameMode
systemctl --user stop gamemoded.service ninja uninstall -C builddir
GameMode Usage
There are multiple ways to Use GameMode
- Lutris - Under settings you can enable GameMode for all games you launch
- Steam - Go to Launch options for the game of choice and type in
gamemoderun %command%
- Terminal - type
gamemoderun ./game
- Gnome Tool - If you use GNOME Desktop Environment install this extension: https://extensions.gnome.org/extension/1852/gamemode/
Custom Proton
The stock steam proton is rather old and behind the Wine team.
Which means there are a lot of performance tweaks and improvements that you aren’t getting yet.
It is therefore recommended that you install Custom proton which should provide a considerable improvement when gaming in Steam.
NOTE: DO NOT USE STEAM IN A FLATPAK! You will lose some performance and modifications are more difficult!
Source Project: https://github.com/GloriousEggroll/proton-ge-custom#manual
Auto-Install Project: https://github.com/Termuellinator/ProtonUpdater
For Installation, we will use the ProtonUpdater script on GitHub.
cd ~ wget https://raw.githubusercontent.com/Termuellinator/ProtonUpdater/master/cproton.sh sudo chmod +x cproton.sh ./cproton.sh