1
Fork 0
Communicate with the proprietary Steamworks API
Find a file
2025-05-07 17:20:19 -04:00
.gitignore Add initial files 2023-12-21 20:18:42 -05:00
CMakeLists.txt Port to httplib, update build instructions 2025-05-04 17:40:04 -04:00
httplib.h Port to httplib, update build instructions 2025-05-04 17:40:04 -04:00
LICENSE Add initial files 2023-12-21 20:18:42 -05:00
main.cpp If failed to initialize steamworks API, don't say that we did! 2025-05-07 17:20:19 -04:00
README.md Port to httplib, update build instructions 2025-05-04 17:40:04 -04:00

steamwrap

Used for Astra to initialize and communicate with the Steam API.

Due to restrictions on how the Steamworks SDK is distributed, I have to build it locally. Astra downloads a binary version of steamwrap from a distribution server during Flatpak build alongside the redistributable.

Building

Remember that newer glibc/++ won't work when it's inside the Steam Linux Runtime, so I recommend using distrobox to build steamwrap:

$ distrobox create --name steamwrap --init --image debian:10 --additional-packages "systemd libpam-systemd cmake build-essential" # Debian 10 is the base of Steam Linux Runtime 2.0
$ distrobox enter steamwrap
$ mkdir build
$ cd build
$ cmake -DSTEAMWORKS_LIBRARIES=<location of steam sdk>/redistributable_bin/linux64/libsteam_api.so -DSTEAMWORKS_INCLUDE_DIR=<location of steam sdk>/public/ ..
$ make