All Projects → simons-public → Protonfixes

simons-public / Protonfixes

Licence: other
A module for applying fixes at runtime to unsupported games with Steam Proton without changing game installation files

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Protonfixes

Steamcmd Commands List
SteamCMD Commands List
Stars: ✭ 122 (-26.95%)
Mutual labels:  steam
Csgowinbig
Open-source Counter-Strike: Global Offensive jackpot betting website.
Stars: ✭ 149 (-10.78%)
Mutual labels:  steam
Authenticatorpro
📱 Two-Factor Authentication (2FA) client for Android + Wear OS
Stars: ✭ 155 (-7.19%)
Mutual labels:  steam
Dota2
🐸 Python package for interacting with Dota 2 Game Coordinator
Stars: ✭ 129 (-22.75%)
Mutual labels:  steam
Oddish
To crawl all csgo skins from website.
Stars: ✭ 139 (-16.77%)
Mutual labels:  steam
Sourcedemorender
Multithreaded, hardware accelerated solution to create high quality movies for the Source engine.
Stars: ✭ 152 (-8.98%)
Mutual labels:  steam
Tmodloader
A mod to make and play Terraria mods. Supports Terraria 1.4 installations - TML itself is 1.3 Terraria currently
Stars: ✭ 2,130 (+1175.45%)
Mutual labels:  steam
Saliengame idler
A Javascript Idler for the 2018 Steam Summer 'Salien' Minigame
Stars: ✭ 165 (-1.2%)
Mutual labels:  steam
Steamkit
SteamKit2 is a .NET library designed to interoperate with Valve's Steam network. It aims to provide a simple, yet extensible, interface to perform various actions on the network.
Stars: ✭ 1,926 (+1053.29%)
Mutual labels:  steam
Node Steam Totp
Lightweight module to generate Steam-style TOTP auth codes.
Stars: ✭ 158 (-5.39%)
Mutual labels:  steam
Proton Caller
Run any Windows program through Proton
Stars: ✭ 130 (-22.16%)
Mutual labels:  steam
Remoteplaywhatever
Tiny application that lets you force remote play together any game you have in your steam library including non-steam ones.
Stars: ✭ 138 (-17.37%)
Mutual labels:  steam
Picodeploy
Deploy Pico-8 Carts as Standalone Applications on Desktop 🖥️(Electron) and Mobile 📱(Ionic) 📦👾
Stars: ✭ 153 (-8.38%)
Mutual labels:  steam
Bitlbee Steam
Steam protocol plugin for BitlBee
Stars: ✭ 122 (-26.95%)
Mutual labels:  steam
Steamwebapi2
🎮 C# / .NET library that makes it easy to use the Steam Web API. It conveniently wraps around all of the JSON data and ugly API details with clean methods, structures and classes.
Stars: ✭ 159 (-4.79%)
Mutual labels:  steam
Node Csgo Web Tradebot
Web based CS:GO trade bot. Similar to CSGOSell.
Stars: ✭ 120 (-28.14%)
Mutual labels:  steam
Cloudrig
Stream your applications with Parsec and AWS on the cheap.
Stars: ✭ 151 (-9.58%)
Mutual labels:  steam
Giveawayhelper
Enhances Steam Key giveaway sites
Stars: ✭ 166 (-0.6%)
Mutual labels:  steam
Bnetlauncher
Launcher utility to help start battle.net games with the steam overlay.
Stars: ✭ 161 (-3.59%)
Mutual labels:  steam
Steamdiscoveryqueueautoskipper
Auto-advances in Steam Discovery Queues.
Stars: ✭ 156 (-6.59%)
Mutual labels:  steam

protonfixes

Build Status

Screenshot

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 get 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 kivy (pictured above). zenity or kdialog can also be used but need to be enabled manually via config. If Steam is not in big picture mode, it will try kdialog, then 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 or kdialog installed on your system, the steam-runtime version of zenity is broken.
It can probably be installed using your distro's package manager.

For the big screen splashscreen to work, you need to have kivy installed. It can be installed via your distro's package manager (python3-kivy on debian-based distros and python-kivy on Arch-based ones)

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 pip3 is not installed, it can be installed with your distribution's package manager: the package is python3-pip on Ubuntu/Debian-based distributions, python-pip in many others.

# sudo pip3 install protonfixes

To install the latest version from Github:

# sudo pip3 install git+https://github.com/simons-public/[email protected]

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/[email protected]

Install using setuptools

# sudo python3 setup.py install

Enabling protonfixes in Proton

Protonfixes includes a script install_protonfixes that, when run, will automatically install protonfixes in all Proton installations.
A manual installation is possible by browsing <Steam installation>/steamapps/common/Proton* and adding this line to user_settings.py

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].