From 6fa53faf9cbbe5c4e92e3030949b649ce5ef00d6 Mon Sep 17 00:00:00 2001 From: luciano Date: Mon, 29 Jun 2026 14:03:02 +0200 Subject: [PATCH] Pi: fix kiosk WebGL2 (hardware V3D via ANGLE) + robust kiosk launch - Drop --use-gl=egl (disabled the GPU on Chromium 149) and let Chromium pick the default ANGLE/GLES backend with --ignore-gpu-blocklist -> hardware WebGL2. - Launch kiosk via 'cage -- bash kiosk.sh' so a non-executable bit after rsync no longer breaks startup. - output.js reports gpuInfo (webgl2 + renderer) on load for remote diagnostics. Co-Authored-By: Claude Opus 4.8 --- public/js/output.js | 6 ++++++ scripts/install-pi.sh | 2 +- scripts/kiosk.sh | 5 +++-- 3 files changed, 10 insertions(+), 3 deletions(-) mode change 100644 => 100755 scripts/kiosk.sh diff --git a/public/js/output.js b/public/js/output.js index c8e1b2e..97113de 100644 --- a/public/js/output.js +++ b/public/js/output.js @@ -8,7 +8,13 @@ const canvas = $('#gl'); let viz; try { viz = new Visualizer(canvas); + try { + const gl = canvas.getContext('webgl2'); + const d = gl && gl.getExtension('WEBGL_debug_renderer_info'); + djv.report({ type: 'gpuInfo', webgl2: !!gl, renderer: d ? gl.getParameter(d.UNMASKED_RENDERER_WEBGL) : (gl && gl.getParameter(gl.RENDERER)) }); + } catch (e2) {} } catch (e) { + djv.report({ type: 'gpuInfo', webgl2: false, message: e.message }); document.body.innerHTML = '
' + 'Errore grafica:
' + e.message + '
'; throw e; diff --git a/scripts/install-pi.sh b/scripts/install-pi.sh index 31ed209..c14f398 100644 --- a/scripts/install-pi.sh +++ b/scripts/install-pi.sh @@ -46,7 +46,7 @@ User=$USER_NAME PAMName=login TTYPath=/dev/tty1 ExecStartPre=/bin/sh -c 'until curl -sf http://localhost:8080/ >/dev/null; do sleep 1; done' -ExecStart=/usr/bin/cage -- $DIR/scripts/kiosk.sh +ExecStart=/usr/bin/cage -- /bin/bash $DIR/scripts/kiosk.sh Restart=always [Install] diff --git a/scripts/kiosk.sh b/scripts/kiosk.sh old mode 100644 new mode 100755 index 4e96d6f..02088ab --- a/scripts/kiosk.sh +++ b/scripts/kiosk.sh @@ -8,5 +8,6 @@ exec "$BIN" \ --disable-translate --disable-features=Translate \ --check-for-update-interval=31536000 \ --overscroll-history-navigation=0 \ - --ozone-platform=wayland --use-gl=egl \ - "$URL" + --ozone-platform=wayland \ + --ignore-gpu-blocklist \ + "$URL" >/tmp/chromium-kiosk.log 2>&1