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

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
  2. Steam for Linux runtime - scout SDK
  3. Steam Linux Runtime - guide for game developers
  4. Steam Linux Runtime on github