• DieMitchell released this 2026-10-08 15:45:59 +02:00 | 1 commits to openxr-work since this release

    The fourth beta of WiiCompiled VR for the Steam Frame focuses on safer installs and updates.
    It preserves working disc data when extraction fails, fixes moving an installation to a different
    path, and makes release updates remove obsolete source files without deleting disc data or build
    caches.

    This release is source only. Build the game from your own clean PAL RMCP01 disc. No compiled
    game or disc assets are included.

    Fixed

    • Linux setup extracts and validates disc data in staging before replacing the working copy.
      Failed validation or cancellation leaves the previous disc data intact, and cancellation stops
      the extraction process before its scratch directory is removed.
    • Frame installations keep remote paths with spaces and shell characters as single arguments.
    • Changing the disc or Retro Rewind location updates the corresponding Config.toml setting
      while preserving other settings.
    • Release updates remove files owned by the previous release that no longer exist in the new
      one. Disc assets, generated output and build caches remain in place.
    • A work-directory lock prevents overlapping manual installs and in-game updates.
    • Linux and Frame Retro Rewind builds verify the Retro-WFC payload signature before translation.
      Android already performed this verification.
    • Android folder replacements keep recovery copies until the full import commits. Interrupted
      imports can roll back disc data, the mod pack and the compiled library together. Play is blocked
      while a replacement journal is pending, and setup recovers it before another task starts.

    Updating from frame-beta-3

    Fetch the new installer so this update uses the fixes:

    curl -fsSL https://raw.githubusercontent.com/mitch030504/Wiicompiled_VR_Frame/openxr-work/Launcher/steam-frame-install.sh \
        | bash -s -- --update
    

    Add --work-dir DIR if the original install used a different work directory. The installer now
    requires Python 3 and flock from util-linux on the build machine. Both are normally available on
    the Frame.

    The first update of an older installation downloads its previous release's archive once to recover
    which source files it owned. This extra download prevents cleanup from deleting user data or build
    caches. Later updates reuse the saved file list.

    Validation

    • 664 .NET tests passed locally using .NET 10 major-version roll-forward; CI uses .NET 8.
    • Seven Android directory-transaction tests and six Frame installer regression checks passed.
    • Linux setup built successfully, and installer shell syntax checks passed.
    • New Linux CI checks cover extraction failure, cancellation, recovery and Frame file operations.

    A full APK build and real-headset installation were not tested for this release.

    Known issues

    The VR rendering issues from frame-beta-3 remain: doubled images in races and on the HUD, weaker
    right-eye foveation tracking, and unrecommended frame interpolation. The Android Steam Frame flavour
    still does not show a picture in Lepton; use the native build.

    Recommended settings remain render_scale = 1.25, foveation = "medium", repeat_frames = true,
    frame_interpolation_fps = 0, and resolution_multiplier = 2, with SteamVR at 120 Hz.

    Downloads
  • DieMitchell released this 2026-10-05 20:00:09 +02:00 | 5 commits to openxr-work since this release

    The third beta of WiiCompiled VR for the Steam Frame: Mario Kart Wii, statically recompiled to
    native ARM64 code, running in VR on SteamOS through SteamVR. This one brings in fixes from upstream
    WiiCompiled and from other WiiCompiled forks, Retro Rewind in the installer, and a diagnostics
    script. Thanks to everyone whose work is in it; CREDITS.md lists who wrote
    what.

    This release is source only. The game is always built from your own clean PAL RMCP01 disc,
    and nothing built from it may be distributed, so there is no ready-built game here.

    New

    • Retro Rewind in the installer. steam-frame-install.sh --retro-rewind downloads the Retro
      Rewind pack from its own update server, builds Retro Rewind beside the base game and adds it to
      your Steam library. --retro-rewind-pack DIR uses a pack you already have. Online play works on
      Linux now that TLS does (below). From heurazy's Wiicompiled_VR-PLUS.
    • Adaptive resolution ([vr] adaptive_resolution, off by default): lowers the race's eye
      resolution down to 70% while frames fall behind, and raises it again once they keep up.
      Experimental and not yet tried in a race on the Frame. From Wiicompiled_VR-PLUS.
    • Updating, from the PC or from inside the game. steam-frame-install.sh --update reuses the
      options the install was made with and builds nothing when the Frame already has the newest
      release (and Retro Rewind pack); --check only reports. An install built on the Frame itself
      (--frame local) gets an Updates tab in the settings panel: it checks for a new release and
      builds it in the background while the game stays open, showing each step and how far the build
      is. Close the game meanwhile and the update reopens it when done. Steam notifications were tried
      for this and do not show on the Frame.
    • Launcher/frame-diagnostics.sh gathers the logs, crash files, settings, SteamVR logs and
      system state from the Frame into one archive, with a summary of how far startup got. Attach it
      to bug reports.

    Fixed

    • A crash while a scene loads (GXClearVtxDesc). From Wiicompiled_VR-PLUS.
    • TLS on Linux, through Mbed TLS, so online services can connect at all (upstream #144), and a
      timed-out TLS write no longer frees a session the game still holds (DarthMDev).
    • Saves on a different drive or the SD card can be moved (upstream #212); the game keeps its local
      Wii identity services while offline, and emptied WiiConnect24 files are refilled, so it no longer
      reports a save error for them (upstream #244, nx-mod).
    • Config.toml is saved through a temporary file, so a crash mid-save can't empty it
      (BlackAndBlue95).
    • Renderer fixes from upstream's KartPad batch (#244): draws no longer read past their own vertices,
      three-byte vertex attributes, GEN_MODE, EFB copies and readback, pipeline cache rows and pipeline
      compile wake-ups. Waiting on the GPU now sleeps instead of holding a CPU core busy.
    • Effects no longer vanish while the world is darkened, such as Stormship's lightning
      (BlackAndBlue95).
    • Controller player indices and socket errors (upstream #251), and a bltl translation (#254).

    Faster

    • Disc reads and SZS decompression take bulk copies and keep file handles open per thread
      (KartPad).
    • Audio mixing uses NEON (rooklz).
    • Translated memory accesses no longer check the page size each time, since the Frame uses 4 KiB
      pages; the game checks once at startup (from nx-mod's finding).

    Updating from frame-beta-2

    Run the install command again; you can leave out --disc. Dawn's patches did not change, so it is
    not rebuilt. Most of the game is, since the translator changed as well as the runtime and renderer,
    so expect a longer update than usual. The build now also downloads Mbed TLS. Add --retro-rewind to get Retro Rewind too.

    frame-beta-2's script has no --update, so this one update is the full install command; it saves
    its options, and from then on steam-frame-install.sh --update is enough. To update from inside
    the game later, make this install on the Frame itself with --frame local.

    Known issues

    Unchanged from frame-beta-2:

    • Images double in races and on the HUD, sometimes in the right eye only. Foveation is the main
      suspect; try foveation Off if it bothers you, and report the result.
    • Foveation follows the right eye less well than the left.
    • VR frame interpolation is not recommended on the Frame.
    • The Android (steamFrame) flavour cannot show a picture in Lepton; use the native build.

    Recommended settings

    render_scale = 1.25, foveation = "medium", repeat_frames = true, frame_interpolation_fps = 0
    under [vr], and resolution_multiplier = 2 under [video]. SteamVR at 120 Hz.

    Reports with the run log from ~/.local/share/WiiCompiled/Logs/, or the archive
    frame-diagnostics.sh makes, are welcome as issues.

    Downloads
  • DieMitchell released this 2026-10-05 11:00:07 +02:00 | 49 commits to openxr-work since this release

    The second beta of WiiCompiled VR for the Steam Frame: Mario Kart Wii, statically recompiled to
    native ARM64 code, running in VR on SteamOS through SteamVR. This one is about installing: one
    command now takes you from your disc to the game in your Steam library.

    This release is source only. The game is always built from your own clean PAL RMCP01 disc,
    and nothing built from it may be distributed, so there is no ready-built game here.

    Install in one command

    Set up ARM64 emulation on an x86_64 Linux PC (the README's
    Quick start, step 1), then:

    curl -fsSL https://raw.githubusercontent.com/mitch030504/Wiicompiled_VR_Frame/openxr-work/Launcher/steam-frame-install.sh \
        | bash -s -- --disc "/path/to/Mario Kart Wii.wbfs" --frame steamos@<frame-ip>
    

    Launcher/steam-frame-install.sh (also in this release's source) does the rest:

    • downloads the newest release and builds it in an ARM64 container (podman or docker), with as many
      compiles at once as your memory allows;
    • takes your disc as an ISO, WBFS or RVZ image (WIA, CISO, GCZ and NFS too), inside a .zip or
      .7z if you like, or as an extracted folder. It checks the disc is PAL RMCP01 before building;
    • copies the game and the disc to the Frame over SSH, points the game at the disc, and adds it to
      your Steam library (through Valve's devkit tools, which Frame Control puts on the Frame);
    • updates: run the same command again and only what changed is rebuilt and replaced.

    With Frame Control set up, --frame frame works.
    --frame local builds and installs on the Frame itself; leaving --frame out only builds.
    --help lists every option.

    Also new

    • The README is now the one guide, opening with the Quick start; the manual steps remain under
      "Building by hand". docs/steam-frame.md is gone (it stays readable at the frame-beta-1 tag).

    Updating from frame-beta-1

    Nothing in the game or in Dawn changed, so a working frame-beta-1 install needs no rebuild. To move
    to the installer anyway, run the command above: it keeps its own work folder
    (~/wiicompiled-frame) and builds from scratch there the first time, then installs over your
    existing ~/devkit-game/WiiCompiled/. A disc already at ~/wiicompiled/disc on the Frame and an
    existing dvd_root setting are left as they are.

    Known issues

    Unchanged from frame-beta-1:

    • Images double in races and on the HUD, sometimes in the right eye only. Foveation is the main
      suspect; try foveation Off if it bothers you, and report the result.
    • Foveation follows the right eye less well than the left.
    • VR frame interpolation is not recommended on the Frame.
    • The Android (steamFrame) flavour cannot show a picture in Lepton; use the native build.

    The installer is new and was tested with synthetic discs and stand-ins for the container and the
    Frame; reports of how it does on real machines are welcome.

    Recommended settings

    render_scale = 1.25, foveation = "medium", repeat_frames = true, frame_interpolation_fps = 0
    under [vr], and resolution_multiplier = 2 under [video]. SteamVR at 120 Hz.

    Reports with the run log from ~/.local/share/WiiCompiled/Logs/ (and, for the installer,
    ~/wiicompiled-frame/build.log) are welcome as issues.

    Downloads
  • DieMitchell released this 2026-10-05 10:00:07 +02:00 | 56 commits to openxr-work since this release

    The first beta of WiiCompiled VR for the Steam Frame: Mario Kart Wii, statically recompiled to native
    ARM64 code, running in VR on SteamOS through SteamVR.

    This release is source only. The game is always built from your own clean PAL RMCP01 disc,
    and nothing built from it may be distributed, so there is no ready-built game here. Follow
    Building and installing
    in the README; the full commands are in
    docs/steam-frame.md.

    What works on the Frame

    • Starts in VR from the Steam library (installed with Frame Control) with SteamVR's OpenXR runtime.
      The runtime creates the GPU device the game renders with, so the eyes go straight into the
      headset's swapchain.
    • Both eyes at the panels' native 2160x2160 (render_scale = 1.25), 120 Hz, every game frame
      shown: SteamVR reports 120 Hz with 60 new frames and 60 repeats a second and no late frames.
    • The Frame's own controllers: left D-pad as the Wii Remote's D-pad, View to pause, left shoulder
      for the settings panel.
    • Fragment density map foveation that follows your eyes through the Frame's eye tracking.

    Fixed during device testing

    • A crash on race restart inside the Frame's Vulkan driver: density maps shared memory that Dawn
      unmaps after buffer uploads. Each map now has its own memory block (Dawn patch, so rebuild Dawn).
    • SteamVR halving the game's rate and filling every other refresh itself:
      [vr] repeat_frames (on by default for the Frame) resubmits the last frame for those refreshes.
    • Native crashes on Linux now log the faulting thread, pc and backtrace.
    • The eye-tracked foveation region is 8 degrees wider and each eye keeps 128 maps.

    Known issues

    • Images double in races and on the HUD, sometimes in the right eye only. Foveation is the main
      suspect; try foveation Off if it bothers you, and report the result.
    • Foveation follows the right eye less well than the left.
    • VR frame interpolation is not recommended on the Frame.
    • The Android (steamFrame) flavour cannot show a picture in Lepton; use the native build.

    Recommended settings

    render_scale = 1.25, foveation = "medium", repeat_frames = true, frame_interpolation_fps = 0
    under [vr], and resolution_multiplier = 2 under [video]. SteamVR at 120 Hz.

    Reports with the run log from ~/.local/share/WiiCompiled/Logs/ are welcome as issues.

    Downloads