proton.md 2.4 KB

proton

Steam began providing direct linux support for gaming.

In the process they forked Wine and began adding, and back-porting, significant improvements.

Most importantly, the project is open source!

Glorious Eggroll

This person has created an excellent fork of proton, allowing custom modifications and patches specific to popular games.

You should almost always favor GE builds.

protondb

A third party website for people to add, review, and provide supplemental instructions for games they've played or that have not worked.

Basically the answer to winehq.

non-steam games

You can add and run non-steam games using steam and set them up to run with proton!

This process is a bit convoluted:

  1. Create a directory inside ~/.local/share/Steam/steamapps/common for your game to be installed in.
  2. Add an executable (eg. the installer) to that directory.
  3. Add a game in steam, specify the proton version, and then select that installer to run it.
  4. During the installation set the path to be the ~/.local/share/Steam/steamapps/common directory you setup for the game; during installation this will also create a high numbered directory in ~/.local/share/Steam/steamapps/compatdata, which will change anytime you modify the target of the steam app.
  5. Change the executable to the correct one after the installer is complete (this will rename the game in steams library).
  6. You can add an icon to the application if you have one.

These instructions need some work due to how the proton/winepath directory creation works.

launch options

Under Set Launch Options you can add various environment variables and common flags to improve performance.

A good standard string is:

DXVK_HUD=fps PROTON_USE_VKD3D=1 %command% -USEALLAVAILABLECORES -high -vulkan

The DXVK_HUD option lets you add an entire graph or just the FPS to any game that uses DXVK.

The PROTON_USE_VKD3D enables DX12 in games that support it.

The %command% is required if you add anything, and is the command that will run the executable.

The flags -USEALLAVAILABLECORES, -high, and -vulkan, are randomly supported by various games, and thus your mileage may vary.

Another option is to use PROTON_USE_WINED3D=1, which suggests using OpenGL instead of DXVK for DX10/DX11 games, which may provide better performance in select cases.