Playing on the Steam Deck
The Steam Deck is known for being able to seamlessly run Windows software through Proton, the Wine fork distributed by Valve. Running Oni on the Deck is thus easier than directly using Wine to run Oni in Linux.
- Install Oni (vanilla or Anniversary Edition) on a Windows PC and copy the installation to a flash drive.
- Switch from SteamOS to the Linux desktop by choosing Steam Menu > Power > Switch to Desktop.
- In the desktop file explorer (Dolphin), copy the Oni installation from your flash drive to the Deck.
- Add the installation's Oni.exe to Steam as a non-Steam game. You can quickly do this by right-clicking the app and choosing "Add to Steam".
- Right-click Oni in your Steam library and choose Properties > Compatibility. Check the box "Force the use of a specific Steam Play compatibility tool" and choose the latest numbered version of Proton. Oni is ready to run at this point, but will suffer from dropped frames when sound effects play rapidly.
- Download msacm32.dll and drop it into the Oni or AE directory.
- Add
WINEDLLOVERRIDES="msacm32=n,b" %command%
in the Steam launch options for the game. - Launch it! The first time you run Oni, Steam will have to download a Steam Linux runtime and the version of Proton which you selected, so sit tight.
After performing the above steps, you won't have to switch to the Linux desktop to play Oni; it should be playable from your SteamOS library.
Steam-less launch
Note that you don't need to launch Oni through Steam if you're using the Deck from the Linux desktop. You can install Lutris from the Discover app and then add Oni manually to its list of games. Make sure to turn off Esync and Fsync under the game config's "Runner options" tab. In the "DLL overrides" section, add key "msacm32" and value "n,b" to take advantage of the msacm32.dll that you placed in Oni's directory if you followed the above instructions.