Multiple cores on Linux
By default, Remotion starts the Chromium browser on Linux with the --single-process
flag. This is because:
- The sandboxing feature of Chromium is not supported on all Linux distributions
- Older versions of Chromium used to crash when starting headlessly with multiple processes
- If some desktop libraries are missing, Chromium could crash on startup on some Distros.
This can lead to degraded rendering performance, especially when trying to leverage high-core CPUs and high Remotion concurrency.
Enable multi-process rendering on Linux
available from v4.0.42
For now, this option is opt-in. To enable multi-process mode for Chromium during rendering on Linux:
- renderMedia() / openBrowser() / renderFrames(): Use the
chromiumOptions.enableMultiProcessOnLinux
option. - CLI: Use the
--enable-multi-process-on-linux
flag. - Config file: Use the
Config.setChromiumMultiProcessInLinux()
option. - Remotion Studio: Check the toggle in the advanced settings.
- Cloud Run: From v4.0.42, this option is automatically enabled.
- Lambda: This option is disabled with no option to enable it because on Amazon Linux, Chrome will crash if the
--single-process
flag is not used. We recommend using more Lambdas instead of more concurrency per Lambda.
Should I enable multi-process mode?
The answer depends on the Linux environment. If you are running Remotion on a server, you should try to enable multi-process mode and see if it works.
Our recommended Docker image is confirmed working with multi-process mode enabled.