A module for applying fixes at runtime to unsupported games with Steam Proton without changing game installation files
Branch: master
Clone or download
Lucki and simons-public Add fix for Crashday Redline Edition (508980) (#70)
To avoid a black screen at startup set `FSAA `to `0` in `graphics.config`.

https://www.protondb.com/app/508980
Latest commit cfa4605 Dec 29, 2018

README.md

protonfixes

Build Status

Screenshot

- There is an issue installing MSI files in Proton 3.16-3. If you are using 
- Proton 3.16, please upgrade to a newer version.
- On Proton 3.16 some games may treat the XBox and Steam Controller trigger 
- axis as a joystick input causing controls to drift upwards and to the 
- left (this can be observed by running '/tmp/proton_$USER/run control' and 
- looking at the Test Joystick tab under Game Controllers.

A module for applying fixes at runtime to unsupported games with Steam Proton without changing game installation files. The idea is to include seperate fixes that are only loaded when a game matching that ID is run. This should keep the individual game fixes from affecting any other games. Applying the fixes at runtime should also them to persist after game updates.

A list of current fixes, guide for writing game fixes, and details on game fix utilities can be found on the Wiki. Sources for gamefixes can be found in the protonfixes/gamefixes directory.


Installation

Optional Requirements

Winetricks

If you want to be able to use fixes with winetricks it must be installed and be in your $PATH. Fixes that do not use winetricks will still work without winetricks being installed.

Winetricks can take a long time to run

Wine

If you want to use a win32 (32bit) prefix, you need to have wine installed and be in your $PATH. Currently creating a 32bit prefix with Proton wine doesn't work because the wineserver is already running by the time user_settings.py is loaded.

Progress Dialog / Splashscreen

If Steam is in big picture mode, protonfixes will try to launch a similarly themed splash dialog using cefpython (pictured above). Otherwise it will try to use zenity to display a progress bar. If Steam is not in big picture mode, it will default to zenity. The progress bar or splashscreen can help let you know that protonfixes is running a long task, for example installing dotnet35.

For the progress dialog to work, you need to have zenity installed on your system, the steam-runtime version is broken. It can probably be installed using your distro's package manager.

For the big screen splashscreen to work, you need to have cefpython3 installed. It can be installed with pip using sudo pip install cefpython3.

Install from PIP

Make sure to use the version of pip that matches the version of Python that Proton is running. Proton should be running on python3. If you are unsure, try installing with both pip3 and pip2 in the below commands.

# sudo pip3 install protonfixes

To install the latest version from Github:

# sudo pip3 install git+https://github.com/simons-public/protonfixes@master

Upgrade from PIP

To upgrade to the latest version on Pypi:

# sudo pip3 install protonfixes --upgrade

To upgrade to the latest version on Github:

# sudo pip3 install --upgrade git+https://github.com/simons-public/protonfixes@master

Install using setuptools

# sudo python3 setup.py install

Add to user_settings.py

In the steamapps/common/Proton* directory, add the following line to the bottom of the user_settings.py file:

import protonfixes

If there is no user_settings.py file, make a copy of the user_settings.sample.py file included with Proton.


Contributing

Pull requests are welcome! If you're not comfortable doing pull requests, send your fixes to me by any other means and you will be credited in the comments.