====== Ubuntu Desktop - Gaming ====== [[Ubuntu Desktop:Gaming:Mame|Mame]] ---- ===== 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. [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 * https://youtu.be/6T_-HMkgxt0 * https://youtu.be/fm_mzPBnWB0 You do need up-to-date drivers mesa 20+ and edit /etc/environment. Add this to /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 DefaultLimitNOFILE=524288 DefaultLimitNOFILE=524288 /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 ---- ===== References ===== https://christitus.com/ultimate-linux-gaming-guide/ https://www.reddit.com/r/linux_gaming/