Revision Difference
proton#551288
<cat>Play.Intro</cat>
<title>Proton</title>
# Proton
All information regarding running and developing S&Box on Linux will described here.
# Running
Steam > Library > Right Click S&Box > Click Properties
<upload src="9831e/8d9d38bda11273e.png" size="36050" name="asdf.png" />
Compatibility > Click Force the use of a specific Steam Play compatibility tool > Select Proton Experimental
Currently `Proton Experimental` works best, if this doesn't work try a different version.
<upload src="9831e/8d9d38c4b3de597.png" size="107372" name="image.png" />
You will need to use one of these methods to be able to play in any map
```
Temporary method:
sudo sysctl -w vm.max_map_count=16777216
Permanent method:
sudo bash -c 'echo "vm.max_map_count = 16777216" > /etc/sysctl.d/20-sbox-max_map_count.conf && sysctl --system'
```
You will also need to use this method to be able to play any games in s&box
```
1. If not already done, set up flatpak (https://flatpak.org/setup/)
2. flatpak install flathub com.github.Matoking.protontricks
3. flatpak run --branch=stable com.github.Matoking.protontricks 590830 win8
```
# Developing
## Creating your first addon
```
cd ~/.local/share/Steam/steamapps/common/sbox/addons
git clone https://github.com/Facepunch/sbox-minimal.git my-addon
cd my-addon
rm -rf .git
```
## sbox-dev
At the time of writing *(Jan 2022)* you can launch s&box development executable but it is very buggy and is known to crash randomly.
Steam > Library > Right Click S&Box > Click Properties > General > Add `-tools` to Launch Options
<upload src="9831e/8d9d38d29c48c70.png" size="146265" name="image.png" />
To run s&box developer mode, you will need to follow these steps
0. If not already done, set up flatpak (https://flatpak.org/setup/)
1. Install protontricks via flatpak with
```
flatpak install flathub com.github.Matoking.protontricks
```
2. Install a directx dependency with
```
flatpak run --branch=stable com.github.Matoking.protontricks 590830 d3dcompiler_47
```
3. Run sbox-dev.exe with
```
flatpak run --branch=stable com.github.Matoking.protontricks --no-runtime --no-bwrap -c "wine sbox-dev.exe" 590830
```
4. S&box dev mode should start and stay open until you close it or crashes as it so usually does on Linux.
5. After closing, should Steam still display s&box as running, you have to exit out of steam completely to stop it.
# Troubleshooting
## How to use the proton logs
Proton logs sometimes could help solve issues with games not launching or working properly under proton. Proton logging can be enabled inside the launch options of s&box:
```
PROTON_LOG=1 %command%
```
If you want smaller log files but still keep useful information use this launch option:
```
WINEDEBUG=+error+threadname+debugstr+loaddll+mscoree PROTON_LOG=1 %command%
```
By default it should generate a file inside your home directory `$HOME/steam-590830.log` but it can be modified as well:
```
PROTON_LOG=1 PROTON_LOG_DIR='/path/to/log' %command%
```
## Game is randomly crashing or locking up after playing for an amount of time
This is an unknown cause, but adding `PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1` to your launch options seems to fix the problem
⤶
## Input (e.g. movement) does not work⤶
This is probably caused by having multiple keyboard layouts, adding `-input_button_code_is_scan_code` to your launch options fixes the problem⤶
# Useful Resources:
1. [S&box proton github issues](https://github.com/ValveSoftware/Proton/issues/4940)
2. [Proton parameters guide](https://github.com/ValveSoftware/Proton#runtime-config-options)