The openhuman AppImage (v0.53.x) fails to launch on Arch Linux running the Hyprland compositor. The failure appears to be a combination of bundled library conflicts (NSS/GLIBC) and a window configuration race condition when the "mascot" or UI attempts to initialize X11 properties.
Environment:
- OS: Arch Linux (Rolling)
- Kernel: 6.x+
- Desktop Environment/Compositor: Hyprland (Wayland + XWayland)
- Graphics: Intel Kaby Lake-H GT2 [HD Graphics 630]
- App Version: 0.53.43 (AppImage)
Steps to Reproduce:
- Download the latest Linux AppImage.
- Attempt to run via terminal:
./openhuman or /home/ahmed/.local/bin/openhuman.
- The application crashes immediately after GTK initialization.
Relevant Logs & Errors:
1. NSS Library Mismatch:
The bundled libnssutil3.so is older than what the host's libsoftokn3.so expects, causing a fatal crash in the crypto initialization:
[ERROR:crypto/nss_util.cc:256] Error initializing NSS with a persistent database (sql:/home/ahmed/.pki/nssdb):
.../shared/lib/libnssutil3.so: version `NSSUTIL_3.108' not found (required by /usr/lib/libsoftokn3.so)
[FATAL:crypto/nss_util.cc:146] nss_error=-5925, os_error=0
2. X11 BadWindow Error:
The application fails when attempting to configure the window state (likely the "Always on Top" mascot feature) via X11 atoms:
[ERROR:ui/gfx/x/atom_cache.cc:235] Add _NET_WM_STATE_KEEP_ABOVE to kAtomsToCache
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 12 (X_ConfigureWindow)
Resource id in failed request: 0x800001
3. GPU Context Failure:
Hardware acceleration fails to initialize ES 3.0 contexts on Intel integrated graphics:
[ERROR:ui/gl/gl_context_egl.cc:337] eglCreateContext ES 3.0 failed with error EGL_BAD_ATTRIBUTE
[ERROR:gpu/ipc/service/gpu_channel_manager.cc:919] ContextResult::kFatalFailure: Failed to create shared context for virtualization.
Analysis:
- Bundling Strategy: On rolling-release distros, bundling core system libraries like
libnss or libc in an AppImage often leads to symbol mismatches when those libraries try to interact with host-system plugins (like /usr/lib/libsoftokn3.so).
- XWayland Race Condition: The
BadWindow error suggests the app is trying to manipulate X11 window properties before the window is successfully mapped by the compositor.
- CEF/Tauri Shim: The custom CEF shim appears to have hardcoded logic that triggers a re-exec via
execlp, which fails with "No such file or directory" when certain flags like --help are passed.
Proposed Mitigation/Feature Request:
- Provide a way to disable the mascot window via a flag (e.g.,
--no-mascot) to allow the core assistant to run without the complex windowing requirements.
- Consider a "System Libs" fallback or a Flatpak build to better handle library isolation on non-Ubuntu distributions.
- Allow the
data directory to be configurable to avoid the "not yet implemented" errors.
The
openhumanAppImage (v0.53.x) fails to launch on Arch Linux running the Hyprland compositor. The failure appears to be a combination of bundled library conflicts (NSS/GLIBC) and a window configuration race condition when the "mascot" or UI attempts to initialize X11 properties.Environment:
Steps to Reproduce:
./openhumanor/home/ahmed/.local/bin/openhuman.Relevant Logs & Errors:
1. NSS Library Mismatch:
The bundled
libnssutil3.sois older than what the host'slibsoftokn3.soexpects, causing a fatal crash in the crypto initialization:2. X11 BadWindow Error:
The application fails when attempting to configure the window state (likely the "Always on Top" mascot feature) via X11 atoms:
3. GPU Context Failure:
Hardware acceleration fails to initialize ES 3.0 contexts on Intel integrated graphics:
Analysis:
libnssorlibcin an AppImage often leads to symbol mismatches when those libraries try to interact with host-system plugins (like/usr/lib/libsoftokn3.so).BadWindowerror suggests the app is trying to manipulate X11 window properties before the window is successfully mapped by the compositor.execlp, which fails with "No such file or directory" when certain flags like--helpare passed.Proposed Mitigation/Feature Request:
--no-mascot) to allow the core assistant to run without the complex windowing requirements.data directoryto be configurable to avoid the "not yet implemented" errors.