Published on Dec 30, 2020 by: Ahmed Elsayed
Updated on Mar 15, 2021
This part provides some tips that can help you with games that do not launch under Proton
 If your games are installed on a partition formatted by NTFS filesystem, you need to move them to another partition that is formatted by any Linux filesystem like: EXT4, BTRFS, XFS, or F2FS.
Linux filesystems support symlink, and different naming system that is not supported on any Windows filesystems. Also, you can not check, and repair NTFS filesystem on Linux the same way you can do it on Windows, so if you dual-boot between Windows, and Linux, you better use BTRFS filesystem, and install WinBtrfs on Windows, WinBtrfs is an open-source btrfs driver for Windows that can be downloaded from this link https://github.com/maharmstone/btrfs/releases
 Check if Proton is downloaded, and extracted properly by Steam by following these steps:
1. Click the Games menu, and tick TOOLS
Now, it is supposed to have 4 different of Proton: Proton 4.2, Proton 4.11, Proton 5.0, and Proton 5.13 (I do not have Proton 5.13 apparently)
2. Right click on any Proton version, and pick Properties
3. Press Verify integrity of game files.. to check if the compressed file is downloaded successfuly
4. Now click Browse...
5. check to see if there is a folder with the name dist. If you did not find that folder, create it, and extract proton_dist.tar contents inside that folder.
If Proton is not installed, you can install it by following these steps:
(1) Click the Games menu, and tick TOOLS
(2) Type proton in the search box
(3) Choose the version you want to install
(4) Click Install
 Check if Graphic drivers are installed, and check if Vulkan is installed as well (I will make a separate tutorial for that).
