Skip to content

Wrap Electron with software GL when Apple Silicon has no render GPU - #349

Draft
scottjones wants to merge 2 commits into
quattrofrom
apple-electron-software-gl
Draft

scottjones wants to merge 2 commits into
quattrofrom
apple-electron-software-gl

Conversation

@scottjones

Copy link
Copy Markdown
Collaborator

On M3 (and any Apple Silicon without AGX) there is a DCP scanout device but no DRM render node. Chromium and 1Password then die in the GPU process and stay running with no window.

This adds PATH wrappers on /usr/local/bin that pass --ozone-platform=wayland --disable-gpu at launch when renderD* is missing, and become a no-op once a render GPU appears. Upstream omarchy-launch-* scripts stay untouched.

Related to #343 (Hyprland software rendering) but this is the Electron/Chromium launch path that PR does not cover.

Test plan

  • ./test/shell.d/electron-gl-test.sh
  • ./test/shell.d/launch-1password-test.sh
  • On an M3 with no AGX: 1Password and Chromium map a window; after omarchy update, existing /usr/local/bin/1password symlink is replaced by the wrapper

M3 has DCP scanout but no AGX render node, so Chromium and 1Password die
in the GPU process and stay running with no window. PATH wrappers on
/usr/local/bin add --ozone-platform=wayland --disable-gpu at launch when
renderD* is missing, and become a no-op once a render GPU appears.
@scottjones
scottjones marked this pull request as draft September 6, 2026 04:20
@malik-na

malik-na commented Sep 9, 2026

Copy link
Copy Markdown
Member

The follow-up fixes here are already contained in #372 and #377. Please choose the integration path and close the duplicate once that path is confirmed.

@wesleygrimes wesleygrimes added the defer Parked. Needs a decision, or may die with the fork. Do not close or port yet. label Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

defer Parked. Needs a decision, or may die with the fork. Do not close or port yet.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants