github FelipePrado0/SpartanPort windows-v2.8.0-issue1131-test2
Test build issue1131-test2 on 2.8.0: infinite loading screens

pre-release3 hours ago

Test build 2 for infinite loading screens (#1131)

This build is for players stuck on a loading screen that never ends. It is not a final release: it tells us whether fixes that are not in 2.7.0 yet remove the hang, and if not, where the load stops.

What changes

  • Memory fixes from #1005, already on main but in no release yet. Among them, copy threads now read guest memory through a second view, so they no longer wait on a GPU thread that waits on them.
  • Texture cache, GPU and shader cache fixes from #1124. On graphics cards with less than 8 GB, texture pressure now starts at 60% of the budget instead of about 40%, the collector no longer gets stuck behind images it must keep, and an old "GPU idle" signal can no longer release newer work.
  • Load diagnostics. With SPARTAN_FILE_TRACE=1 the log records every WAD file the game opens and reads. With SPARTAN_LOAD_WATCHDOG=30 the log reports a load with no progress for 30 seconds and what every thread is doing. Both are off unless you turn them on.
  • New in test 2: on Windows the watchdog now also records where in the game code each thread is stopped, and the functions it came from. This is what we need to find the cause.
  • Everything else is the current main, including the AMD FSR upscaling and frame generation from #1123.

How to test

  1. Copy your save folder first. The game may overwrite the autosave.
  2. Extract spartanport-windows.zip into a new folder, so your current install stays as it is.
  3. Open PowerShell in the new folder and start the game with the diagnostics on:
    $env:SPARTAN_FILE_TRACE="1"; $env:SPARTAN_LOAD_WATCHDOG="30"; & ".\SpartanPort.exe"
  4. Load the save before the area that never loads, and go through the transition.
  5. If it loads, play a few minutes past it. If it hangs, wait at least one minute on the loading screen before closing the game.
  6. Copy user/last_run.log before starting the game again (it is overwritten), and reply on #1131 with it.

On Linux, use the AppImage attached here with the same two variables.

Validation

  • Built on Windows 11 (MSYS2 CLANG64). A new test checks that the watchdog reads where a thread is and lets it run again; it passed 5 runs in a row. The GPU and launcher code did not change since test 1, where their tests passed.
  • Built and opened on a clean Windows runner by the release workflow. The Linux AppImage started on Debian 13, Ubuntu 24.04, Arch, Fedora 42 and openSUSE Tumbleweed.
  • Not checked: the areas that hang, because they load normally on our test install. That is what we need you for.

Don't miss a new SpartanPort release

NewReleases is sending notifications on new releases.