• DieMitchell released this 2026-10-11 22:15:32 +02:00 | 19 commits to main since this release

    Native Steam Frame beta: eye-tracked foveation

    v0.2.0 adds opt-in eye-tracked foveated rendering to the native ARM64 Frame
    build. Where the player looks is shaded at full detail; the periphery is shaded
    more coarsely (1x1 within 10°, 2x2 to 35°, then 4x4), following the Frame's eye
    tracker through OpenXR.

    Foveation is off by default. Everything else behaves as in v0.1.2.

    Install on the Frame

    Download AstroQuest-SteamFrame-ARM64.tar.gz and SHA256SUMS.txt from this
    release. Put both files in a folder on the Frame. In that folder, run these
    commands on the Frame, through a terminal or SSH, as your normal Steam user:

    sha256sum -c SHA256SUMS.txt && \
    tar -xzf AstroQuest-SteamFrame-ARM64.tar.gz && \
    bash astroquest-frame/install.sh
    

    If the installer opens Steam's ARM64 runtime installation dialog, finish the
    download in the headset, then rerun install.sh. Steam must be running; use your
    normal Steam user without sudo. For SSH setup, see
    Valve's developer-mode guide.

    Copy your own extracted US base game to ~/Games/AstroQuest/CUSA12431, including
    eboot.bin, sce_sys/param.sfo, and the rest of its files. Optional update 1.04
    belongs in the sibling CUSA12431-UPDATE folder with its own sce_sys/param.sfo.
    The base game is required. No game or firmware files are included.
    See game preparation
    for extraction details.

    For a game stored elsewhere, pass its extracted folder to the installer:

    bash astroquest-frame/install.sh /path/to/CUSA12431
    

    Then select Library > Non-Steam > Devkit Game: AstroQuest_Frame in the
    headset. Close the Steam dashboard to give the game focus. After updating,
    quit and relaunch the game.

    The app installs in ~/Applications/astroquest-frame. Saves remain under
    ~/.local/share/astroquest/user. The installer uses the Frame's existing devkit
    helpers to add the shortcut; it does not require a desktop Steam UI.
    For deployment from a PC, the
    SteamOS Devkit Client alternative
    is also documented.

    Enable foveation

    In the headset, open the shortcut's properties and set its launch options to:

    SHADPS4_VR_FOVEATION=1 %command%
    

    This uses the 1200×1280-per-eye scene preset unless SHADPS4_TITLE_RESOLUTION
    is set. It needs OpenXR eye-gaze support and Vulkan fragment-shading-rate
    attachments; without them, or while gaze is unavailable, the game renders at
    full rate and notes the fallback in its log. See
    settings.

    Changes

    • Added opt-in eye-tracked foveation (SHADPS4_VR_FOVEATION=1) using the
      XR_EXT_eye_gaze_interaction gaze pose and VK_KHR_fragment_shading_rate
      attachments.
    • The shading-rate map is applied to the title's per-eye scene pass, the pass
      Astro Bot draws its 3D scene in.
    • Pipelines let the attached rate map replace the default full rate.
    • Gaze that is invalid, stale (over 100 ms) or lost when the game loses focus
      falls back to full-rate shading.

    Validation and limits

    On a Steam Frame (Turnip, Adreno 750, SteamVR eye tracking), the rate map was
    confirmed on the 1200×1280 per-eye scene pass. A forced coarse map visibly
    changed the scene, and in normal mode detail was seen to follow the player's
    gaze. One level held 45–51 frames a second at 1200×1280 with foveation. This was
    not benchmarked against full-rate shading in the same scene, so no performance
    gain is promised.

    This is a beta. Known issues:

    • Quitting AstroQuest can cause an Adreno GPU fault and reset, with or without
      foveation. SteamVR restarts and recovers; if the headset stays dark, restart
      SteamVR.
    • A brief gaze dropout (for example a blink) switches the frame to full-rate
      shading until gaze returns.
    • One field of view is used for both eyes' maps; the right eye's map can be
      shifted by under 1° on the Frame.

    Full gameplay, gadgets, microphone and separate gamepads remain unverified.
    Windows and Quest builds were not rebuilt for this release.

    The archive includes licenses and third-party notices. Corresponding project source is this release tag; initialize its submodules and use the locked FEX revision via tools/build-frame.sh. SHA256SUMS.txt records the binary archive checksum.

    Downloads
  • DieMitchell released this 2026-10-11 08:00:41 +02:00 | 20 commits to main since this release

    Experimental native Steam Frame release

    Adds an on-device install.sh to the native ARM64 build from v0.1.1.
    The installer copies the app, registers its Steam devkit shortcut, and confirms
    that Steam lists it. Repeating the installation updates the same title and
    preserves its saved game location.

    Install on the Frame

    Download AstroQuest-SteamFrame-ARM64.tar.gz and SHA256SUMS.txt from this
    release. Put both files in a folder on the Frame. In that folder, run these
    commands on the Frame, through a terminal or SSH, as your normal Steam user:

    sha256sum -c SHA256SUMS.txt && \
    tar -xzf AstroQuest-SteamFrame-ARM64.tar.gz && \
    bash astroquest-frame/install.sh
    

    If the installer opens Steam's ARM64 runtime installation dialog, finish the
    download in the headset, then rerun install.sh. Steam must be running; use your
    normal Steam user without sudo. For SSH setup, see
    Valve's developer-mode guide.

    Copy your own extracted US base game to ~/Games/AstroQuest/CUSA12431, including
    eboot.bin, sce_sys/param.sfo, and the rest of its files. Optional update 1.04
    belongs in the sibling CUSA12431-UPDATE folder with its own sce_sys/param.sfo.
    The base game is required. No game or firmware files are included.
    See game preparation
    for extraction details.

    For a game stored elsewhere, pass its extracted folder to the installer:

    bash astroquest-frame/install.sh /path/to/CUSA12431
    

    Then select Library > Non-Steam > Devkit Game: AstroQuest_Frame in the
    headset. Close the Steam dashboard to give the game focus. After updating,
    quit and relaunch the game.

    The app installs in ~/Applications/astroquest-frame. Saves remain under
    ~/.local/share/astroquest/user. The installer uses the Frame's existing devkit
    helpers to add the shortcut; it does not require a desktop Steam UI.
    For deployment from a PC, the
    SteamOS Devkit Client alternative
    is also documented.

    Changes

    • Added install.sh, with ARM64 package checks and Steam devkit registration confirmation.
    • Replaced the incorrect desktop Steam instructions with on-device installation and an optional Devkit Client workflow.
    • Native ARM64 build using the pinned Steam Runtime 4 SDK, with Linux OpenXR support.
    • Fixed FEX guest address placement and unsafe pipeline-cache restoration.
    • Reduced Turnip GPU allocation sizes and budgets for shared headset memory.
    • Added US CUSA12431 support after checking 1.00/1.04 executable signatures.
    • Filtered the Frame controllers' duplicate SDL gamepad during VR.
    • Mapped all four Frame D-pad directions to the PS4 D-pad.
    • Added the native Frame interaction profile: SteamVR's automatic Touch conversion previously mapped B, X and Y to Square.

    Controls

    Frame button (right hand) PlayStation button
    A Cross
    B Circle
    X Square
    Y Triangle

    Left stick moves; the left D-pad maps to the PS4 D-pad. The right stick moves a finger on the touchpad for gadgets, and pressing it clicks the touchpad. Hold the left grip and flick the right stick sideways to turn the view in steps. Left View is Options; pressing both sticks recenters. B + Y simulates blowing. Triggers and grips retain the existing gadget gestures.

    Validation and limits

    Native FEX smoke/harness checks, known-title recognition, existing input/view checks and runtime dependency checks passed during the port. Stereo VR, head/controller tracking and opening gameplay were observed on the Frame. SteamVR accepted the new native profile and generated four distinct face-button bindings.

    The installer registered the shortcut on the Frame successfully. The runtime-download branch has not been exercised because the required runtime was already installed.

    This is a prerelease. The Circle action after the latest mapping fix has not yet been confirmed by the player. Full gameplay, gadgets, microphone and separate gamepads remain unverified. Windows and Quest builds were not rebuilt for this release.

    The archive includes licenses and third-party notices. Corresponding project source is this release tag; initialize its submodules and use the locked FEX revision via tools/build-frame.sh. SHA256SUMS.txt records the binary archive checksum.

    Downloads
  • DieMitchell released this 2026-10-11 08:00:43 +02:00 | 24 commits to main since this release

    Superseded by v0.1.2, which includes an on-device installer.

    Experimental native Steam Frame release

    Includes the v0.1.0 port and face-button correction, plus the Frame D-pad mapping.

    Standalone ARM64 Linux build of AstroQuest-Frame, based on evertec82/AstroQuest and bigmak94/AstroQuest. FEXCore translates the PS4 CPU instructions; Vulkan and SteamVR OpenXR provide stereo VR and tracking on the headset.

    Install with the SteamOS Devkit Client

    For the simplest on-device installation, use
    v0.1.2 and its install.sh.
    The archive on this older release predates the installer.

    To deploy this older archive, extract it on your PC and use the SteamOS Devkit
    Client
    . Pair the Frame as described in
    Valve's loading guide,
    then open Title Upload:

    Field Value
    Name AstroQuest_Frame
    Local Folder The extracted astroquest-frame folder on your PC
    Start Command ./launch.sh
    Runtime Not specified; launch.sh starts Runtime 4 ARM64 itself

    Install Steam Linux Runtime 4.0 - Arm64 on the Frame before launching. Its
    installation dialog can be opened from an SSH session on the Frame with
    steam steam://install/4185400. Complete the download in the headset.

    Copy your own extracted base game to ~/Games/AstroQuest/CUSA12431, including
    eboot.bin and sce_sys/param.sfo. Optional update 1.04 belongs in the sibling
    CUSA12431-UPDATE folder with its own sce_sys/param.sfo. No game or firmware
    files are included. See
    game preparation.

    Upload the title, then choose Start or launch Devkit Game: AstroQuest_Frame
    from the headset's Non-Steam library. Close the dashboard to give the game focus.

    Changes

    • Native ARM64 build using the pinned Steam Runtime 4 SDK, with Linux OpenXR support.
    • Fixed FEX guest address placement and unsafe pipeline-cache restoration.
    • Reduced Turnip GPU allocation sizes and budgets for shared headset memory.
    • Added US CUSA12431 support after checking 1.00/1.04 executable signatures.
    • Filtered the Frame controllers' duplicate SDL gamepad during VR.
    • Mapped all four Frame D-pad directions to the PS4 D-pad.
    • Added the native Frame interaction profile: SteamVR's automatic Touch conversion previously mapped B, X and Y to Square.

    Controls

    Frame button (right hand) PlayStation button
    A Cross
    B Circle
    X Square
    Y Triangle

    Left stick moves; the left D-pad maps to the PS4 D-pad. The right stick moves a finger on the touchpad for gadgets, and pressing it clicks the touchpad. Hold the left grip and flick the right stick sideways to turn the view in steps. Left View is Options; pressing both sticks recenters. B + Y simulates blowing. Triggers and grips retain the existing gadget gestures.

    Validation and limits

    Native FEX smoke/harness checks, known-title recognition, existing input/view checks and runtime dependency checks passed during the port. Stereo VR, head/controller tracking and opening gameplay were observed on the Frame. SteamVR accepted the new native profile and generated four distinct face-button bindings.

    This is a prerelease. The Circle action after the latest mapping fix has not yet been confirmed by the player. Full gameplay, gadgets, microphone and separate gamepads remain unverified. Windows and Quest builds were not rebuilt for this release.

    The archive includes licenses and third-party notices. Corresponding project source is this release tag; initialize its submodules and use the locked FEX revision via tools/build-frame.sh. SHA256SUMS.txt records the binary archive checksum.

    Downloads
  • DieMitchell released this 2026-10-11 08:00:46 +02:00 | 25 commits to main since this release

    Superseded by v0.1.2, which includes an on-device installer.

    Experimental native Steam Frame release

    Standalone ARM64 Linux build of AstroQuest-Frame, based on evertec82/AstroQuest and bigmak94/AstroQuest. FEXCore translates the PS4 CPU instructions; Vulkan and SteamVR OpenXR provide stereo VR and tracking on the headset.

    Install with the SteamOS Devkit Client

    For the simplest on-device installation, use
    v0.1.2 and its install.sh.
    The archive on this older release predates the installer.

    To deploy this older archive, extract it on your PC and use the SteamOS Devkit
    Client
    . Pair the Frame as described in
    Valve's loading guide,
    then open Title Upload:

    Field Value
    Name AstroQuest_Frame
    Local Folder The extracted astroquest-frame folder on your PC
    Start Command ./launch.sh
    Runtime Not specified; launch.sh starts Runtime 4 ARM64 itself

    Install Steam Linux Runtime 4.0 - Arm64 on the Frame before launching. Its
    installation dialog can be opened from an SSH session on the Frame with
    steam steam://install/4185400. Complete the download in the headset.

    Copy your own extracted base game to ~/Games/AstroQuest/CUSA12431, including
    eboot.bin and sce_sys/param.sfo. Optional update 1.04 belongs in the sibling
    CUSA12431-UPDATE folder with its own sce_sys/param.sfo. No game or firmware
    files are included. See
    game preparation.

    Upload the title, then choose Start or launch Devkit Game: AstroQuest_Frame
    from the headset's Non-Steam library. Close the dashboard to give the game focus.

    Changes

    • Native ARM64 build using the pinned Steam Runtime 4 SDK, with Linux OpenXR support.
    • Fixed FEX guest address placement and unsafe pipeline-cache restoration.
    • Reduced Turnip GPU allocation sizes and budgets for shared headset memory.
    • Added US CUSA12431 support after checking 1.00/1.04 executable signatures.
    • Filtered the Frame controllers' duplicate SDL gamepad during VR.
    • Added the native Frame interaction profile: SteamVR's automatic Touch conversion previously mapped B, X and Y to Square.

    Controls

    Frame button (right hand) PlayStation button
    A Cross
    B Circle
    X Square
    Y Triangle

    Left stick moves; right stick provides touchpad input. Left View is Options; pressing both sticks recenters. B + Y simulates blowing. Triggers and grips retain the existing gadget gestures.

    Validation and limits

    Native FEX smoke/harness checks, known-title recognition, existing input/view checks and runtime dependency checks passed during the port. Stereo VR, head/controller tracking and opening gameplay were observed on the Frame. SteamVR accepted the new native profile and generated four distinct face-button bindings.

    This is a prerelease. The Circle action after the latest mapping fix has not yet been confirmed by the player. Full gameplay, gadgets, microphone and separate gamepads remain unverified. Windows and Quest builds were not rebuilt for this release.

    The archive includes licenses and third-party notices. Corresponding project source is this release tag; initialize its submodules and use the locked FEX revision via tools/build-frame.sh. SHA256SUMS.txt records the binary archive checksum.

    Downloads