A link to my avatar. The character displayed here is Silver Wolf from the videogame Honkai: Star Rail.

Sapphic Angels

(she/it/they)

OneShot on Linux: The Definitive Guide

The resource to help you play, complete, and enjoy OneShot on Linux distrubutions.

April 3, 2024

#oneshot #linux

7 min read

Note: this guide assumes you have the Steam version of OneShot.
For the itch.io version of OneShot, please see the “I cannot get the itch.io version to run!” section.

OneShot is one of our favourite games out there. It helped get us through some of our darkest times and it’s our comfort game. We could spend hours talking about it.

Unfortunately, getting it to work on Linux can be quite the challenge. Though the game has a native Linux version, you have to delete certain files for it to launch - but even that is not a guarantee that it will work on all Linux distributions.

It’s simply not feasible for an average user to have to scour the wide Internet for possible solutions just to be able to play OneShot.

That’s why we have decided to write an article guide to make sure one can enjoy the game on Linux with close to no hurdles.

Table of Contents

Caveats

Unfortunately, due to the nature of the game, your immersion may be slightly ruined.

For example, the game automatically changing your desktop wallpaper during a certain puzzle won’t work on Linux. See the Desktop wallpaper not changing section for more information.

OneShot is best played and experienced on a Windows environment.

If you don’t mind this trade-off though or simply don’t care, keep on reading.

Prerequisites

You will need to install Protontricks.

Installing Protontricks

There are several ways to install Protontricks.

If you already have Protontricks installed, you can skip to the Running the game section.

Method 1: Installing Protontricks via Flatpak

If you have Flatpak installed, you can run the following command to install Protontricks:

Terminal
flatpak install flathub com.github.Matoking.protontricks

To install Flatpak for your Linux distribution, you can follow Flathub’s guide.

Method 2: Installing Protontricks as a system package

Alternatively, you can install Protontricks as a system package.

Here are the following commands to install Protontricks for the most popular Linux distributions:

If your Linux distribution is not listed here, check out the “Installation” section on the Protontricks repository for more information.

Running the game

We’ll be using Valve’s Proton compatibility layer to play OneShot.

For the majority of the game, you won’t have to use Protontricks. It’s only near the end that you’ll be forced to run a certain executable file in order to progress further. (Jump to ‘Later stages of the game’ section)

Head over to your library, right click OneShot, select “Properties…” and head over to the Compatibility tab.

Enable “Force the use of a specific Steam Play compatibility tool”, and select Proton 7.0-6. This will download that specific Proton version, which might take a while.

The Steam compatibility tab for OneShot with Proton version 7.0-6 being selected.
The Steam compatibility tab for OneShot.

Once that’s done, you can launch OneShot from your Steam library and the majority of the game will run just fine!

Interacting with documents

In some parts of the game, you may have to interact with files. Usually, these files are located in the My Documents folder on Windows.

With Proton, your documents for OneShot are located in the ~/.steam/steam/steamapps/compatdata/420530/pfx/drive_c/users/steamuser/Documents folder.

I’m sure you don’t feel like memorizing that, so let’s create a symlink (think of it as a shortcut, basically) for easy access!

We’ll be creating a symlink in your home directory. Run the following command to create a ProtonDocuments symlink in your Documents folder:

Terminal
ln -s ~/.steam/steam/steamapps/compatdata/420530/pfx/drive_c/users/steamuser/Documents ~/Documents/ProtonDocuments

Now whenever the game creates a document file, you can always access it under your Documents folder! (~/Documents/ProtonDocuments)

GNOME File Explorer (Nautilus) showing the ProtonDocuments symlink in your home directory's Documents folder.
The ProtonDocuments symlink in your home directory's Documents folder.

You may see additional folders like Downloads, Templates, Videos and so on in the ProtonDocuments folder, but don’t worry about them!

Later stages of the game

Though most of the game will work and play fine, eventually, you’ll have to run a file named _______.exe (we’ll be calling this the “clover program” for the rest of the guide) in order to progress further in the game. This is where Protontricks comes into play.

Using protontricks-launch, run the following command to launch the clover program:

Terminal
protontricks-launch --appid 420530 ~/.steam/steam/steamapps/compatdata/420530/pfx/drive_c/users/steamuser/Documents/My\ Games/Oneshot/_______.exe

Afterwards, launch OneShot via its steamshim binary:

Terminal
protontricks-launch --appid 420530 ~/.steam/steam/steamapps/common/OneShot/steamshim.exe

