Since version 0.3.3, my Raspberry Pi 4 does not seem to launch Theseus under OpenGL anymore, crashing with these error messages:
../../../src/renderer_gl.cpp (6955): BGFX FATAL 0x00000001: Failed to compile shader. 0: 0:64(7): error: bit-wise operations are forbidden in GLSL 1.20 (GLSL 1.30 or GLSL ES 3.00 required)
0:64(7): error: bit-wise operations are forbidden in GLSL 1.20 (GLSL 1.30 or GLSL ES 3.00 required)
0:64(7): error: type mismatch
0:62(16): error: bit-wise operations are forbidden in GLSL 1.20 (GLSL 1.30 or GLSL ES 3.00 required)
0:62(15): error: bit-wise operations are forbidden in GLSL 1.20 (GLSL 1.30 or GLSL ES 3.00 required)
0:67(17): error: bit-wise operations are forbidden in GLSL 1.20 (GLSL 1.30 or GLSL ES 3.00 required)
0:67(17): error: bit-wise operations are forbidden in GLSL 1.20 (GLSL 1.30 or GLSL ES 3.00 required)
0:67(17): error: type mismatch
0:67(36): error: bit-wise operations are forbidden in GLSL 1.20 (GLSL 1.30 or GLSL ES 3.00 required)
0:67(36): error: bit-wise operations are forbidden in GLSL 1.20 (GLSL 1.30 or GLSL ES 3.00 required)
0:67(36): error: type mismatch
0:67(16): error: bit-wise operations are forbidden in GLSL 1.20 (GLSL 1.30 or GLSL ES 3.00 required)
These messages are then followed by a [CRASH] Signal 6 (SIGABRT) message.
With previous versions (0.3.1 in particular), I've been able to get it to run by adding MESA_GL_VERSION_OVERRIDE=4.5 before running Theseus, however it seems BGFX's autodetection overrides this and there doesn't seem to be a way to override that check.
Attempting to use another renderer (manually changing Configs/desktop.ini with any of the other options that aren't opengl, in this case vulkan) results in a different crash, and it seems to happen before BGFX could even initialize:
[CRASH] Signal 11 (SIGSEGV)
./theseus(+0x93590) [0x556dcb3590]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0) [0x7f9d687808]
/lib/aarch64-linux-gnu/libvulkan_broadcom.so(+0x13e4e8) [0x7f6904e4e8]
/lib/aarch64-linux-gnu/libvulkan_broadcom.so(+0x13e5a0) [0x7f6904e5a0]
/lib/aarch64-linux-gnu/libvulkan_broadcom.so(+0x5b0fc) [0x7f68f6b0fc]
./theseus(+0x223818) [0x556de43818]
./theseus(+0x224334) [0x556de44334]
./theseus(+0x225738) [0x556de45738]
./theseus(+0x23bc48) [0x556de5bc48]
./theseus(+0x227fa0) [0x556de47fa0]
./theseus(+0x1ae1f4) [0x556ddce1f4]
./theseus(+0x1bcc4c) [0x556dddcc4c]
./theseus(+0x1bcd28) [0x556dddcd28]
./theseus(+0x1cc08c) [0x556ddec08c]
./theseus(+0x27cb8c) [0x556de9cb8c]
/lib/aarch64-linux-gnu/libc.so.6(+0x85f78) [0x7f9cb45f78]
/lib/aarch64-linux-gnu/libc.so.6(+0xede8c) [0x7f9cbade8c]
Since version 0.3.3, my Raspberry Pi 4 does not seem to launch Theseus under OpenGL anymore, crashing with these error messages:
These messages are then followed by a
[CRASH] Signal 6 (SIGABRT)message.With previous versions (0.3.1 in particular), I've been able to get it to run by adding
MESA_GL_VERSION_OVERRIDE=4.5before running Theseus, however it seems BGFX's autodetection overrides this and there doesn't seem to be a way to override that check.Attempting to use another renderer (manually changing
Configs/desktop.iniwith any of the other options that aren'topengl, in this casevulkan) results in a different crash, and it seems to happen before BGFX could even initialize: