Skip to content

"Force the use of" -> "Steam Linux Runtime 1.0 (scout)" should not be possible for games that require sniper #9844

Description

@smcv

Your system information

  • Steam client version (build number or date): 1689034492
  • Distribution (e.g. Ubuntu): any (tested on Ubuntu 22.04 and Debian 12)
  • Opted into Steam client beta?: yes
  • Have you checked for system updates?: yes
  • GPU: any (tested on NVIDIA and AMD)

Please describe your issue in as much detail as possible:

A few native Linux games on Steam require the use of the Steam Linux Runtime 3.0 (sniper) container runtime, and are no longer supported or expected to run successfully in the traditional LD_LIBRARY_PATH-based Steam Runtime 1 'scout' runtime or the Steam Linux Runtime 1.0 (scout) that is based on it.

Known games that require sniper so far:

  • a non-default branch of Battle for Wesnoth
  • Counter-Strike 2 since September 2023
  • Dota 2 since July 2023
  • Endless Sky
  • Retroarch

When configuring these games' properties, I should not be able to choose a compatibility tool that is known to be incompatible with the game. The valid/supportable choices are:

  • install the Linux version and run it under Steam Linux Runtime 3.0 (sniper) (internally app ID 1628350)
  • install the Windows version and run it under any version of Proton

while these are not expected to work, and should not be offered for these games:

  • install the Linux version and run it under the LD_LIBRARY_PATH-based scout runtime
  • install the Linux version and run it under Steam Linux Runtime 1.0 (scout) (1070560, SLR 2 'soldier' with an extra scout compatibility layer)
  • install the Linux version and run it under Steam Linux Runtime 2.0 (soldier) (13911100)

Steam Linux Runtime 1.0 (scout) (1070560) should only be offered for older games that were designed to run in the 'scout' environment.

Steps for reproducing this issue:

  1. Install one of the games that runs under sniper. The easiest are the ones that use sniper for their default branch: Dota 2, Endless Sky or RetroArch.
  2. Right-click, Properties, Compatibility
  3. Check "Force the use of..." and observe the list of compatibility tools that are offered

Expected result

The list contains various Proton versions (7.0, 8.0, etc.), and optionally "Steam Linux Runtime 3.0 (sniper)" (internally app ID 1628350).

The list should not contain "Steam Linux Runtime" or "Steam Linux Runtime 1.0 (scout)" (both are names for app ID 1070560), or "Steam Linux Runtime 2.0 (soldier)" (1391110).

Actual result

The list correctly contains various Proton versions, which is OK.

The list correctly does not contain "Steam Linux Runtime 2.0 (soldier)" (1391110), for the reasons described in #7430.

The list does contain "Steam Linux Runtime" (internally app ID 1070560). If I select it, the game is launched in an environment containing libraries older than the one the game was designed for, and it is likely to crash or run incorrectly.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions