Files
funnygame/external/steamworks/tools/linux/README.md
2025-07-13 15:47:42 +03:00

58 lines
2.3 KiB
Markdown

## Building Spacewars (steamworksexample) for Linux
All native executables built for Steam for Linux should be built using the Steam for Linux runtime SDK.
For a complete developer guide regarding the Steam for Linux runtime, see [3]. For bugs and feature requests regarding the Steam for Linux runtime, see [4].
## Setup
Download, configure and open a shell in one of the Steam for Linux runtime SDKs. See [1] for details.
```
toolbox create -i registry.gitlab.steamos.cloud/steamrt/scout/sdk scout
toolbox enter scout
```
NOTE: You may also use the newer Linux runtime SDK for sniper. See [2].
## Build
Enter the toolbox shell, go to the `steamworksexample/` folder and build:
```
timo@eta-carinae ~/D/sdk> pwd
/home/timo/Downloads/sdk
timo@eta-carinae ~/D/sdk> toolbox enter scout
[timo@toolbox sdk]$ cd steamworksexample/
[timo@toolbox steamworksexample]$ make
g++ -g -DPOSIX -DSDL -I/usr/include/SDL2 -D_REENTRANT -DGNUC -O0 -std=c++0x -Wno-invalid-offsetof -I/home/timo/Downloads/sdk/steamworksexample/../public -DDEBUG -c BaseMenu.cpp -o debug/BaseMenu.o -MD -MF debug/BaseMenu.dep
[..]
```
Use `make CONFIG=RELEASE` for a release build.
Use `ARCH=32` to build a 32 bit binary (do not use the legacy 32 bit scout SDK image, do this in the normal toolbox 64 bit container).
## Run
NOTE: You should not attempt to run out of your docker/podman/toolbox shell. Although it may work in some cases.
The Steam client should be running. The test program will initialize the Steamworks API on startup.
Launch with the `SteamworksExample.sh` script:
```
timo@eta-carinae ~/D/s/s/debug> pwd
/home/timo/Downloads/sdk/steamworksexample/debug
timo@eta-carinae ~/D/s/s/debug> ./SteamworksExample.sh
[S_API] SteamAPI_Init(): Loaded '/home/timo/steam/main/client/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 480
```
## Reference
1. [Steam for Linux runtime - scout SDK](https://gitlab.steamos.cloud/steamrt/scout/sdk)
2. [Steam for Linux runtime - scout SDK](https://gitlab.steamos.cloud/steamrt/sniper/sdk)
3. [Steam Linux Runtime - guide for game developers](https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/slr-for-game-developers.md)
4. [Steam Linux Runtime on github](https://github.com/ValveSoftware/steam-runtime)