aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-09-12 21:45:37 +0200
committermetamuffin <metamuffin@disroot.org>2025-09-12 21:45:37 +0200
commit5fbfa29e38c7936917bee50050d754cb7654d5ad (patch)
treecfa5b6d71733176f8c1c060449e55b51bf0aeacc
parent42b018b19bc08044c0e5dd2a195abffbf96da7d9 (diff)
downloadhurrycurry-5fbfa29e38c7936917bee50050d754cb7654d5ad.tar
hurrycurry-5fbfa29e38c7936917bee50050d754cb7654d5ad.tar.bz2
hurrycurry-5fbfa29e38c7936917bee50050d754cb7654d5ad.tar.zst
replaytool render: video driver option
-rw-r--r--server/replaytool/src/main.rs17
-rw-r--r--server/replaytool/src/render.rs6
2 files changed, 20 insertions, 3 deletions
diff --git a/server/replaytool/src/main.rs b/server/replaytool/src/main.rs
index ec0bd682..a9032a61 100644
--- a/server/replaytool/src/main.rs
+++ b/server/replaytool/src/main.rs
@@ -55,8 +55,12 @@ enum Args {
/// Render without display server; Requires wlheadless-run and mutter
#[arg(short = 'H', long)]
headless: bool,
+ #[arg(long, default_value = "wayland")]
+ video_driver: String,
#[arg(long, default_value = "vulkan")]
rendering_driver: String,
+ #[arg(long, default_value = "mutter")]
+ headless_compositor: String,
},
}
@@ -120,8 +124,19 @@ async fn main() -> anyhow::Result<()> {
framerate,
headless,
rendering_driver,
+ headless_compositor,
+ video_driver,
} => {
- render(&input, &output, framerate, headless, &rendering_driver).await?;
+ render(
+ &input,
+ &output,
+ framerate,
+ headless,
+ &rendering_driver,
+ &video_driver,
+ &headless_compositor,
+ )
+ .await?;
}
}
Ok(())
diff --git a/server/replaytool/src/render.rs b/server/replaytool/src/render.rs
index 4bf9402c..74dddf92 100644
--- a/server/replaytool/src/render.rs
+++ b/server/replaytool/src/render.rs
@@ -28,6 +28,8 @@ pub async fn render(
framerate: usize,
headless: bool,
rendering_driver: &str,
+ video_driver: &str,
+ headless_compositor: &str,
) -> Result<()> {
let port = 27090;
let ws_listener = TcpListener::bind(("127.0.0.1", port)).await?;
@@ -35,12 +37,12 @@ pub async fn render(
let mut args = Vec::new();
if headless {
args.push("wlheadless-run");
- args.extend(["-c", "mutter"]);
+ args.extend(["-c", headless_compositor]);
args.push("--");
}
args.push("hurrycurry-client");
if headless {
- args.extend(["--video-driver", "wayland"]);
+ args.extend(["--video-driver", video_driver]);
args.extend(["--rendering-driver", rendering_driver]);
}
args.extend(["--write-movie", output.to_str().unwrap()]);