Check what Frametop needs from SteamOS after an update

On the Frame, a SteamOS update replaces SteamVR, KWin, and gamescope with the
rest of the OS image. scripts/update-check.py, run by doctor.sh and report.sh,
checks what Frametop uses from it: the OpenVR interface versions the installed
programs were built against, the vrcmd --overlays format, the eye tracker's
shared memory layout, host files, services, sockets, and the driver
registration. doctor.sh --mark-good records the package versions once things
work, and later runs say what changed and what to try by hand.

The session no longer stops when mesavars.sh or flatpak.sh is missing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
DeeJanuzandClaude Opus 5.5 committed 2026-10-01 08:51:09 -06:00
1 parent 3c5bfd8d2f
commit 4c46d69b0c
7 files changed
+429 -4

No files matched your search

+12 -2
View File
@@ -64,12 +64,22 @@ if [ "${1:-}" != --inner ]; then
echo "Frametop is already running" >&2
exit 0
fi
set -a; . /usr/share/deckard/mesavars.sh; set +a
# A SteamOS update could move either of the files sourced here. The desktop still
# starts without them (scripts/update-check.py reports it).
if [ -r /usr/share/deckard/mesavars.sh ]; then
set -a; . /usr/share/deckard/mesavars.sh; set +a
else
echo "frametop: no /usr/share/deckard/mesavars.sh, starting without SteamOS's Mesa settings" >&2
fi
# Flatpak apps (Chromium) publish their launcher entries under the Flatpak
# exports dirs. SSH and launcher environments may lack XDG_DATA_DIRS, and then
# Plasma can't find them and opens Discover instead.
export XDG_DATA_DIRS=${XDG_DATA_DIRS:-/usr/local/share:/usr/share}
set +u; . /etc/profile.d/flatpak.sh; set -u
if [ -r /etc/profile.d/flatpak.sh ]; then
set +u; . /etc/profile.d/flatpak.sh; set -u
else
echo "frametop: no /etc/profile.d/flatpak.sh, so Flatpak apps may open Discover instead" >&2
fi
# Arrange the screens once they're up: in the profile this desktop starts with (FT_PROFILE,
# from a profile's launcher entry, or the default profile), which also opens its apps, or
# else in the saved layout (skipped when auto-arrange is off). docs/profiles.md.