Note: The Steam overlay will be unavailable under Protontricks, however achievements will work pretty much just fine.

Aliasing the commands

If you want to have these commands at an easy reach, you can add them as an alias to your shell file. In our case, we’ll be using Bash, but you can modify the example below to work with zsh, fish, and other shells.

Open the ~/.bashrc file with the editor of your choice, and add the following code to the end of the file:

.bashrc
alias launch-oneshot="
protontricks-launch --appid 420530 ~/.steam/steam/steamapps/common/OneShot/steamshim.exe
"
alias launch-oneshot-clover="
protontricks-launch --appid 420530 ~/.steam/steam/steamapps/compatdata/420530/pfx/drive_c/users/steamuser/Documents/My\ Games/Oneshot/_______.exe
"

Now you can launch OneShot and the clover program by just typing launch-oneshot and launch-oneshot-clover respectively in your terminal!

Here's OneShot and the clover program being open at the same time. (spoiler warning!)
Spoiler
OneShot and the clover program being open at the same time on the way to the Tower on Linux.
Niko is saying: "It's the lightbulb. Thank goodness it's safe...".
The clover program reads: "I did not realize things could end like this... please forgive me."
OneShot and the clover program being open at the same time on the way to the Tower on Linux.

Questions and answers

I’m getting the “Failed to initialize Steamworks” error!

You need to have Steam running on your host machine when you execute the steamshim file.

I cannot get the itch.io version to run!

Due to an AppImageKit bug, the .appimage file provided on the itch.io version of OneShot is broken.

For the time being, you can use the following snippet provided by Leo.

AppImageScript.sh
./OneShot.AppImage --appimage-extract
rm squashfs-root/usr/lib/libgmodule-2.0.so.0
rm squashfs-root/usr/lib/libgtk-x11-2.0.so.0
rm squashfs-root/usr/lib/libgdk-x11-2.0.so.0
wget https://archive.archlinux.org/packages/l/libffi/libffi-3.3-4-x86_64.pkg.tar.zst
mkdir libffi
tar -xC libffi/ -f libffi-3.3-4-x86_64.pkg.tar.zst
cp libffi/usr/lib/libffi.so.7.1.0 squashfs-root/usr/lib/libffi.so.7
./squashfs-root/usr/bin/oneshot

Where can I view my save files for OneShot?

Your save and config files for OneShot are located in the ~/.steam/steam/steamapps/compatdata/420530/pfx/drive_c/users/steamuser/AppData/Roaming/Oneshot folder.

If you end up interacting with your save files often, you can create run the following command:

Terminal
ln -s ~/.steam/steam/steamapps/compatdata/420530/pfx/drive_c/users/steamuser/AppData/Roaming/Oneshot ~/Documents/OneShotSaves

This will create a OneShotSaves symlink in your Documents folder for easy access:

The OneShotSaves symlink in your home directory's Documents folder. It contains your save files for OneShot, as well as some configuration files.
The OneShotSaves symlink in your home directory's Documents folder. It contains your save files for OneShot, as well as some configuration files.

My desktop wallpaper is not updating!

In the native Linux version of OneShot and on Windows, the game is able to automatically change your wallpaper during a certain puzzle in the Glen region.

Unfortunately, this is not possible with Proton as the game is running on Wine, which, to our knowledge anyway, is not able to change the host machine’s desktop wallpaper.

We have not found a solution for this issue. For the time being, you can change the wallpaper manually by going to the ~/.steam/steam/steamapps/common/OneShot/Wallpaper folder and selecting desktop.png as your wallpaper. You can change the wallpaper back after you’re done with the puzzle.

Alternatively, you can just open the image for the duration of the puzzle.

Can I play Solstice with this?

Yes. Just delete the save_progress.oneshot file in your ProtonDocuments/My Games/Oneshot folder and execute the steamshim.exe file with Protontricks (or run the launch-oneshot alias command above).

I know how to fix X or I want to include Y in this guide!

Cool! Just leave a comment below or contact me and I’ll update the article.

Concluding thoughts

As much as we love OneShot, we honestly wish it was updated to work well to run natively on Linux just fine with no additional tweaking, or at the very least, updating the game to work on the latest Proton versions.

No hate towards the developers of the game though! We know it must be pretty hard to support the Linux version of OneShot and ensure it runs well across all distributions and configurations.

Thank you for reading ‘till the end!

If you want to support us, please donate to our Ko-fi page as we’re trying to run away from our abusive family.