zeroed-some/wanda / 60ee785

Browse files

pin wemod to 11.6.0, pass display env to installer

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
60ee7853bdfccd18811d82018acc15b27ae987f2
Parents
98a8660
Tree
7df06b6

2 changed files

StatusFile+-
M crates/wanda-core/src/wemod/downloader.rs 3 2
M crates/wanda-core/src/wemod/installer.rs 16 0
crates/wanda-core/src/wemod/downloader.rsmodified
@@ -14,9 +14,10 @@ const WEMOD_DOWNLOAD_URL: &str = "https://api.wemod.com/client/download";
1414
 /// Pinned WeMod version known to work on Linux with Wine/Proton
1515
 /// Version 12.x has known compatibility issues (black window, renderer crashes)
1616
 /// See: https://community.wemod.com/t/wand-wemod-version-12-0-3-on-linux-proton-just-displays-a-black-window/373133
17
-const WEMOD_LINUX_COMPATIBLE_VERSION: &str = "11.5.0";
17
+/// Using 11.6.0 as it matches wemod-launcher and has better Cloudflare verification support
18
+const WEMOD_LINUX_COMPATIBLE_VERSION: &str = "11.6.0";
1819
 const WEMOD_LINUX_COMPATIBLE_URL: &str =
19
-    "https://storage-cdn.wemod.com/app/releases/stable/WeMod-11.5.0.exe";
20
+    "https://storage-cdn.wemod.com/app/releases/stable/WeMod-11.6.0.exe";
2021
 
2122
 /// Information about a WeMod release
2223
 #[derive(Debug, Clone)]
crates/wanda-core/src/wemod/installer.rsmodified
@@ -45,6 +45,22 @@ impl<'a> WemodInstaller<'a> {
4545
         env.insert("PROTON_NO_ESYNC".to_string(), "1".to_string());
4646
         env.insert("PROTON_NO_FSYNC".to_string(), "1".to_string());
4747
 
48
+        // Pass display variables for GUI (required for WeMod installer)
49
+        if let Ok(disp) = std::env::var("DISPLAY") {
50
+            info!("Captured DISPLAY={}", disp);
51
+            env.insert("DISPLAY".to_string(), disp);
52
+        } else {
53
+            warn!("DISPLAY not set in environment!");
54
+        }
55
+        if let Ok(wayland_disp) = std::env::var("WAYLAND_DISPLAY") {
56
+            info!("Captured WAYLAND_DISPLAY={}", wayland_disp);
57
+            env.insert("WAYLAND_DISPLAY".to_string(), wayland_disp);
58
+        }
59
+        if let Ok(xdg_dir) = std::env::var("XDG_RUNTIME_DIR") {
60
+            info!("Captured XDG_RUNTIME_DIR={}", xdg_dir);
61
+            env.insert("XDG_RUNTIME_DIR".to_string(), xdg_dir);
62
+        }
63
+
4864
         // Set Proton lib paths for finding dependencies
4965
         let proton_lib64 = self.proton.path.join("files/lib64");
5066
         let proton_lib = self.proton.path.join("files/lib");