fix(settings): use --disable-gpu-compositing to keep webview renderable
This commit is contained in:
@@ -54,11 +54,15 @@ mod tauri_app {
|
||||
/// libraries like reqwest/rustls that read `HTTP_PROXY` etc.
|
||||
#[cfg(target_os = "windows")]
|
||||
fn apply_webview2_rendering_override() {
|
||||
// Only `--disable-gpu`. Pairing it with `--disable-software-rasterizer`
|
||||
// removes the SwiftShader fallback and produces a white-screen webview
|
||||
// on machines where GPU init fails — leaving no renderer at all. Match
|
||||
// Electron's `app.disableHardwareAcceleration()` behavior.
|
||||
const DISABLE_GPU_ARGS: [&str; 1] = ["--disable-gpu"];
|
||||
// Use `--disable-gpu-compositing` rather than `--disable-gpu`:
|
||||
// - `--disable-gpu` forces SwiftShader software rendering, which fails
|
||||
// to initialize on a non-trivial subset of Windows + GPU driver
|
||||
// combinations and leaves the webview entirely blank.
|
||||
// - `--disable-gpu-compositing` only disables the GPU compositor (the
|
||||
// path that triggers the AMD/Intel black-screen bug) while keeping
|
||||
// GPU rasterization. This is the same flag Electron's
|
||||
// `app.disableHardwareAcceleration()` ultimately injects.
|
||||
const DISABLE_GPU_ARGS: [&str; 1] = ["--disable-gpu-compositing"];
|
||||
const ENV_KEY: &str = "WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS";
|
||||
|
||||
let prefs = crate::preferences::load();
|
||||
|
||||
Reference in New Issue
Block a user