If you own RadeonSI GPU, you need to to enable Vulkan support manually (I will make a separate tutorial for that)
(1) Try Proton launch options
(2) Try a different version of Proton
(3) Use Protontricks
What is Proton launch options
Proton launch options are environment variables that can be used to change the options of Proton, and it can be used with each game individually (they can not be used with all games at once).
List of important Proton launch options
|PROTON_USE_WINED3D=1 %command%||Use WINED3D instead of DXVK||WINED3D is a compatibility layer inside WINE that runs D3D9, D3D10, and D3D11 through OpenGL.|
|PROTON_NO_ESYNC=1 %command%||Turn off Esync||Esync can enhance the performance of multithreaded games. Esync relies on the kernel's eventfd() functionality, and it needs special setup on some Linux distributions, and can cause file descriptor exhaustion problems in event-hungry applications.|
|PROTON_NO_FSYNC=1 %command%||Turn off Fsync||Fsync is a replacement to Esync. Fsync relies on the kernel's futex() system call to support optimal thread pool synchronization. It is not officially supported on the Linux kernel, but a newer version of Fsync will reach Linux 5.11 in the near future.|
|PROTON_NO_D3D11=1 %command%||Disable D3D11||Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9.|
|PROTON_NO_D3D10=1 %command%||Disable D3D10||Disable d3d10.dll and dxgi.dll, for d3d10 games which can fall back to and run better with d3d9.|
|PROTON_HIDE_NVIDIA_GPU=1 %command%||Force Nvidia GPUs to always be reported as AMD GPUs||Some games require this if they depend on Windows-only Nvidia driver functionality.|
|PROTON_LOG=1 %command%||Create log file for the game||The log file will be created in your home folder with the name scheme steam-$STEAMID.log
SteamID is the unique number Steam gives for each game.
|DRI_PRIME=1 %command%||Use dedicated AMD GPU||This command is needed when you use a laptop with a dedicated AMD GPU, and you want to open an OpenGL game, or when you use WineD3D instead of DXVK, because WineD3D render the game through OpenGL, and OpenGL games be run using iGPU by default.|
|__NV_PRIME_RENDER_OFFLOAD=1 %command%||Use dedicated Nvidia GPU (Vulkan)||This command is needed when you use a laptop with a dedicated Nvidia GPU, and you want to open a Vulkan game, or a game running through DXVK.|
|__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%||Use dedicated Nvidia GPU (OpenGL)||This command is needed when you use a laptop with a dedicated Nvidia GPU, and you want to open an OpenGL game, or when you use WineD3D instead of DXVK, because WineD3D render the game through OpenGL, and OpenGL games be run using iGPU by default.|
|VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay %command%||Display Mesa HUD (Vulkan)||Mesa HUD displays GPU name, driver version, FPS, and frametime (This HUD only works only with Vulkan games and games running through DXVK, and it only works with AMD and Intel GPUs).|
|DXVK_HUD=fps %command%||Display DXVK HUD||DXVK HUD displays many useful information like fps, framtimes, GPU load, and VRAM. For more information follow this link >> https://github.com/doitsujin/dxvk|
|mangohud %command%||Display MangoHud||MangoHud is a Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more (You need to install MangoHud first before using it). For more information follow this link >> https://github.com/flightlessmango/MangoHud|
|MANGOHUD_DLSYM=1 mangohud %command%||Display MangoHUD for OpenGL games||You need to add MANGOHUD_DLSYM=1 to mangohud command for some OpenGL games that may also need dlsym hooking (most of them need it).|
|ENABLE_VKBASALT=1 %command%||Enable vkBasalt||vkBasalt is a vulkan post processing layer for linux. It is similar to ReShade (You need to install vkBasalt first before using it). For more information follow this link >> https://github.com/DadSchoorse/vkBasalt|
|gamemoderun %command%||Enable GameMode||GameMode optimises Linux system performance on demand. It is made by Feral Interactive which ports native games for Linux and MacOS. (You need to install GameMode first before using it). For more information follow this link >> https://github.com/FeralInteractive/gamemode|
|PROTON_FORCE_LARGE_ADDRESS_AWARE %command%||Enable the LARGE_ADDRESS_AWARE flag||This environment variable can prevent 32bit games running through dxvk from crashing after reaching 4gb of RAM (Enabled by default).|
You can combine different launch options, but don't write %command% at the end of each launch option. You can only use it once.
If you want to turn off Esync, and Fsync, and DXVK, you can use all of them like this:
PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 PROTON_USE_WINED3D=1 %command%
1- Right click on the game you want to set Proton launch options for, then pick Properties.
2- Under LAUNCH OPTIONS write your launch options.
You can use Windows command-line arguments the same way you set launch options.
The Windows version of Portal may use DirectX 8 by default, and to force the use of DirectX 9, you have to add this argument: -dxlevel 90 to be like this:
%command% -dxlevel 90
More info can be found in this link https://support.steampowered.com/kb_article.php?ref=1040-JWMT-2947
1- Right click on the game you want to change the version of Proton for, then pick Properties.
2- Choose COMPATIBILITY (1)
Tick Force the use of a specific Steam Play compatibility tool (2), then pick the version of Proton you want to use from the list (3), and close this window.
(1) Windows games that use Easy Anti Cheat (EAC) will not allow you to join, or you may get a ban for running these games using Proton / WINE
Here is a list of these games https://www.easy.ac/en-us/partners/
A few of these games are ported to Linux, and EAC works natively on Linux without any issues.
There are a work in progress from Collabora to support EAC that is going to reach Linux kernel 5.11 which has not released yet (I am not sure about that though).
(2) Windows games that requires Microsoft Media Foundation (MF) to play intro videos, cut-scenes, and credits.
MF is a little problematic to support under Proton, but there is unofficial Proton releases that can run theses gamse, these unofficial Proton releases are called Proton GE
Here is a list of the games that requires Microsoft Media Foundation which is supported by Proton-GE: https://github.com/GloriousEggroll/proton-ge-custom#media-foundation-fixes-fully-working-or-playable
(3) There are other Windows games that do not work at all under Proton, or requires some tinkering to work, you can get these kind of information by visiting this website https://www.protondb.com
All information about this website can be found in this tutorial [Link]
You can run Steam game by its appid like this:
Open the terminal, and type a command:
648390 is the appid of the game, more info can be found in this link [link]