From c360dbf9c42f71e7931c56b7a396ba7f7e9982e6 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Mon, 23 Feb 2026 17:44:12 -0600 Subject: Remove umu-run, keep game as child process for Steam tracking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove umu-run entirely (crashed due to pressure-vessel/FUSE incompatibility) — use raw `proton run` instead - Replace startDetached() with QProcess::start() so the game stays in Fluorine's process tree. This lets Steam track the game lifetime and makes the "close game" button work when Fluorine is added as a non-Steam game. - Add writeIniValueDirect/readIniValueDirect for safe Bethesda INI handling without QSettings corruption - Fix prefix_setup.rs to skip umu-run bootstrapping - Clean up settings UI, build scripts, and docs for umu-run removal Co-Authored-By: Claude Opus 4.6 --- libs/nak/src/installers/prefix_setup.rs | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'libs/nak/src/installers') diff --git a/libs/nak/src/installers/prefix_setup.rs b/libs/nak/src/installers/prefix_setup.rs index 4f27606..468aaa2 100644 --- a/libs/nak/src/installers/prefix_setup.rs +++ b/libs/nak/src/installers/prefix_setup.rs @@ -297,23 +297,9 @@ fn initialize_prefix_with_proton( ("WINEDLLOVERRIDES", "msdia80.dll=n;conhost.exe=d;cmd.exe=d".to_string()), ]; - let (exe, args): (std::path::PathBuf, Vec<&str>) = if runtime_wrap::use_umu_for_prefix() { - if let Some(umu_run) = runtime_wrap::resolve_umu_run() { - log_install(&format!("Initializing prefix with umu-run: {:?}", umu_run)); - envs.push(("PROTONPATH", proton.path.display().to_string())); - envs.push(("WINEPREFIX", prefix_root.display().to_string())); - envs.push(("GAMEID", app_id.to_string())); - (umu_run, vec!["wineboot", "-u"]) - } else { - log_warning( - "UMU prefix mode enabled but no umu-run was found; falling back to proton wrapper", - ); - (proton_script.clone(), vec!["run", "wineboot", "-u"]) - } - } else { - log_install(&format!("Initializing prefix with proton wrapper: {:?}", proton_script)); - (proton_script.clone(), vec!["run", "wineboot", "-u"]) - }; + log_install(&format!("Initializing prefix with proton wrapper: {:?}", proton_script)); + let (exe, args): (std::path::PathBuf, Vec<&str>) = + (proton_script.clone(), vec!["run", "wineboot", "-u"]); let mut cmd = runtime_wrap::build_command(&exe, &envs); cmd.args(&args); -- cgit v1.3.1