diff --git a/wayvr/src/backend/wayvr/client.rs b/wayvr/src/backend/wayvr/client.rs index 94f58660..7f20e582 100644 --- a/wayvr/src/backend/wayvr/client.rs +++ b/wayvr/src/backend/wayvr/client.rs @@ -97,8 +97,8 @@ impl WayVRCompositor { let (wayland_env, listener) = create_wayland_listener()?; let xwayland_satellite = Command::new("xwayland-satellite") - .arg(":20") - .env("WAYLAND_DISPLAY", wayland_env.display_num_string()) + .arg(wayland_env.display_num_string()) + .env("WAYLAND_DISPLAY", wayland_env.wayland_display_num_string()) .spawn() .log_warn( "Could not start xwayland-satellite. Xwayland apps will not work in native mode", @@ -339,7 +339,7 @@ fn create_wayland_listener() -> anyhow::Result<(super::WaylandEnv, wayland_serve }; let listener = loop { - let display_str = env.display_num_string(); + let display_str = env.wayland_display_num_string(); log::debug!("Trying to open socket \"{display_str}\""); match wayland_server::ListeningSocket::bind(display_str.as_str()) { Ok(listener) => { diff --git a/wayvr/src/backend/wayvr/mod.rs b/wayvr/src/backend/wayvr/mod.rs index ae63bfcc..37082115 100644 --- a/wayvr/src/backend/wayvr/mod.rs +++ b/wayvr/src/backend/wayvr/mod.rs @@ -80,10 +80,14 @@ pub struct WaylandEnv { } impl WaylandEnv { - pub fn display_num_string(&self) -> String { + pub fn wayland_display_num_string(&self) -> String { // e.g. "wayland-20" format!("wayland-{}", self.display_num) } + pub fn display_num_string(&self) -> String { + // e.g. ":20" + format!(":{}", self.display_num) + } } #[derive(Clone)] @@ -788,10 +792,10 @@ impl WvrServerState { } fn configure_env(&self, cmd: &mut std::process::Command, auth_key: &str, is_flatpak: bool) { - cmd.env_remove("DISPLAY"); // Goodbye X11 + cmd.env("DISPLAY", self.manager.wayland_env.display_num_string()); cmd.env( "WAYLAND_DISPLAY", - self.manager.wayland_env.display_num_string(), + self.manager.wayland_env.wayland_display_num_string(), ); if is_flatpak {