diff --git a/docs/container-runtime.md b/docs/container-runtime.md index 8273e37e5a9b6e13620fab99a675cc67d6278769..152313a7f8b5759cd845bc9c5efc23e828d6e9be 100644 --- a/docs/container-runtime.md +++ b/docs/container-runtime.md @@ -43,6 +43,8 @@ when necessary. Steam Linux Runtime 3.0, `sniper`, is the recommended runtime environment for new native Linux games on Steam. +It can be used by any game that benefits from a newer library stack +or SDK environment. It is a newer runtime than [scout][ldlp], based on Debian 11 (released in 2021). @@ -56,15 +58,25 @@ sniper is designed to be used as a container runtime for `pressure-vessel`, and [cannot be used](#why) as a [`LD_LIBRARY_PATH` runtime][ldlp]. -Native Linux games that require sniper can be released on Steam. -Since October 2024, this is available as a "self-service" -feature via the Steamworks partner web interface, which can be used by -any game that benefits from a newer library stack. - -Early adopters of this mechanism include -[Retroarch][] since [August 2022][Retroarch on sniper], -[Endless Sky][] since [early/mid 2023][Endless Sky on Sniper] and -[Dota 2][] since [mid 2023][Dota 2 sniper], +For backwards compatibility, +the default runtime environment for existing native Linux games is +[Steam Linux Runtime 1.0 (scout)][scout-on-soldier]. +To opt-in to using sniper, +app and game developers should compile their titles in the +[sniper SDK][] +and reconfigure the title's metadata to ask Steam to run it with +Steam Linux Runtime 3.0 (soldier). +For more information please see +[Steam Linux Runtime - guide for game developers][SLR for game developers]. + +Games that use sniper include Valve's +Counter-Strike 2, +Dota 2 and +Team Fortress 2, +and third-party titles like +Battle for Wesnoth, +Endless Sky and +Retroarch. sniper is also used as a runtime environment for Proton version 8.0 and up, which are compiled against the newer library stack and would not @@ -241,14 +253,14 @@ contributed to the Linux kernel. [Dota 2 scout SLR]: https://store.steampowered.com/news/app/570/view/4978168332488878344 [Dota 2 sniper]: https://mastodon.social/@TTimo/110578711292322771 [Dota 2]: https://store.steampowered.com/app/570/Dota_2/ -[Endless Sky on sniper]: https://github.com/ValveSoftware/steam-runtime/issues/556 [Endless Sky]: https://endless-sky.github.io/ [Flatpak]: https://flatpak.org/ -[Retroarch on sniper]: https://github.com/libretro/RetroArch/issues/14266 [Retroarch]: https://www.retroarch.com/ +[SLR for game developers]: slr-for-game-developers.md [Steam Runtime issues]: https://github.com/ValveSoftware/steam-runtime/issues [Ubuntu]: https://ubuntu.com/ [bubblewrap]: https://github.com/containers/bubblewrap [ldlp]: ld-library-path-runtime.md [libcapsule]: https://gitlab.collabora.com/vivek/libcapsule [pressure-vessel]: pressure-vessel.md +[sniper SDK]: https://gitlab.steamos.cloud/steamrt/sniper/sdk/-/blob/steamrt/sniper/README.md diff --git a/docs/slr-for-game-developers.md b/docs/slr-for-game-developers.md index 8ea47a1dee60445d6fa323a09c64ea9aebe7c719..6d6b69a8ecc0bfc7fa30e81256f2bcba5e0c99b2 100644 --- a/docs/slr-for-game-developers.md +++ b/docs/slr-for-game-developers.md @@ -68,23 +68,37 @@ scout. [Steam Runtime version 3, codenamed sniper][sniper], is the first such runtime available to developers of native Linux games on Steam. -It is based on Debian 11 (2021). - -Native Linux games that require sniper can be released on Steam. -Since October 2024, this is available as a "self-service" -feature via the Steamworks partner web interface, which can be used by -any game that benefits from a newer library stack. -To use this feature, your app must first set up a Launch Option that -supports Linux. +It can be used by any game that benefits from a newer library stack +or SDK environment, +and is based on Debian 11 (2021). +Most of its libraries are taken directly from Debian, and can benefit +from Debian's long-term security support. +Selected libraries that are particularly important for games, such as +SDL and Vulkan-Loader, have been upgraded to newer versions backported +from newer branches of Debian. + +Games that target sniper should be compiled in the [sniper SDK][]. + +For backwards compatibility, +the default runtime environment when configuring a game in the Steamworks +partner web interface is +[Steam Linux Runtime 1.0 (scout)](#scout). +To opt-in to using sniper, +your app must first set up a Launch Option that supports Linux. Once that is set up, you can use the Installation → Linux Runtime menu item to select a runtime. +This can be done during initial setup for an unreleased game, +or as part of an update from a version that targeted scout to a +newer version that targets sniper. -Early adopters of this mechanism included -[Battle for Wesnoth][Wesnoth on sniper], +Games that use sniper include Valve's Counter-Strike 2, -Dota 2, -[Endless Sky][Endless Sky on sniper] and -[Retroarch][Retroarch on sniper]. +Dota 2 and +Team Fortress 2, +and third-party titles like +Battle for Wesnoth, +Endless Sky and +Retroarch. #### <a name="soldier"></a>Native Linux games targeting Steam Runtime 2 'soldier' @@ -1245,11 +1259,9 @@ advanced utilities might not be present. [Debian Policy]: https://www.debian.org/doc/debian-policy/ch-files.html#scripts [Debian's /etc/bash.bashrc]: https://sources.debian.org/src/bash/5.1-2/debian/etc.bash.bashrc/ [Docker]: https://www.docker.com/ -[Endless Sky on sniper]: https://github.com/ValveSoftware/steam-runtime/issues/556 [Linux joystick implementation in SDL]: https://github.com/libsdl-org/SDL/blob/main/src/joystick/linux/SDL_sysjoystick.c [Podman]: https://podman.io/ [Proton documentation]: https://github.com/ValveSoftware/Proton/ -[Retroarch on sniper]: https://github.com/libretro/RetroArch/issues/14266 [SDL_GetPrefPath]: https://wiki.libsdl.org/SDL_GetPrefPath [Steam Cloud API]: https://partner.steamgames.com/doc/features/cloud [Steam Input]: https://partner.steamgames.com/doc/features/steam_controller @@ -1257,7 +1269,6 @@ advanced utilities might not be present. [Steam support documentation]: https://help.steampowered.com/ [Toolbx]: https://containertoolbx.org/ [Verify integrity]: https://help.steampowered.com/en/faqs/view/0C48-FCBD-DA71-93EB -[Wesnoth on sniper]: https://github.com/ValveSoftware/steam-runtime/issues/508#issuecomment-1147665747 [add a Steam Library folder]: https://help.steampowered.com/en/faqs/view/4BD4-4528-6B2E-8327 [basedirs]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html [compatibility tool interface]: steam-compat-tool-interface.md