diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-01 15:31:43 -0500 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-01 15:31:43 -0500 |
| commit | 45aefb63e84fd3c75be7b24264885a53f3fb44b8 (patch) | |
| tree | b702079f16be91eb7e170d608c3de9879976c10e /src | |
| parent | e92d166ce97a9335f0e16526b40dc5dc456c361c (diff) | |
Fix SLR download failures and CMake rebuild detection
Replace SHA256SUMS verification with Content-Length check for SLR
downloads. Valve's CDN frequently serves stale SHA256SUMS that don't
match the current archive, causing persistent checksum mismatches.
Fix CMake DEPENDS for nak_ffi to glob all .rs sources instead of
hardcoding a few files — previously changes to slr.rs (and most other
Rust files) were silently ignored by ninja.
Also wrap prefix init and runtime commands through SLR pressure-vessel
container, and expose Proton install directories to the container.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/src/protonlauncher.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/src/protonlauncher.cpp b/src/src/protonlauncher.cpp index 3c279fa..c6fc545 100644 --- a/src/src/protonlauncher.cpp +++ b/src/src/protonlauncher.cpp @@ -463,9 +463,9 @@ bool ProtonLauncher::launchWithProton(qint64& pid) const // Build: [wrappers] run_script [--filesystem=...] -- proton_script protonArgs QStringList slrArgs; - // Expose the game directory (and its FUSE-mounted Data/) to the - // pressure-vessel container. Without this, the container's mount - // namespace may not see FUSE mounts on the host. + // Expose host directories to the pressure-vessel container. + // Without --filesystem= flags, the container's mount namespace + // may not see FUSE mounts or system-installed Proton paths. if (!m_binary.isEmpty()) { const QString gameDir = QFileInfo(m_binary).absolutePath(); slrArgs << QStringLiteral("--filesystem=%1").arg(gameDir); @@ -473,6 +473,13 @@ bool ProtonLauncher::launchWithProton(qint64& pid) const if (!m_prefixPath.isEmpty()) { slrArgs << QStringLiteral("--filesystem=%1").arg(m_prefixPath); } + // Expose the Proton installation directory — needed for + // system-installed Protons (e.g. /usr/share/steam/compatibilitytools.d/) + // whose files may not be visible inside the container by default. + { + const QString protonDir = QFileInfo(protonScript).absolutePath(); + slrArgs << QStringLiteral("--filesystem=%1").arg(protonDir); + } slrArgs << "--" << protonScript << protonArgs; wrapProgram(m_wrapperCommands, runScript, slrArgs, program, arguments); |
