2.3 KiB
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