docs(phase5): P2-RTX graphical corruption investigation — dual-mod (Digital pack) root-cause hypothesis - #85
Merged
Conversation
…igital pack) root-cause hypothesis Evidence: core mod files md5-pristine; mods/Digital (p2-rtx 2.1-era, Feb-2026) loaded alongside the 2.4.x base mod in BOTH the wine11-wow64 (15:24) and purepe-container (16:19) runs — suboptimal replacement texture warnings + 160-170MB textures exceeding the 96MB streaming staging buffer (forced synchronous uploads, stutter, black/missing textures). Runner-independent by construction. A/B plan: move Digital out, then pristine rtx.conf, then integrateIndirectMode=0.
…rectWine (wined3d fallback) 16:53 run (purepe bare wine, 620/pfx) never loaded the mod chain: wine builtin wined3d rendered instead (15M trace lines, no bridge/remix logs, dxwrapper log stale). Launch matrix: wine11-wow64 DirectWine and purepe OnlineContainerized both load the chain; purepe DirectWine does not. Digital A/B must run under a mod-loading configuration.
…ore (missing USD plugin resources) Full audit vs the 2.4.3 archive: 124/165 files missing (all usd/ plugInfo + glslfx shaders), 37 diag-artifact leftovers, d3d9.dll a foreign binary (24c7cf vs archive 9e301a). Aug-8 restore was partial. Restored full .trex from archive (backup kept). Runner-independent corruption source.
…rruption root cause User retest: Portal 2 renders perfectly after the archive .trex restore (Digital out). Mel (317400) follow-up: installed the 2.4.3 chain + base mod + real Digital pack; SteamFlow entry created.
fea906f (cadence-gated cover checks) removed ensure_image_requested's early returns for already-loaded best variants. The spawned task completes within the same frame it starts (24h state window still fresh -> cached path sent back -> pending_images cleared in poll_image_results), so the selected game's cover task respawned EVERY UI frame at full repaint rate (~165 Hz on a high-refresh display): cached JPEG re-decoded in the tokio worker + texture re-uploaded on the UI thread, pegging ~1 core (~7% on a 16-core host). Fix: track last_cover_request per appid and skip spawning while inside the COVER_RECHECK_INTERVAL_SECS window (covers failed fetches too — same respawn loop). The once-per-day availability HEAD recheck still runs when the interval elapses; Refresh Library clears the map so manual refresh forces an immediate full recheck.
3 tasks
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.
What
Investigation record for the Portal 2 RTX graphical corruption seen on both runners (wine11-wow64 DirectWine and pure-PE Proton 11.0 in the SLR container). Follows PR #84 (Phase 5 validation) and PR #83 (Phase 4 overview).
Problem
RTX Remix renders corrupted frames: dark-with-only-lights, noise/flicker, wrong colors, garbage geometry, missing/black textures. RTX pipeline confirmed running (MangoHud ~25 fps RTX vs ~120 fps non-RTX; camera accepted in-map). The 16:19 container run (purepe) shows byte-identical symptoms to the 15:24 DirectWine run — runner-independent.
What we ruled out
bin/d3d9.dll,bin/winmm.dll,portal2_dlc3/pak01_dir.vpkall match) — no file corruption.Root-cause hypothesis (with direct log proof)
rtx-remix/mods/holds two mods each withmod.usda: the current base modportal2rtx/and the Feb-2026 Digital-additions pack built for p2-rtx 2.1. The runtime loads both → replacement-stage conflicts, plus Digital's enormous 2.1-era textures (160–170 MB) blow the 96 MB streaming staging buffer → forced synchronous uploads (stutter, ~25 fps) and black/missing textures:Identical failures in both runs → data-driven, not runner-driven.
A/B plan
mods/Digitalout (backup) → retest → expect corruption cleared.rtx.conf+ minimal overrides (graphicsPreset=4, showUI=2).rtx.integrateIndirectMode = 0(skip NRC fallback noise path).Test config
steam_mode = OfflineEmulated+steamflow-proton-11.0-purepe(container boot proven in phase 4; no native Steam needed).+map sp_a1_intro1; remap watcher for the compositor white; logs →~/remix_logs.