Repository navigation
Port three small fixes from the DarthMDev and KartPad forks - #10
Merged
Merged
Conversation
When an mbed TLS write timed out, SslWrite called DeleteWiiSocket, which closed the game's socket and cleared its SSL slot while the game still held both ids. A later SSL_NEW could then hand the same slot out under the old id. Now a failed write marks the session failed and shuts the host socket down; later reads, writes and handshakes on it fail until the game tears the session down itself. Ported from DarthMDev/Wiicompiled a2ecc0f (network_ssl.cpp part) and fcf8646, both on upstream PR patchzyy#258. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019rLZ24cFcqTNBmb4w2dpSq
Ported from chrissotraidis/wiicompiled (KartPad) ec14a0d. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019rLZ24cFcqTNBmb4w2dpSq
Ported from chrissotraidis/wiicompiled (KartPad) 97cdc9a. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019rLZ24cFcqTNBmb4w2dpSq
Ported from chrissotraidis/wiicompiled (KartPad) affabbd. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019rLZ24cFcqTNBmb4w2dpSq
Aurora's own debug groups only exist when AURORA_GFX_DEBUG_GROUPS is defined, but the three ImGui passes (desktop overlay, host-frame overlay and the headset settings panel) pushed and popped theirs in every build. An Adreno 740 Android driver (512.676) faults in vkCmdEndDebugUtilsLabelEXT on the first overlay pass (KartPad patchzyy#321); the Quest 3 uses the same GPU. Gate all three like the rest of Aurora. Ported from chrissotraidis/wiicompiled (KartPad) 420b828, extended to the two extra passes this fork has. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019rLZ24cFcqTNBmb4w2dpSq
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: when a Retro Rewind TLS write timed out after 15 s, the runtime closed the game's socket and cleared its SSL slot while the game was still using both, so a later connection could take the same slot under the old id. Disc reads were copied into guest RAM one byte at a time, every read reopened its file, and SZS archives were decompressed byte by byte through guest-memory accessors. The ImGui passes always recorded Vulkan debug labels, which an Adreno 740 Android driver crashes on.
After: a failed TLS write keeps the session but marks it failed, and later calls on it fail cleanly until the game closes it. Disc reads use
memcpyinto ordinary RAM, keep up to 8 file handles per thread, and SZS decoding uses direct pointers when the range is plain RAM. ImGui debug labels only exist whenAURORA_GFX_DEBUG_GROUPSis defined, like the rest of Aurora's.These come from the fork review (
/mnt/project-files/fork-review/group-1.mdin the project). Expect shorter loads, not more fps; the label change mostly matters for the Quest 3 build.How: one commit per fix, each credited to its source.
Checked locally:
network_ssl.cpp,dvd.cppandegg_decomp.cpppassclang++ -std=c++20 -fsyntax-only -Wallfor Linux, with and withoutMKW_HEADSET_STEAM_FRAME, against mbed TLS 3.6.7 headers. A small harness for the cachedDvdReadContract::ReadExact(repeat reads over more than 8 files, bad offsets, short reads, a file rewritten with a new mtime, a missing file, a second thread) passes, including under ASan and UBSan. Not built for the headset or played yet.🤖 Generated with Claude Code
https://claude.ai/code/session_019rLZ24cFcqTNBmb4w2dpSq
Generated by Claude Code