Releases: mitch030504/Wiicompiled_VR_Frame
Release list
WiiCompiled VR for the Steam Frame beta-3
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-rewinddownloads 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 DIRuses 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 --updatereuses the
options the install was made with and builds nothing when the Frame already has the newest
release (and Retro Rewind pack);--checkonly 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.shgathers 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 patchzyy#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 patchzyy#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 patchzyy#244, nx-mod). Config.tomlis saved through a temporary file, so a crash mid-save can't empty it
(BlackAndBlue95).- Renderer fixes from upstream's KartPad batch (patchzyy#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 patchzyy#251), and a
bltltranslation (patchzyy#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.
WiiCompiled VR for the Steam Frame beta-2
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
.zipor
.7zif you like, or as an extracted folder. It checks the disc is PALRMCP01before 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.mdis gone (it stays readable at theframe-beta-1tag).
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.
WiiCompiled VR for the Steam Frame beta-1
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.