From 42b018b19bc08044c0e5dd2a195abffbf96da7d9 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 12 Sep 2025 21:27:06 +0200 Subject: rendering driver --- server/replaytool/src/main.rs | 5 ++++- server/replaytool/src/render.rs | 10 ++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'server/replaytool/src') diff --git a/server/replaytool/src/main.rs b/server/replaytool/src/main.rs index 40496786..ec0bd682 100644 --- a/server/replaytool/src/main.rs +++ b/server/replaytool/src/main.rs @@ -55,6 +55,8 @@ enum Args { /// Render without display server; Requires wlheadless-run and mutter #[arg(short = 'H', long)] headless: bool, + #[arg(long, default_value = "vulkan")] + rendering_driver: String, }, } @@ -117,8 +119,9 @@ async fn main() -> anyhow::Result<()> { output, framerate, headless, + rendering_driver, } => { - render(&input, &output, framerate, headless).await?; + render(&input, &output, framerate, headless, &rendering_driver).await?; } } Ok(()) diff --git a/server/replaytool/src/render.rs b/server/replaytool/src/render.rs index 79eb483b..4bf9402c 100644 --- a/server/replaytool/src/render.rs +++ b/server/replaytool/src/render.rs @@ -22,7 +22,13 @@ use log::info; use std::path::Path; use tokio::{net::TcpListener, process::Command}; -pub async fn render(input: &Path, output: &Path, framerate: usize, headless: bool) -> Result<()> { +pub async fn render( + input: &Path, + output: &Path, + framerate: usize, + headless: bool, + rendering_driver: &str, +) -> Result<()> { let port = 27090; let ws_listener = TcpListener::bind(("127.0.0.1", port)).await?; @@ -35,7 +41,7 @@ pub async fn render(input: &Path, output: &Path, framerate: usize, headless: boo args.push("hurrycurry-client"); if headless { args.extend(["--video-driver", "wayland"]); - args.extend(["--rendering-driver", "vulkan"]); + args.extend(["--rendering-driver", rendering_driver]); } args.extend(["--write-movie", output.to_str().unwrap()]); let fps = framerate.to_string(); -- cgit v1.2.3-70-g09d2