Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

steam-short-session-tracker: incorrect registry backup path resets settings during automatic repair

オープン 初心者向け
#2,829 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
80/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
bash, shell
領域
cli, tooling

調査の方向性

バグはスクリプト /usr/lib/steamos/steam-short-session-tracker にあります。レジストリのバックアップパスの周辺の行を調べてください。修正方法は、変数 registry_backup_vdf を $steam_config_backup_dir/.steam/registry.vdf から $steam_config_backup_dir/registry.vdf に変更することです。修正をテストするには、提供された再現スクリプトを一時ディレクトリで実行し、変更後にコピーが成功することを確認してください。

索引モデルが issue の本文から書いたものです。

説明

steam-short-session-tracker: incorrect registry backup path resets settings during automatic repair

Your system information
  • Hardware: Valve Steam Machine (DMI product name: Fremont), AMD Radeon Graphics / NAVI33
  • Steam client build: 1788652215 (stable update manifest observed during recovery)
  • SteamOS version: 3.8.16, build 20260716.1
  • Kernel: 6.16.12-valve24.5-1-neptune-616-gb2f7cfe85e45
  • Package owning the affected script: gamescope 3.16.23.4-1
  • Opted into Steam client beta?: No; stable manifest observed
  • Opted into SteamOS beta?: Stable default branch reported by the installed OS; UI selection not independently checked
  • Have you checked for updates in Settings > System?: No, not during this investigation
Please describe your issue in as much detail as possible

The automatic repair in /usr/lib/steamos/steam-short-session-tracker tries to preserve ~/.steam/registry.vdf, but constructs the backup source path with an extra .steam/ directory. After repair, the original registry file remains in the backup but is not copied into the newly created ~/.steam. In this case, Steam and Counter-Strike 2 changed from Traditional Chinese to English.

Expected: Automatic repair preserves the existing registry/settings, as the script's own comment intends.

Actual: The copy fails with cannot stat, is ignored through || true, and Steam starts with newly generated defaults.

The installed script contains:

steam_config_dir="$HOME/.steam"
steam_config_backup_dir="$HOME/dot-steam.bak.$(date +%s)"
registry_vdf="$steam_config_dir/registry.vdf"
registry_backup_vdf="$steam_config_backup_dir/.steam/registry.vdf"
mv "$steam_config_dir" "$steam_config_backup_dir"
mkdir -p "$steam_config_dir"
cp -f "$registry_backup_vdf" "$registry_vdf" || true

Because mv renames ~/.steam to the previously nonexistent backup directory, the actual file is $steam_config_backup_dir/registry.vdf, not $steam_config_backup_dir/.steam/registry.vdf.

Observed logs and impact

Journal excerpts (hostname and backup timestamp omitted):

steam-short-session-tracker: Steam failed to start 3 times within 60 seconds
steam-short-session-tracker: Re-bootstrapping steam from OS copy.
cp: cannot stat '/home/deck/dot-steam.bak.<timestamp>/.steam/registry.vdf': No such file or directory

The real backup file was found one directory higher and still contained the original tchinese language settings. Restoring that file while Steam was stopped, then restarting Steam and CS2, restored Traditional Chinese. The Steam web helper returned to -lang=zh_TW, and the game menu was visually verified.

Context only: the repair loop followed a Gamescope crash triggered by a diagnostic gamescopectl backend_info invocation. The HDMI-connected TV was off, both DRM connectors reported disconnected, and subsequent DRM-session starts failed with cannot find any connected connector!. A headless session restored operation. This issue is specifically about the independently reproducible registry backup path error, not a claim about the crash's low-level cause or Remote Play resolution negotiation.

Steps for reproducing this issue

The path error can be reproduced without running the repair script or touching an actual Steam installation:

(
  set -eu
  repro_dir=$(mktemp -d)
  trap 'rm -rf -- "$repro_dir"' EXIT

  mkdir "$repro_dir/.steam"
  printf '%s\n' 'test fixture' > "$repro_dir/.steam/registry.vdf"

  steam_config_dir="$repro_dir/.steam"
  steam_config_backup_dir="$repro_dir/dot-steam.bak.test"
  registry_backup_vdf="$steam_config_backup_dir/.steam/registry.vdf"

  mv "$steam_config_dir" "$steam_config_backup_dir"
  mkdir -p "$steam_config_dir"

  test -f "$steam_config_backup_dir/registry.vdf"
  test ! -e "$registry_backup_vdf"
  cp -f "$registry_backup_vdf" "$steam_config_dir/registry.vdf"
)

The final copy fails, although the backup file exists. The same move/path behavior was independently verified in an isolated temporary directory during this investigation.

Suggested correction
-registry_backup_vdf="$steam_config_backup_dir/.steam/registry.vdf"
+registry_backup_vdf="$steam_config_backup_dir/registry.vdf"

It may also be useful to distinguish a missing original registry from a failed restoration of an existing one, rather than silently continuing in both cases.

Related: https://github.com/ValveSoftware/steam-for-linux/issues/12035 describes short-session re-bootstrap triggers; this report isolates the incorrect registry restoration path and its observed settings loss.

主要言語
言語のデータがありません
スター
2.6k
フォーク
83
平均マージ
4分
マージ済み PR(30日)
3

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ValveSoftware/SteamOS のほかの issue

ValveSoftware/SteamOS の issue をすべて見る

似ている issue

CLI の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。