wayland desktop environment using webtech
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> |
||
|---|---|---|
| electron | ||
| packaging/wayland-sessions | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| config.example.toml | ||
| LICENSE | ||
| PKGBUILD | ||
| README.md | ||
| whatever.txt | ||
wo compositor
don't bother (woe)