freeCodeCamp / freeCodeCamp/exam-env

[bug] AppImage aborts on Nvidia + X11: Could not create GBM EGL display

Open
#147 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
34
Forks
12
PR merge metrics
No merged PRs in 30d

Description

## Description

The AppImage aborts immediately on launch on Kali Linux with an Nvidia GPU
under an X11 session. Related to #107, but on X11 rather than Wayland.

## Environment

- Exam Environment: 2.2.0 (Exam.Environment_2.2.0_amd64.AppImage)
- OS: Kali GNU/Linux Rolling 2026.3 (Debian-based), x86_64
- Session type: x11 (`echo $XDG_SESSION_TYPE` returns `x11`)
- GPU: NVIDIA GeForce GTX 1660 SUPER (TU116, PCI id 10de:21c4)
- Nvidia driver: 550.163.01

## Error output

Gtk-Message: Failed to load module "xapp-gtk3-module"
src/nv_gbm.c:288: GBM-DRV error (nv_gbm_create_device_native): nv_common_gbm_create_device failed (ret=-1)
pci id for fd 30: 10de:21c4, driver (null)
Could not create GBM EGL display: EGL_SUCCESS. Aborting...

## What I tried (none of it worked)

- `--disable-gpu`, `--disable-software-rasterizer`, `--disable-gpu-compositing`, `--use-gl=swiftshader`
- `LIBGL_ALWAYS_SOFTWARE=1`
- `ELECTRON_OZONE_PLATFORM_HINT=x11`
- Running as root
- Forcing the Mesa EGL vendor: `__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json`
This changed the error to `Could not create default EGL display: EGL_BAD_PARAMETER. Aborting...`
(same as #107), but the app still aborts.

The command-line flags appear to have no effect at all: the error is identical
with and without them, suggesting the crash happens before they are parsed.

## Workaround

The only thing that works is running the app inside a nested X server:

Xephyr -screen 1280x800 :1 &
DISPLAY=:1 ./Exam.Environment_2.2.0_amd64.AppImage

The app then displays and works correctly, but copy-paste between the host
session and the nested server is broken, so the account token has to be
injected with `xdotool` instead of pasted.

Other AppImages work normally on this machine.

Contributor guide

Open the contributing guide

Research direction

Begin by reproducing the launch with the listed AppImage on Nvidia/X11, then compare it with the working Xephyr command and the tested environment flags. Done means the AppImage launches normally in the reported X11 environment without requiring a nested X server, while preserving the existing workaround behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.