Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: remove SDL/Mesa/DRI from initramfs — DRI segfault unrecoverable

sigsetjmp can't reliably recover from SIGSEGV during dlopen — process
state is corrupted. The Mesa iris_dri.so driver crashes on ThinkPad 11e
and no in-process recovery works. Removed all SDL/Mesa/DRI libs.

DRM dumb buffers work reliably. SDL3 GPU acceleration needs a
multi-process architecture (init spawns ac-native as child) so
DRI crashes are recoverable via process restart.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+8 -19
+8 -19
fedac/native/docker-build.sh
··· 216 216 [ -f "$REAL" ] && cp -L "$REAL" "$IROOT/lib64/$BASENAME" 217 217 done 218 218 219 - # SDL3 + Mesa/GPU libs (for dlopen-based GPU acceleration) 220 - for lib in libSDL3.so.0 \ 221 - libgbm.so.1 libEGL.so.1 libEGL_mesa.so.0 libGLESv2.so.2 \ 222 - libGL.so.1 libGLX_mesa.so.0 libGLdispatch.so.0 libglapi.so.0 \ 223 - libdrm_intel.so.1 libdrm_amdgpu.so.1; do 224 - REAL=$(readlink -f "/lib64/$lib" 2>/dev/null) 225 - [ -f "$REAL" ] && cp -L "$REAL" "$IROOT/lib64/$lib" 226 - done 227 - 228 - # Mesa DRI drivers 229 - if [ -d /lib64/dri ]; then 230 - mkdir -p "$IROOT/lib64/dri" 231 - for drv in /lib64/dri/i915_dri.so /lib64/dri/iris_dri.so /lib64/dri/kms_swrast_dri.so /lib64/dri/swrast_dri.so; do 232 - [ -f "$drv" ] && cp -L "$drv" "$IROOT/lib64/dri/" 233 - done 234 - fi 235 - # Gallium megadriver 236 - GALLIUM=$(readlink -f /lib64/libgallium-*.so 2>/dev/null || true) 237 - [ -f "$GALLIUM" ] && cp -L "$GALLIUM" "$IROOT/lib64/" 219 + # SDL3 + Mesa/GPU libs — NOT included in initramfs. 220 + # Mesa DRI drivers segfault on ThinkPad 11e during dlopen and no signal 221 + # handler can recover (process state is corrupted). SDL3 GPU acceleration 222 + # will be enabled when we move to a multi-process architecture where 223 + # ac-native runs as a child of init (not PID 1), so DRI crashes are 224 + # recoverable via process restart. 225 + # For now: DRM dumb buffers work fine for all target hardware. 226 + log " SDL3/Mesa libs: skipped (DRM dumb buffer mode)" 238 227 239 228 # Transitive deps — resolve everything in lib64 240 229 log " Resolving transitive dependencies..."