I'll try to debug this on my side when I have the time. Fortunately, the crash happens at the very end, so 3D games can still be played. Quick update: - setting a breakpoint to XCloseDisplay reveals that it's called twice with two different pointers, and crashes the second time. - running with LIBGL_STACKTRACE=1 shows the following: Stacktrace: 2 /usr/lib/libGL.so.1(+0x54500)[0xb6e1a500] /lib/arm-linux-gnueabihf/libc.so.6(+0x26ae0)[0xb6c88ae0] Do you have any advice on how to find this place +0x54500 in the source code? I've tried to do break *0xXXXXXXXX+0x54500 in gdb (XXXXXXXX being the start address of libGL as reported by info sharedlibrary), but that breakpoint seems to be never hit.