Contents

Proton Troubleshooting

NTFS filesystem

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.

Info
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.
Tip
​ 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

How to verify Proton installation

Check if Proton is downloaded, and extracted properly by Steam by following these steps:

  1. Click the Games menu, and tick TOOLS
How to fix Proton picture1

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)

  1. Right click on any Proton version, and pick Properties
How to fix Proton picture2
  1. Press Verify integrity of game files.. to check if the compressed file is downloaded successfully
How to fix Proton picture3
  1. Now click Browse…
  2. 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.
How to fix Proton picture4

How to install Proton

If Proton is not installed, you can install it by following these steps:

  1. Click the Games menu, and tick TOOLS
How to install Proton picture1
  1. Type proton in the search box
  2. Choose the version you want to install
  3. Click Install
How to install Proton picture2

Graphic drivers

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)


Troubleshooting Windows games that do not run under Proton

  1. Try Proton launch options

  2. Try a different version of Proton

  3. Use Protontricks


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

Usage
launch_option %command%
Launch option Function Description
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. For example: $HOME/steam-368370.log
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 (It is enabled by default).
Tip
You can combine different launch options, but don’t use %command% at the end of each launch option. You can only use it once.
Example

If you want to turn off Esync, Fsync, and DXVK, you can combine all of them like this:

1
PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 PROTON_USE_WINED3D=1 %command%

How to set Proton launch options

  1. Right click on the game you want to set Proton launch options for, then pick Properties.
How to set Proton launch options on Steam picture1
  1. Under LAUNCH OPTIONS write your launch options.
How to set Proton launch options on Steam picture2

Using Windows commandline arguments

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:

1
%command% -dxlevel 90
Info
More information can be found in this link » https://support.steampowered.com/kb_article.php?ref=1040-JWMT-2947

How to change the version of Proton

  1. Right click on the game you want to change the version of Proton for, then pick Properties.
How to change the version of Proton picture1
  1. 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.
How to change the version of Proton picture2

The unsupported Windows games

  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.

    Info
    Another popular cheat engine, Battleye does not support Proton / Wine. Check their website to get a list of the games that uses Battleye » https://www.battleye.com
  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 some of these 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

    Info
    All information about this website can be found in this tutorial » [Link]

Running the game from the terminal

You can run Steam game by its appid like this:

Open the terminal, and type a command like this:

1
steam steam://rungameid/648390
Tip
648390 is the appid of the game, more info can be found in this link » [link]

More tutorials about Proton

If you have any questions, write it down below, or you can contact me directly by my E-mail account.

If you want to get notified when we post a new content by adding our RSS feed to your feed list, or by joining our Telegram channel.