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 <noreply@anthropic.com>
This commit is contained in:
lucianoandClaude Opus 4.8 committed 2026-06-29 14:03:02 +02:00
1 parent b94c787231
commit 6fa53faf9c
3 files changed
+10 -3

No files matched your search

+6
View File
@@ -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 = '<div style="color:#fff;padding:40px;font-family:sans-serif">' +
'Errore grafica:<br><pre>' + e.message + '</pre></div>';
throw e;
+1 -1
View File
@@ -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]
Regular → Executable
+3 -2
View File
@@ -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