[PR #6] [MERGED] Build Linux ANGLE wheels without window-system dependencies #7

Closed
opened 2026-10-26 22:27:42 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/comfy-angle/pull/6
Author: @Functionhx
Created: 7/11/2026
Status: ✅ Merged
Merged: 8/23/2026
Merged by: @comfyanonymous

Base: main ← Head: fix/headless-linux-angle


📝 Commits (1)

  • dc5356a Build headless Linux ANGLE wheels from source

📊 Changes

12 files changed (+377 additions, -33 deletions)

View changed files

📝 .github/workflows/publish-test.yml (+74 -5)
📝 .github/workflows/publish.yml (+72 -5)
📝 .gitignore (+1 -0)
📝 README.md (+8 -2)
📝 comfy_angle/__init__.py (+1 -1)
📝 pyproject.toml (+1 -1)
➕ scripts/angle-revision.txt (+1 -0)
📝 scripts/build.py (+33 -4)
➕ scripts/build_linux.py (+181 -0)
➕ scripts/depot-tools-revision.txt (+1 -0)
📝 scripts/download.js (+3 -14)
📝 scripts/package.json (+1 -1)

📄 Description

Fixes #5.

The Linux wheel currently copies Electron's libGLESv2, which has direct X11, Xext, and xcb dependencies. This builds Electron 41's matching ANGLE revision from source with Vulkan/surfaceless support while disabling X11, Wayland, GBM, and Ozone. The matching Vulkan loader is linked statically, so the package still contains only libEGL and libGLESv2. Windows and macOS remain sourced from Electron.

Validated locally:

  • neither Linux library has X11, Wayland, or GBM DT_NEEDED entries
  • the x86_64 wheel is compatible with manylinux_2_28
  • the wheel loads in a minimal container without window-system libraries
  • EGL 1.5 / GLES 3.2 context creation succeeds with DISPLAY and WAYLAND_DISPLAY unset

Related: https://github.com/Comfy-Org/ComfyUI/issues/14728


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/comfy-angle/pull/6 **Author:** [@Functionhx](https://github.com/Functionhx) **Created:** 7/11/2026 **Status:** ✅ Merged **Merged:** 8/23/2026 **Merged by:** [@comfyanonymous](https://github.com/comfyanonymous) **Base:** `main` ← **Head:** `fix/headless-linux-angle` --- ### 📝 Commits (1) - [`dc5356a`](https://github.com/Comfy-Org/comfy-angle/commit/dc5356a739be763e9e383f193560c1b13649b86f) Build headless Linux ANGLE wheels from source ### 📊 Changes **12 files changed** (+377 additions, -33 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/publish-test.yml` (+74 -5) 📝 `.github/workflows/publish.yml` (+72 -5) 📝 `.gitignore` (+1 -0) 📝 `README.md` (+8 -2) 📝 `comfy_angle/__init__.py` (+1 -1) 📝 `pyproject.toml` (+1 -1) ➕ `scripts/angle-revision.txt` (+1 -0) 📝 `scripts/build.py` (+33 -4) ➕ `scripts/build_linux.py` (+181 -0) ➕ `scripts/depot-tools-revision.txt` (+1 -0) 📝 `scripts/download.js` (+3 -14) 📝 `scripts/package.json` (+1 -1) </details> ### 📄 Description Fixes #5. The Linux wheel currently copies Electron's libGLESv2, which has direct X11, Xext, and xcb dependencies. This builds Electron 41's matching ANGLE revision from source with Vulkan/surfaceless support while disabling X11, Wayland, GBM, and Ozone. The matching Vulkan loader is linked statically, so the package still contains only libEGL and libGLESv2. Windows and macOS remain sourced from Electron. Validated locally: - neither Linux library has X11, Wayland, or GBM DT_NEEDED entries - the x86_64 wheel is compatible with manylinux_2_28 - the wheel loads in a minimal container without window-system libraries - EGL 1.5 / GLES 3.2 context creation succeeds with DISPLAY and WAYLAND_DISPLAY unset Related: https://github.com/Comfy-Org/ComfyUI/issues/14728 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-26 22:27:42 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/comfy-angle#7
No description provided.