Repository navigation
[fix] output/default: skip systems that fail detection - #74
Merged
nikp123 merged 1 commit intoOct 14, 2026
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
sabrehagen
force-pushed
the
output-default-skip-failed-test
branch
from
October 14, 2026 11:31
46d2e8b to
d46957c
Compare
Owner
|
Yeah that seems fine, I don't know how I missed this initially. Thanks. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
With the default output method (
opengl, or nomethodset in[output]), xava segfaults on startup in an X11 session with no Wayland compositor:We hit this with the
xava-x86_64.AppImagefrom the 0.8 release, running inside a Docker container on an X11 display (DISPLAY=:1, noWAYLAND_DISPLAY).Cause
In
xavaOutputLoadConfiginsrc/output/default/main.c,systemis only assigned whensystems[i].test_func()succeeds, butxava_module_output_load(system)is called on every iteration. Wayland is first insystems[], so whenam_i_wayland()fails,systemis stillNULL, andxava_module_output_load(NULL)callsstrlen(NULL).Setting the backend explicitly, e.g.
method = x11_opengl, avoids the crash because it bypasses the auto-detection.Fix
Skip to the next system when its detection test fails, so the X11 and SDL2 backends get tried.
Testing
I built
out_opengl.sofromsrc/output/default/main.cand thegraphical_*/test.cfiles, with-DOPENGL -DX11 -DWAYLAND -DSDL2, against the 0.8 AppImage'slibxava-shared.so. Then I bind-mounted it over the AppImage's module and ran xava with the defaultmethod, on X11 with no Wayland:x11_opengland runs normallyI only exercised the OpenGL variant at runtime. The Cairo variant (
-DCAIRO) compiles but I didn't run it.🤖 Generated with Claude Code