Switch SteamOS to software rendering for webview stability

Replaces hardware acceleration and ANGLE-based GPU flags with software rendering on SteamOS to address webview rendering issues under Gamescope. Updates both main.js and the start:steamos script in package.json to disable GPU compositing and enforce software rendering.
This commit is contained in:
2025-12-28 11:56:23 +13:00
parent e77bdfd962
commit 10b6f11cf0
2 changed files with 12 additions and 9 deletions
+11 -8
View File
@@ -59,19 +59,22 @@ if (process.platform === 'linux') {
if (isSteamOS) { if (isSteamOS) {
console.log(`[GPU] SteamOS/Gamescope DETECTED: ${detectionReason}`); console.log(`[GPU] SteamOS/Gamescope DETECTED: ${detectionReason}`);
console.log('[GPU] Applying SteamOS-specific GPU flags for webview rendering...'); console.log('[GPU] Disabling hardware acceleration - using software rendering...');
// SteamOS GPU flags - use ANGLE for rendering // On SteamOS, hardware acceleration causes webview rendering issues
// Software rendering is more stable under Gamescope
app.disableHardwareAcceleration();
// Ozone platform
app.commandLine.appendSwitch('ozone-platform', 'x11'); app.commandLine.appendSwitch('ozone-platform', 'x11');
app.commandLine.appendSwitch('use-angle', 'gl');
app.commandLine.appendSwitch('angle-platform-type', 'x11');
// GPU process settings // Disable GPU compositing completely - use software
app.commandLine.appendSwitch('in-process-gpu'); app.commandLine.appendSwitch('disable-gpu');
app.commandLine.appendSwitch('disable-gpu-vsync'); app.commandLine.appendSwitch('disable-gpu-compositing');
app.commandLine.appendSwitch('disable-software-rasterizer');
// Feature flags // Feature flags
app.commandLine.appendSwitch('enable-features', 'VulkanFromANGLE,UseOzonePlatform'); app.commandLine.appendSwitch('enable-features', 'UseOzonePlatform');
app.commandLine.appendSwitch('disable-features', 'VizDisplayCompositor'); app.commandLine.appendSwitch('disable-features', 'VizDisplayCompositor');
} else { } else {
console.log('[GPU] Standard Linux environment detected'); console.log('[GPU] Standard Linux environment detected');
+1 -1
View File
@@ -5,7 +5,7 @@
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
"start": "electron .", "start": "electron .",
"start:steamos": "electron . --ozone-platform=x11 --use-angle=gl --angle-platform-type=x11 --in-process-gpu --no-sandbox --disable-dev-shm-usage --disable-features=VizDisplayCompositor", "start:steamos": "electron . --ozone-platform=x11 --disable-gpu --disable-gpu-compositing --disable-software-rasterizer --no-sandbox --disable-dev-shm-usage --disable-features=VizDisplayCompositor",
"start:linux-safe": "electron . --disable-gpu --disable-gpu-compositing --no-sandbox", "start:linux-safe": "electron . --disable-gpu --disable-gpu-compositing --no-sandbox",
"dist": "electron-builder", "dist": "electron-builder",
"dist:appimage": "electron-builder --linux AppImage", "dist:appimage": "electron-builder --linux AppImage",