wayland desktop environment using webtech
Find a file
Stephen Hellings ae528b5132 fix: Electron offscreen rendering and DRM render node propagation
Three root causes prevented Electron frames from reaching the compositor:

1. --disable-gpu killed Chromium's rendering pipeline, preventing the
   'paint' event from firing in offscreen mode. Replaced with
   --use-gl=swiftshader so Chromium can composite internally while the
   native wo_dmabuf module handles GPU buffer allocation separately.

2. DISPLAY=:0 with no X server caused Electron to fail silently on
   pure Wayland sessions (Ly/logind). Replaced with
   --ozone-platform=headless which lets Chromium's OSR pipeline work
   without any display server connection.

3. WO_DRM_RENDER_NODE was never set, so the native wo_dmabuf.node
   module always defaulted to /dev/dri/renderD128 regardless of which
   GPU the compositor actually opened. Now resolved via sysfs
   (card1 -> renderD128, card2 -> renderD129, etc.) and passed through
   to Electron.

Also: retry EACCES/EPERM as transient during DRM device open (logind
session activation can lag behind libseat's is_active() flag on Ly).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-09 12:31:09 -04:00
electron Fix types + build issue 2026-03-08 23:38:12 -04:00
packaging/wayland-sessions Initial commit 2026-03-08 23:04:02 -04:00
src fix: Electron offscreen rendering and DRM render node propagation 2026-03-09 12:31:09 -04:00
.gitignore Initial commit 2026-03-08 23:04:02 -04:00
Cargo.lock Initial commit 2026-03-08 23:04:02 -04:00
Cargo.toml Initial commit 2026-03-08 23:04:02 -04:00
config.example.toml Attempt 3 to fix launching permission denied 2026-03-09 11:21:08 -04:00
LICENSE Create LICENSE 2026-03-08 23:12:27 -04:00
PKGBUILD Do not use npm for pkg 2026-03-08 23:39:36 -04:00
README.md Initial commit 2026-03-08 23:04:02 -04:00
whatever.txt Attempt 2 to fix launching permission denied 2026-03-09 09:45:30 -04:00

wo compositor

don't bother (woe)