Repository navigation
Port Retro Rewind install, adaptive resolution and a scene-load crash fix from VR-PLUS - #6
Merged
Merged
Conversation
Nintendo's GXClearVtxDesc, and Aurora's, keep GX_VA_POS at GX_DIRECT. The HLE mirror cleared it to GX_NONE, so the next draw could publish no position attribute and abort shader generation while a scene loads. Keep the mirror in step, and give the shader a zero position if a stream still arrives without one. Ported from heurazy/Wiicompiled_VR-PLUS (c2b2500). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sabhzu6VgoWcHtpSk4C9KZ
The Steam Frame install script built only the base game. With --retro-rewind it now fetches the Retro Rewind pack from Retro Rewind's update server, as the Quest app and Wheel Wizard do: the full download once, then each published update and its deletions. It also fetches the Retro-WFC payload online play needs, builds both products from one translation, copies the pack beside the disc on the Frame, sets [paths] retro_rewind_root and adds RetroRewind to the Steam library. --retro-rewind-pack uses a RetroRewind6 folder the player already has. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sabhzu6VgoWcHtpSk4C9KZ
[vr] adaptive_resolution (off by default, in the VR tab) lowers the race's eye resolution by 10% steps, down to 70%, while new eye frames fall below 85% of the game's 60 FPS, and raises it again after three seconds on time. Adapted from heurazy/Wiicompiled_VR-PLUS. The eyes render into the top-left corner of the full swapchain image and the projection layer shows only that corner, so the compositor upscales them and no swapchain is recreated, unlike render_scale. The Linux same-device bridge now copies an eye smaller than its target; the Quest's bridge and layer already did. The PC's D3D12 path copies whole eyes, so the setting is not offered on Windows. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sabhzu6VgoWcHtpSk4C9KZ
mitch030504
marked this pull request as ready for review
October 5, 2026 12:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Mitch · project thread
Before: the Steam Frame install script could only build the base game. The headset's eye resolution was fixed at
render_scaleand could not drop when frames fell behind. A scene load could abort the game while building a shader for a draw that had no position data.After:
steam-frame-install.sh --retro-rewinddownloads, keeps up to date, builds and installs Retro Rewind beside the base game. A new, experimental[vr] adaptive_resolutionsetting (off by default) lowers the race's eye resolution to as little as 70% while new frames fall behind 60 FPS, then raises it again. The scene-load abort is fixed.All three come from heurazy/Wiicompiled_VR-PLUS, adapted to this fork.
How
c2b2500): Nintendo'sGXClearVtxDesc, and Aurora's own version (GXGeometry.cpp:222), leave the position descriptor set to direct. The HLE mirror ingx_vertex.cppcleared it instead. It now matches them, and the shader generator uses a zero position if a stream still arrives without one.RetroRewindPack.kt.version.txtlast.RetroRewind6/. Paths that climb out with..are refused.--profile both, copies the pack to the Frame only when its version changed, sets[paths] retro_rewind_root, and adds RetroRewind to the Steam library.--retro-rewind-pack DIRuses a folder you already have instead of downloading.runtime/include/vr/adaptive_resolution.hdecides the scale once a second. A second below 85% of the target lowers the scale by 0.1, and three seconds in a row at the target raise it again. It only measures during races.imageRectshows only that corner. The compositor does the upscaling and no swapchain is recreated.vulkan_win32_interop.cpp) now copies an eye that is smaller than its target. The Quest bridge and layer already supported this.TryCancelPendingPacket), so the 10-second stall it fixes does not happen here.Testing
vr_adaptive_resolution_tests(new) andvr_config_testspass.openxr_integration.cpp,openxr_vulkan_win32.cppandsettings_overlay.cpppass a clang-fsyntax-onlycheck for Linux...path, and did nothing on a second run.shellcheckreports no warnings on the install script.--retro-rewindrun will show whether that matters.🤖 Generated with Claude Code
https://claude.ai/code/session_01Sabhzu6VgoWcHtpSk4C9KZ
Generated by Claude Code