Skip to content
Snippets Groups Projects
Commit 2e1fc9e2 authored by Simon McVittie's avatar Simon McVittie
Browse files

docs: Update text regarding sniper

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