[GH-ISSUE #7] Both ANGLE backends fail on Linux + NVIDIA (610.43.3.0, RTX 4090): EGL_BAD_ATTRIBUTE on default backend, VK_ERROR_INITIALIZATION_FAILED on Vulkan backend #2

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

Originally created by @Taithrah on GitHub (Jul 25, 2026).
Original GitHub issue: https://github.com/Comfy-Org/comfy-angle/issues/7

Environment

  • Arch Linux, KDE Plasma 6.7, Wayland
  • GPU: NVIDIA GeForce RTX 4090, driver 610.43.3.0
  • Vulkan works fine standalone (vulkaninfo --summary: instance 1.4.350, device fully conformant)
  • Trigger: ComfyUI's GLSL shader nodes (comfy_extras/nodes_glsl.py)

Summary

Both ANGLE backends fail on this system, in different ways, while native NVIDIA EGL/GLES works fine for the identical call sequence.

  • Default backend (eglGetDisplay(EGL_DEFAULT_DISPLAY), reports as Google Inc. (NVIDIA Corporation)): initializes fine, and eglChooseConfig returns a fully valid config (EGL_SURFACE_TYPE includes PBUFFER_BIT, EGL_RENDERABLE_TYPE includes ES3_BIT). But eglCreatePbufferSurface with only EGL_WIDTH/EGL_HEIGHT fails with EGL_BAD_ATTRIBUTE — even with explicit EGL_TEXTURE_FORMAT/EGL_TEXTURE_TARGET = EGL_NO_TEXTURE added.
  • Explicit Vulkan backend (EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE, same platform ComfyUI's own headless fallback requests): fails at eglInitialize itself with VK_ERROR_INITIALIZATION_FAILED (-3). Not a layer conflict (same failure with VK_LOADER_LAYERS_DISABLE=~all~), and Vulkan is otherwise healthy on this system.

Workaround

Replacing the bundled ANGLE binaries in the installed comfy_angle package with the system's native libglvnd dispatch libraries resolves it completely:

pacman -Qo /usr/lib/libEGL.so /usr/lib/libGLESv2.so
# both owned by libglvnd 1.7.0-3

cp /usr/lib/libEGL.so    <venv>/site-packages/comfy_angle/libs/
cp /usr/lib/libGLESv2.so <venv>/site-packages/comfy_angle/libs/

This bypasses ANGLE's translation layer and routes straight to the native NVIDIA driver, which handles the same calls without error.

Flagging in case it's a known limitation worth documenting, or fixable via a different Linux ANGLE build in this package.

Originally created by @Taithrah on GitHub (Jul 25, 2026). Original GitHub issue: https://github.com/Comfy-Org/comfy-angle/issues/7 **Environment** - Arch Linux, KDE Plasma 6.7, Wayland - GPU: NVIDIA GeForce RTX 4090, driver 610.43.3.0 - Vulkan works fine standalone (`vulkaninfo --summary`: instance 1.4.350, device fully conformant) - Trigger: ComfyUI's GLSL shader nodes (`comfy_extras/nodes_glsl.py`) **Summary** Both ANGLE backends fail on this system, in different ways, while native NVIDIA EGL/GLES works fine for the identical call sequence. - **Default backend** (`eglGetDisplay(EGL_DEFAULT_DISPLAY)`, reports as `Google Inc. (NVIDIA Corporation)`): initializes fine, and `eglChooseConfig` returns a fully valid config (`EGL_SURFACE_TYPE` includes `PBUFFER_BIT`, `EGL_RENDERABLE_TYPE` includes `ES3_BIT`). But `eglCreatePbufferSurface` with only `EGL_WIDTH`/`EGL_HEIGHT` fails with `EGL_BAD_ATTRIBUTE` — even with explicit `EGL_TEXTURE_FORMAT`/`EGL_TEXTURE_TARGET = EGL_NO_TEXTURE` added. - **Explicit Vulkan backend** (`EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE`, same platform ComfyUI's own headless fallback requests): fails at `eglInitialize` itself with `VK_ERROR_INITIALIZATION_FAILED` (`-3`). Not a layer conflict (same failure with `VK_LOADER_LAYERS_DISABLE=~all~`), and Vulkan is otherwise healthy on this system. **Workaround** Replacing the bundled ANGLE binaries in the installed `comfy_angle` package with the system's native `libglvnd` dispatch libraries resolves it completely: ```bash pacman -Qo /usr/lib/libEGL.so /usr/lib/libGLESv2.so # both owned by libglvnd 1.7.0-3 cp /usr/lib/libEGL.so <venv>/site-packages/comfy_angle/libs/ cp /usr/lib/libGLESv2.so <venv>/site-packages/comfy_angle/libs/ ``` This bypasses ANGLE's translation layer and routes straight to the native NVIDIA driver, which handles the same calls without error. Flagging in case it's a known limitation worth documenting, or fixable via a different Linux ANGLE build in this package.
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#2
No description provided.