slint-ui/slint · error
Cannot proceed without WebGL - aborting
Error message
Cannot proceed without WebGL - aborting
What it means
Error "Cannot proceed without WebGL - aborting" thrown in slint-ui/slint.
Source
Thrown at internal/renderers/femtovg/opengl.rs:136
let gl_renderer = match femtovg::renderer::OpenGl::new_from_html_canvas(&html_canvas) {
Ok(gl_renderer) => gl_renderer,
Err(_) => {
use wasm_bindgen::JsCast;
// I don't believe that there's a way of disabling the 2D canvas.
let context_2d = html_canvas
.get_context("2d")
.unwrap()
.unwrap()
.dyn_into::<web_sys::CanvasRenderingContext2d>()
.unwrap();
context_2d.set_font("20px serif");
// We don't know if we're rendering on dark or white background, so choose a "color" in the middle for the text.
context_2d.set_fill_style_str("red");
context_2d
.fill_text("Slint requires WebGL to be enabled in your browser", 0., 30.)
.unwrap();
panic!("Cannot proceed without WebGL - aborting")
}
};
let femtovg_canvas = femtovg::Canvas::new_with_text_context(
gl_renderer,
crate::font_cache::FONT_CACHE.with(|cache| cache.borrow().text_context.clone()),
)
.unwrap();
*self.opengl_context.borrow_mut() = opengl_context;
#[cfg(target_family = "wasm")]
{
*self.html_canvas.borrow_mut() = Some(html_canvas);
}
let canvas = Rc::new(RefCell::new(femtovg_canvas));
renderer.reset_canvas(canvas);
Ok(())View on GitHub (pinned to 3fd8f2ec03)
Solutions
- Serve the page in a browser with WebGL support enabled.
- Use the software renderer fallback if WebGL is unavailable.
When it happens
Trigger: Thrown at internal/renderers/femtovg/opengl.rs:136 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of slint-ui/slint@3fd8f2ec03 (2026-08-19).
Data as JSON: /api/errors/078a13d5c6fbaa5b.
Report an issue: GitHub.