{"record":{"id":"2732177b7dbade46","repo":"zed-industries/zed","slug":"no-browser-graphics-backend-could-be-initialized-273217","errorCode":null,"errorMessage":"No browser graphics backend could be initialized. Only {backend_name} was tried because the application requested it explicitly. {backend_name} failure: {error:#}","messagePattern":"No browser graphics backend could be initialized\\. Only (.+?) was tried because the application requested it explicitly\\. (.+?) failure: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/gpui_web/src/platform.rs","lineNumber":256,"sourceCode":"                    log::warn!(\n                        \"WebGPU initialization failed; falling back to WebGL2: {webgpu_error:#}\"\n                    );\n\n                    let webgl_canvas =\n                        WebWindow::prepare_canvas(browser_window).map_err(|error| {\n                            anyhow::anyhow!(\n                                \"WebGPU initialization failed: {webgpu_error:#}. \\\n                             Failed to prepare a replacement canvas for WebGL2: {error:#}\"\n                            )\n                        })?;\n                    match WgpuContext::new_web(&webgl_canvas, WebBackendPreference::WebGl).await {\n                        Ok(PreparedWebGraphics { context, surface }) => {\n                            Ok((webgl_canvas, context, surface))\n                        }\n                        Err(webgl_error) => {\n                            let canvas: &web_sys::Element = webgl_canvas.as_ref();\n                            canvas.remove();\n                            Err(anyhow::anyhow!(\n                                \"No browser graphics backend could be initialized. \\\n                                 Tried WebGPU, then WebGL2. \\\n                                 WebGPU failure: {webgpu_error:#}. \\\n                                 WebGL2 failure: {webgl_error:#}\"\n                            ))\n                        }\n                    }\n                }\n            }\n        }\n        WebBackendPreference::WebGpu | WebBackendPreference::WebGl => {\n            let backend_name = if preference == WebBackendPreference::WebGpu {\n                \"WebGPU\"\n            } else {\n                \"WebGL2\"\n            };\n            let canvas = WebWindow::prepare_canvas(browser_window)?;\n            match WgpuContext::new_web(&canvas, preference).await {","sourceCodeStart":238,"sourceCodeEnd":274,"githubUrl":"https://github.com/zed-industries/zed/blob/9d272b036335401f339d024ea94968fd51016c40/crates/gpui_web/src/platform.rs#L238-L274","documentation":"Error \"No browser graphics backend could be initialized. Only {backend_name} was tried because the application requested it explicitly. {backend_name} failure: {error:#}\" thrown in zed-industries/zed.","triggerScenarios":"Thrown at crates/gpui_web/src/platform.rs:256 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Report both the exclusive backend name and {error} so users know exactly which single backend was tried","Suggest switching the explicit preference to Auto to allow the other backend as fallback","Check browser flags/settings for the chosen backend (WebGPU enablement or WebGL2 availability)"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9d272b036335401f339d024ea94968fd51016c40","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}