Redistributable ANGLE libraries
  • Python 72.1%
  • JavaScript 27.9%
Find a file
2026-08-22 21:01:50 -04:00
.github/workflows Merge pull request #6 from Functionhx/fix/headless-linux-angle 2026-08-22 17:07:30 -07:00
comfy_angle Build headless Linux ANGLE wheels from source 2026-07-11 10:47:05 +08:00
scripts Fix linux arm64 build. 2026-08-22 21:01:50 -04:00
.gitignore Build headless Linux ANGLE wheels from source 2026-07-11 10:47:05 +08:00
pyproject.toml Build headless Linux ANGLE wheels from source 2026-07-11 10:47:05 +08:00
README.md Merge pull request #6 from Functionhx/fix/headless-linux-angle 2026-08-22 17:07:30 -07:00

comfy-angle

Redistributable ANGLE libraries packaged as Python wheels. Windows and macOS libraries are extracted from Electron releases. Linux libraries are built from the corresponding ANGLE revision without X11, Wayland, or GBM dependencies.

Provides libEGL and libGLESv2 for Windows (x64, arm64), Linux (x64, arm64), and macOS (arm64).

Installation

pip install comfy-angle

Usage

import comfy_angle

# Directory containing the shared libraries
comfy_angle.get_lib_dir()

# Full paths to individual libraries
comfy_angle.get_egl_path()
comfy_angle.get_glesv2_path()

Building wheels from source

# Install JS dependencies for the download script
cd scripts && npm install && cd ..

# Download the Windows and macOS libraries from Electron
node scripts/download.js [electron-version]

# Build the Linux libraries for the current architecture
# (run this in the matching manylinux_2_28 build image for release wheels)
python scripts/build_linux.py

# Build platform-specific wheels
pip install setuptools wheel build
python scripts/build.py

The Linux release build must run in a manylinux_2_28 environment. Building on a newer distribution may link against a newer glibc and produce a wheel that does not match its platform tag. The publish workflows use pinned manylinux images for both supported architectures.

License

The ANGLE libraries are licensed under the BSD 3-Clause license. Electron components are covered by the MIT license. See electron-LICENSE and LICENSES.chromium.html inside the wheel for full details.