remotion-dev/remotion · error · Error

Radial progressive blur shader compile failed: ${log ?? '(no

Error message

Radial progressive blur shader compile failed: ${log ?? '(no log)'}

What it means

The radial-progressive-blur effect compiles GLSL shader source via WebGL2 and throws this error when gl.compileShader reports a failure. The interpolated message includes the GLSL info log returned by the driver, or '(no log)' if the driver provided none. This indicates a bug in the shader source string built by the effect itself, not in caller-supplied parameters.

Source

Thrown at packages/effects/src/radial-progressive-blur/radial-progressive-blur-runtime.ts:50

	readonly vertical: RadialProgressiveBlurUniforms;
};

const compileShader = (
	gl: WebGL2RenderingContext,
	type: number,
	source: string,
): WebGLShader => {
	const shader = gl.createShader(type);
	if (!shader) {
		throw new Error('Failed to create WebGL shader');
	}

	gl.shaderSource(shader, source);
	gl.compileShader(shader);
	if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
		const log = gl.getShaderInfoLog(shader);
		gl.deleteShader(shader);
		throw new Error(
			`Radial progressive blur shader compile failed: ${log ?? '(no log)'}`,
		);
	}

	return shader;
};

const linkProgram = (
	gl: WebGL2RenderingContext,
	vs: WebGLShader,
	fs: WebGLShader,
): WebGLProgram => {
	const program = gl.createProgram();
	if (!program) {
		throw new Error('Failed to create WebGL program');
	}

	gl.attachShader(program, vs);

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Check the GLSL info log in the error message for the exact line and syntax problem in the shader
  2. Update GPU drivers to the latest stable version
  3. If rendering headless, ensure the environment provides a WebGL2-capable context (hardware or full-featured software rasterizer)
  4. File a bug with the effect name, GPU vendor, driver version, and the info log text
Defensive patterns

Strategy: try-catch

Try / catch

try {
  const effect = radialProgressiveBlur({ radius: 10 });
  // ... apply effect
} catch (err) {
  if (err instanceof Error && err.message.includes('shader compile failed')) {
    console.error('GPU shader compilation failed; check driver support:', err.message);
  }
  throw err;
}

Prevention

When it happens

Trigger: Calling radialProgressiveBlur() during a render or Studio preview where the GLSL fragment or vertex source contains a syntax error, references an undefined function, or uses an extension not enabled on the current GPU. Also triggered on drivers with non-standard GLSL dialects.

Common situations: GPU driver bugs or outdated OpenGL drivers; headless rendering environments with software rasterizers (SwiftShader) that reject certain GLSL constructs; updating the effect's shader source and introducing a typo; running in a browser/engine combination with limited WebGL2 support.

Related errors


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/4145beb77ecd1d16. Report an issue: GitHub.