From 9837962fa83d26894b791ece1a5b4265d2ddaed2 Mon Sep 17 00:00:00 2001 From: Vance Ingalls Date: Mon, 6 Apr 2026 16:47:55 -0700 Subject: [PATCH] fix(cli): forward --quiet/--gpu flags into Docker container - Forward --quiet so the container suppresses its own output, avoiding duplicate render progress from both host and container - When quiet, still inherit stderr so container errors surface - Pass --gpus all to docker run when --gpu is set, so the container actually has GPU access for FFmpeg encoding Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/cli/src/commands/render.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/commands/render.ts b/packages/cli/src/commands/render.ts index 6db29d5528..6cb98890b4 100644 --- a/packages/cli/src/commands/render.ts +++ b/packages/cli/src/commands/render.ts @@ -401,7 +401,12 @@ async function renderDocker( "--workers", String(options.workers), ]; - if (options.gpu) dockerArgs.push("--gpu"); + if (options.quiet) dockerArgs.push("--quiet"); + // GPU encoding requires host GPU access via --gpus + if (options.gpu) { + dockerArgs.splice(dockerArgs.indexOf("--rm") + 1, 0, "--gpus", "all"); + dockerArgs.push("--gpu"); + } if (!options.quiet) { console.log(c.dim(" Running render in Docker container...")); @@ -411,7 +416,8 @@ async function renderDocker( try { await new Promise((resolvePromise, reject) => { const child = spawn("docker", dockerArgs, { - stdio: options.quiet ? "pipe" : "inherit", + // When quiet, still show stderr so container errors surface + stdio: options.quiet ? ["pipe", "pipe", "inherit"] : "inherit", }); child.on("close", (code) => { if (code === 0) resolvePromise();