Skip to content
NotProtonNotPublic

About

Steam Play for macOS

Resources

Contributing

Stars

1.5k stars

Watchers

19 watching

Forks

NotProton

NotProton enables the Steam Play experience from Linux Steam in the macOS Steam client.

This is done by forcibly enabling the Steam Play functionality in macOS Steam (which is present and inert) as well as by porting some components of Valve's Proton to macOS.

This tool is intended to be used with the stable Steam Client (version 1788652215) as well as the beta Steam Client (version 1791686101) paired with CrossOver 26.3 or CrossOver Preview 20261006 or 20260821, with more supported versions to come.

Supporting specifically CrossOver is a design goal of this project. Better support for modifying CrossOver (using custom builds of DXMT/patched D3DMetal/MacGameVideoFix) will come in a future update, but support for alternatives to CrossOver itself is not planned.

Both the FEX and the Rosetta versions are supported. I recommend using the FEX version of the Preview 20261006, as it includes both the FEX version as well as the Rosetta one.

I further recommend going into Steam Settings - Compatibility and selecting the Rosetta version as your default compatibility tool. You can select FEX on a per game basis by right clicking a game in Steam, going into Properties - Compatibility and selecting FEX there.

If a game has a native macOS version as well as a Windows one, Steam will download the macOS version. To override this behavior, right click on the game, select Properties, select Compatibility. Enable 'Force the use of a specific Steam Play compatibility tool'. Select whichever version of CrossOver you want to do use. That will make Steam download the Windows version. Unchecking the 'Force the use...' box or selecting 'No Compatibility Tool' in the drop down list will revert to the macOS version of the game, with the specifics there varying based on your Steam version.

Valve Anti-Cheat is not supported. Proton itself does not support VAC in Valve titles; Valve ships native Linux ports instead. VAC titles will launch in Insecure Mode and will not allow matchmaking.

This project now has a brew cask. For brew users, you can install via brew install --cask notprotonnot/notproton/notproton

Please read NOTICE for license information.

Please open issue reports with any issues. PRs are welcome and encouraged.

There are many people who worked on similar ideas, similar projects. I did not base NotProton on their work, but I still want to give thanks to the people who came before me:

Nat Brown made Kaon, which is similar in goals to NotProton.

mont127's Neutron is also a similar idea, but implemented differently.

Gio was working enabling Steam Play inside of Steam on macOS prior to the release of NotProton itself. I would have done things differently had I been aware of that.

Thanks to everyone who has positively contributed to macOS gaming.

Developer Notes:

As far as the source structure goes, the macOS app itself is located in the app folder. The core logic is in dylib. lsteamclient is a macOS port of Valve's lsteamclient. steam-shimis a port of Valve's steam-helper from Proton 9.0. ntdll-patch patches the copy of CrossOver that the app makes/places in the ~/Library/Application Support/notproton/runners/ folder so that lsteamclient is loaded.

About

Steam Play for macOS

Resources

Contributing

Stars

1.5k stars

Watchers

19 watching

Forks

Releases

Packages

Contributors

Languages