Skip to content

Stabilize EVE Online Steam handoff lifecycle - #684

Merged
aaf2tbz merged 1 commit into
mainfrom
pr/new-pr-20260927-161623
Sep 28, 2026
Merged

aaf2tbz merged 1 commit into
mainfrom
pr/new-pr-20260927-161623

Conversation

@aaf2tbz

@aaf2tbz aaf2tbz commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Make EVE Online's Steam/D3DMetal handoff reliably track the launcher-to-client transition and allow Stop/Cmd+Opt+Q to stop the managed EVE processes. Keep fresh Wine Steam sessions on the D3DMetal environment verified for Steam-launched games.

Changes

  • Track EVE Online (Steam App ID 8500) during a 15-second launcher-to-client grace period, discover EVE across Wine drive mappings, and target its managed launcher/client processes when stopping.
  • Reap replaced Wine handoff children and keep Stop/Cmd+Opt+Q aligned with EVE's process lifecycle.
  • Align D3DMetal bottle staging/readiness with EVE's downloaded 64-bit client; allow the launcher to bootstrap first-run installs.
  • Verify the D3DMetal route of an existing Wine Steam session and recover pending route markers after slower startup.
  • Add regression tests for mapped paths, pending grace/reaping, and lifecycle behavior; document Steam/EVE behavior.

PR Readiness (MANDATORY)

  • Real-game launch test completed for game/runtime/graphics/compatibility changes (game + method below; otherwise mark N/A) — EVE Online (App ID 8500), Steam handoff through Wine Steam with D3DMetal; the user confirmed a successful game launch in the installed test build.
  • No hardcoded paths, secrets, or absolute /Users/... paths introduced
  • Config/rules TOML validated if configs/mtsp-rules.toml or DLL maps changed
  • Version metadata (CMakeLists.txt, app/src-c/Makefile, package.json, package-lock.json) in sync if version bumped
  • Bottle/runtime migration and launch behavior preserved (rollback plan noted if changed) — no prefix migration; rollback is to revert this PR. Local app backup: /Volumes/AverySSD/MetalSharp.app.backup-eve-final-install-20260927-205722.
  • Docs / compatibility matrix updated for user-facing changes — runtime behavior documented; no compatibility claim added.
  • Regression test added for each bug fix

Local toolchain

  • C backend builds and tests: make -C app/src-c test
  • C++ compiles if changed: N/A (no C++ changes)
  • clang-format --dry-run --Werror passes on changed C files
  • ctest --test-dir build-native passes if tests changed: N/A (C backend tests only)
  • TypeScript compiles: npx tsc --noEmit
  • Biome + Prettier pass (Biome reports existing warnings only)
  • Shell scripts lint if changed: N/A
  • Rules TOML validation if changed: N/A
  • DMG workflow validation if release/bundle tooling changed: N/A
  • Real-game launch test completed: EVE Online / Wine Steam handoff / D3DMetal; process-path and grace/reaping refinements are fixture-tested. No additional live launch was performed after those refinements.
  • No hardcoded paths, secrets, or absolute /Users/... paths introduced
  • No new files added to repository root

Test notes

make -C app/src-c test, clang-format, TypeScript compilation, Biome, Prettier, and the frontend build passed. The installed app's EVE D3DMetal status reports seeded and ready. The Stop endpoint was exercised against running EVE processes in the installed test build; the final mapped-drive cases are covered by regression fixtures.

Risk

New Wine Steam sessions started from MetalSharp use D3DMetal by default, as requested. Existing Steam sessions are reused; if EVE detects an unverified route, it reports that Steam must be stopped and launched from MetalSharp rather than silently falling back. Roll back by reverting this PR; the local installed build can be restored from the backup above.

@aaf2tbz
aaf2tbz merged commit b7da6b6 into main Sep 28, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant