ClassiCube
ClassiCube copied to clipboard
Game always crashes on raspberry pi (using ubuntu MATE)

Launcher works, but trying to actually go in-game always crashes.
After disassembling the problematic function, it turned out to be crashing when checking visual->gbm_format == surface->format in dri2_drm_config_is_compatible (it gets inlined into dri2_drm_create_window_surface) from src/egl/drivers/dri2/platform_drm.c in mesa.
I did see a mention and fix of almost certainly the same crash here (flutter/ flutter/issues/60429) (flutter/ engine/pull/19438).
Solution appears to be that you MUST create the X11 window using the visual id returned from eglGetConfigAttrib(ctx_display, ctx_config, EGL_NATIVE_VISUAL_ID, &visual_id)