Open Cebion opened 7 months ago
Ok, I pushed something. Testing it on my Pandora, I can see gl4es only loaded 1 time instead of multiple time. Does it fix it also on your side?
Ok, I pushed something. Testing it on my Pandora, I can see gl4es only loaded 1 time instead of multiple time. Does it fix it also on your side?
Thanks for looking into it. Just compiled the latest commit. It looks like less errors now, though game still runs in background with a black screen. New log output
/roms/ports # ./Super\ Meat\ Boy.sh
No sudo present.
# RG351V - AmberELEC
```bash
DEVICE_INFO_VERSION=0.1.6
CFW_NAME=AmberELEC
CFW_VERSION=prerelease-20240331_2102
DEVICE_NAME=RG351V
DEVICE_CPU=RK3326
DEVICE_ARCH=aarch64
DEVICE_RAM=1
DISPLAY_WIDTH=640
DISPLAY_HEIGHT=480
ASPECT_X=4
ASPECT_Y=3
DISPLAY_ORIENTATION=0
ANALOG_STICKS=1
Setting game resolution to 640x480, detail level to ultralowdetail
Game language is set to
Dynarec is on
Shows details of dlopen / dlsym /dlclose : Yes
BOX86 using "/roms/ports/supermeatboy/box86/native/libGL.so.1" as libGL.so.1
Show Segfault signal even if a signal handler is present
Show Backtrace for signals
Dynarec for ARMv8, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA AES PMUL L PageSize:4096 Running on Cortex-A35 with 4 Cores
BOX86_LD_LIBRARY_PATH: /roms/ports/supermeatboy/box86/x86/:/roms/ports/supermeat boy/box86/native/:/roms/ports/supermeatboy/libs/x86/:/roms/ports/supermeatboy/ga medata/x86/
Using default BOX86_PATH: ./:bin/
Counted 28 Env var
Looking for ./x86/SuperMeatBoy
argv[1]="-640x480"
argv[2]="-ultralowdetail"
argv[3]="-fullscreen"
Rename process to "SuperMeatBoy"
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Using native(wrapped) libbsd.so.0
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libm.so.6
Using native(wrapped) libopenal.so.1
Using emulated /storage/roms/ports/supermeatboy/gamedata/x86/libmariadb.so.1
Using emulated /storage/roms/ports/supermeatboy/gamedata/x86/libsteam_api.so
Using emulated /roms/ports/supermeatboy/box86/x86/libstdc++.so.6
Using emulated /roms/ports/supermeatboy/box86/x86/libgcc_s.so.1
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Stea m, or a local steamclient.so.
LIBGL: Initialising gl4es
LIBGL: v1.1.5 built on Feb 18 2024 20:01:31
LIBGL: using GBM
LIBGL: Using GLES 2.0 backend
LIBGL: loaded: libGLESv2.so
LIBGL: loaded: libEGL.so
LIBGL: loaded: libgbm.so
LIBGL: loaded: libdrm.so
LIBGL: Using GLES 2.0 backend
LIBGL: GBM on card /dev/dri/card0 is Available
LIBGL: Hardware Full NPOT detected and used
LIBGL: Extension GL_EXT_blend_minmax detected and used
LIBGL: FBO are in core, and so used
LIBGL: PointSprite are in core, and so used
LIBGL: CubeMap are in core, and so used
LIBGL: BlendColor is in core, and so used
LIBGL: Blend Subtract is in core, and so used
LIBGL: Blend Function and Equation Separation is in core, and so used
LIBGL: Texture Mirrored Repeat is in core, and so used
LIBGL: Extension GL_OES_mapbuffer detected
LIBGL: Extension GL_OES_element_index_uint detected and used
LIBGL: Extension GL_OES_packed_depth_stencil detected and used
LIBGL: Extension GL_OES_depth24 detected and used
LIBGL: Extension GL_OES_rgb8_rgba8 detected and used
LIBGL: Extension GL_EXT_texture_format_BGRA8888 detected and used
LIBGL: Extension GL_OES_depth_texture detected and used
LIBGL: Extension GL_OES_texture_stencil8 detected and used
LIBGL: Extension GL_EXT_texture_rg detected and used
LIBGL: Extension GL_EXT_color_buffer_float detected and used
LIBGL: Extension GL_EXT_color_buffer_half_float detected and used
LIBGL: high precision float in fragment shader available and used
LIBGL: Max vertex attrib: 16
LIBGL: Extension GL_OES_standard_derivatives detected and used
LIBGL: Extension GL_ARM_shader_framebuffer_fetch detected and used
LIBGL: Extension GL_OES_get_program_binary detected and used
LIBGL: Number of supported Program Binary Format: 1
LIBGL: Max texture size: 8192
LIBGL: Max Varying Vector: 15
LIBGL: Texture Units: 16/16 (hardware: 16), Max lights: 8, Max planes: 6
LIBGL: Max Color Attachments: 1 / Draw buffers: 1
LIBGL: Hardware vendor is ARM
LIBGL: sRGB surface supported
LIBGL: EGLImage to Texture2D supported
LIBGL: EGLImage to RenderBuffer supported
LIBGL: Targeting OpenGL 2.1
LIBGL: Not trying to batch small subsequent glDrawXXXX
LIBGL: try to use VBO
LIBGL: glXMakeCurrent FBO workaround enabled
LIBGL: FBO workaround for using binded texture enabled
LIBGL: Force texture for Attachment color0 on FBO
LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO is done
LIBGL: glX Will try to recycle EGL Surface
LIBGL: Current folder is:/storage/roms/ports/supermeatboy/gamedata
LIBGL: Loaded a PSA with 13 Precompiled Programs
Calling getGLProcAddress[0xf70cf1e8]("glActiveTexture") => 0x40020040
Call to dlopen("/roms/ports/supermeatboy/box86/native/libGL.so.1"/0x63621198, 10 1) from 0x81a3004(/storage/roms/ports/supermeatboy/gamedata/x86/SuperMeatBoy/_ZN 14OpenGLGraphicsC2Ev + 260)
Using native(wrapped) libGL.so.1
dlopen: New handle 0x4 (/roms/ports/supermeatboy/box86/native/libGL.so.1), dlope ned=1
Calling getGLProcAddress[0xf70cf1e8]("glAlphaFunc") => 0x40020050
Calling getGLProcAddress[0xf70cf1e8]("glBindTexture") => 0x40020060
Calling getGLProcAddress[0xf70cf1e8]("glBlendEquation") => 0x40020070
Calling getGLProcAddress[0xf70cf1e8]("glBlendFunc") => 0x40020080
Calling getGLProcAddress[0xf70cf1e8]("glClear") => 0x40020090
Calling getGLProcAddress[0xf70cf1e8]("glClearColor") => 0x400200a0
Calling getGLProcAddress[0xf70cf1e8]("glClearDepth") => 0x400200b0
Calling getGLProcAddress[0xf70cf1e8]("glClearStencil") => 0x400200c0
Calling getGLProcAddress[0xf70cf1e8]("glColorMask") => 0x400200d0
Calling getGLProcAddress[0xf70cf1e8]("glCompressedTexImage2D") => 0x400200e0
Calling getGLProcAddress[0xf70cf1e8]("glCullFace") => 0x400200f0
Calling getGLProcAddress[0xf70cf1e8]("glDeleteTextures") => 0x40020100
Calling getGLProcAddress[0xf70cf1e8]("glDepthFunc") => 0x40020110
Calling getGLProcAddress[0xf70cf1e8]("glDepthMask") => 0x40020120
Calling getGLProcAddress[0xf70cf1e8]("glDepthRange") => 0x40020130
Calling getGLProcAddress[0xf70cf1e8]("glDisable") => 0x40020140
Calling getGLProcAddress[0xf70cf1e8]("glDrawArrays") => 0x40020150
Calling getGLProcAddress[0xf70cf1e8]("glDrawElements") => 0x40020160
Calling getGLProcAddress[0xf70cf1e8]("glDrawBuffer") => 0x40020170
Calling getGLProcAddress[0xf70cf1e8]("glEnable") => 0x40020180
Calling getGLProcAddress[0xf70cf1e8]("glFrontFace") => 0x40020190
Calling getGLProcAddress[0xf70cf1e8]("glGetIntegerv") => 0x400201a0
Calling getGLProcAddress[0xf70cf1e8]("glGetString") => 0x400201b0
Calling getGLProcAddress[0xf70cf1e8]("glGenTextures") => 0x400201c0
Calling getGLProcAddress[0xf70cf1e8]("glPixelStorei") => 0x400201d0
Calling getGLProcAddress[0xf70cf1e8]("glPolygonMode") => 0x400201e0
Calling getGLProcAddress[0xf70cf1e8]("glScissor") => 0x400201f0
Calling getGLProcAddress[0xf70cf1e8]("glStencilFunc") => 0x40020200
Calling getGLProcAddress[0xf70cf1e8]("glStencilMask") => 0x40020210
Calling getGLProcAddress[0xf70cf1e8]("glStencilOp") => 0x40020220
Calling getGLProcAddress[0xf70cf1e8]("glTexEnvf") => 0x40020230
Calling getGLProcAddress[0xf70cf1e8]("glTexImage2D") => 0x40020240
Calling getGLProcAddress[0xf70cf1e8]("glTexParameteri") => 0x40020250
Calling getGLProcAddress[0xf70cf1e8]("glTexParameterf") => 0x40020260
Calling getGLProcAddress[0xf70cf1e8]("glTexSubImage2D") => 0x40020270
Calling getGLProcAddress[0xf70cf1e8]("glViewport") => 0x40020280
Calling getGLProcAddress[0xf70cf1e8]("glActiveTexture") => 0x40020040
Calling getGLProcAddress[0xf70cf1e8]("glAlphaFunc") => 0x40020050
Calling getGLProcAddress[0xf70cf1e8]("glBindTexture") => 0x40020060
Calling getGLProcAddress[0xf70cf1e8]("glBlendEquation") => 0x40020070
Calling getGLProcAddress[0xf70cf1e8]("glBlendFunc") => 0x40020080
Calling getGLProcAddress[0xf70cf1e8]("glClear") => 0x40020090
Calling getGLProcAddress[0xf70cf1e8]("glClearColor") => 0x400200a0
Calling getGLProcAddress[0xf70cf1e8]("glClearDepth") => 0x400200b0
Calling getGLProcAddress[0xf70cf1e8]("glClearStencil") => 0x400200c0
Calling getGLProcAddress[0xf70cf1e8]("glColorMask") => 0x400200d0
Calling getGLProcAddress[0xf70cf1e8]("glCompressedTexImage2D") => 0x400200e0
Calling getGLProcAddress[0xf70cf1e8]("glCullFace") => 0x400200f0
Calling getGLProcAddress[0xf70cf1e8]("glDeleteTextures") => 0x40020100
Calling getGLProcAddress[0xf70cf1e8]("glDepthFunc") => 0x40020110
Calling getGLProcAddress[0xf70cf1e8]("glDepthMask") => 0x40020120
Calling getGLProcAddress[0xf70cf1e8]("glDepthRange") => 0x40020130
Calling getGLProcAddress[0xf70cf1e8]("glDisable") => 0x40020140
Calling getGLProcAddress[0xf70cf1e8]("glDrawArrays") => 0x40020150
Calling getGLProcAddress[0xf70cf1e8]("glDrawElements") => 0x40020160
Calling getGLProcAddress[0xf70cf1e8]("glDrawBuffer") => 0x40020170
Calling getGLProcAddress[0xf70cf1e8]("glEnable") => 0x40020180
Calling getGLProcAddress[0xf70cf1e8]("glFrontFace") => 0x40020190
Calling getGLProcAddress[0xf70cf1e8]("glGetIntegerv") => 0x400201a0
Calling getGLProcAddress[0xf70cf1e8]("glGetString") => 0x400201b0
Calling getGLProcAddress[0xf70cf1e8]("glGenTextures") => 0x400201c0
Calling getGLProcAddress[0xf70cf1e8]("glPixelStorei") => 0x400201d0
Calling getGLProcAddress[0xf70cf1e8]("glPolygonMode") => 0x400201e0
Calling getGLProcAddress[0xf70cf1e8]("glScissor") => 0x400201f0
Calling getGLProcAddress[0xf70cf1e8]("glStencilFunc") => 0x40020200
Calling getGLProcAddress[0xf70cf1e8]("glStencilMask") => 0x40020210
Calling getGLProcAddress[0xf70cf1e8]("glStencilOp") => 0x40020220
Calling getGLProcAddress[0xf70cf1e8]("glTexEnvf") => 0x40020230
Calling getGLProcAddress[0xf70cf1e8]("glTexImage2D") => 0x40020240
Calling getGLProcAddress[0xf70cf1e8]("glTexParameteri") => 0x40020250
Calling getGLProcAddress[0xf70cf1e8]("glTexParameterf") => 0x40020260
Calling getGLProcAddress[0xf70cf1e8]("glTexSubImage2D") => 0x40020270
Calling getGLProcAddress[0xf70cf1e8]("glViewport") => 0x40020280
Calling getGLProcAddress[0xf70cf1e8]("glBindBufferARB") => 0x40020290
Calling getGLProcAddress[0xf70cf1e8]("glDeleteBuffersARB") => 0x400202a0
Calling getGLProcAddress[0xf70cf1e8]("glGenBuffersARB") => 0x400202b0
Calling getGLProcAddress[0xf70cf1e8]("glBufferDataARB") => 0x400202c0
Calling getGLProcAddress[0xf70cf1e8]("glBufferSubDataARB") => 0x400202d0
Calling getGLProcAddress[0xf70cf1e8]("glMapBufferARB") => 0x400202e0
Calling getGLProcAddress[0xf70cf1e8]("glUnmapBufferARB") => 0x400202f0
Calling getGLProcAddress[0xf70cf1e8]("glBindRenderbufferEXT") => 0x40020300
Calling getGLProcAddress[0xf70cf1e8]("glDeleteRenderbuffersEXT") => 0x40020310
Calling getGLProcAddress[0xf70cf1e8]("glGenRenderbuffersEXT") => 0x40020320
Calling getGLProcAddress[0xf70cf1e8]("glRenderbufferStorageEXT") => 0x40020330
Calling getGLProcAddress[0xf70cf1e8]("glBindFramebufferEXT") => 0x40020340
Calling getGLProcAddress[0xf70cf1e8]("glDeleteFramebuffersEXT") => 0x40020350
Calling getGLProcAddress[0xf70cf1e8]("glGenFramebuffersEXT") => 0x40020360
Calling getGLProcAddress[0xf70cf1e8]("glCheckFramebufferStatusEXT") => 0x40020370
Calling getGLProcAddress[0xf70cf1e8]("glFramebufferTexture2DEXT") => 0x40020380
Calling getGLProcAddress[0xf70cf1e8]("glFramebufferRenderbufferEXT") => 0x40020390
Calling getGLProcAddress[0xf70cf1e8]("glBlitFramebufferEXT") => 0x400203a0
Calling getGLProcAddress[0xf70cf1e8]("glGetString") => 0x400201b0
Calling getGLProcAddress[0xf70cf1e8]("glGetError") => 0x400203b0
Calling getGLProcAddress[0xf70cf1e8]("glGetIntegerv") => 0x400201a0
Calling getGLProcAddress[0xf70cf1e8]("glEnable") => 0x40020180
Calling getGLProcAddress[0xf70cf1e8]("glDisable") => 0x40020140
Calling getGLProcAddress[0xf70cf1e8]("glDeleteShader") => 0x400203c0
Calling getGLProcAddress[0xf70cf1e8]("glDeleteProgram") => 0x400203d0
Calling getGLProcAddress[0xf70cf1e8]("glAttachShader") => 0x400203e0
Calling getGLProcAddress[0xf70cf1e8]("glCompileShader") => 0x400203f0
Calling getGLProcAddress[0xf70cf1e8]("glCreateShader") => 0x40020400
Calling getGLProcAddress[0xf70cf1e8]("glCreateProgram") => 0x40020410
Calling getGLProcAddress[0xf70cf1e8]("glDisableVertexAttribArray") => 0x40020420
Calling getGLProcAddress[0xf70cf1e8]("glEnableVertexAttribArray") => 0x40020430
Calling getGLProcAddress[0xf70cf1e8]("glGetAttribLocation") => 0x40020440
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramInfoLog") => 0x40020450
Calling getGLProcAddress[0xf70cf1e8]("glGetShaderiv") => 0x40020460
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramiv") => 0x40020470
Calling getGLProcAddress[0xf70cf1e8]("glGetUniformLocation") => 0x40020480
Calling getGLProcAddress[0xf70cf1e8]("glLinkProgram") => 0x40020490
Calling getGLProcAddress[0xf70cf1e8]("glShaderSource") => 0x400204a0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1i") => 0x400204b0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1iv") => 0x400204c0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4fv") => 0x400204d0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4iv") => 0x400204e0
Calling getGLProcAddress[0xf70cf1e8]("glUseProgram") => 0x400204f0
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointer") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glDeleteObjectARB") => 0x40020510
Calling getGLProcAddress[0xf70cf1e8]("glAttachObjectARB") => 0x40020520
Calling getGLProcAddress[0xf70cf1e8]("glCompileShaderARB") => 0x400203f0
Calling getGLProcAddress[0xf70cf1e8]("glCreateProgramObjectARB") => 0x40020530
Calling getGLProcAddress[0xf70cf1e8]("glCreateShaderObjectARB") => 0x40020540
Calling getGLProcAddress[0xf70cf1e8]("glGetInfoLogARB") => 0x40020550
Calling getGLProcAddress[0xf70cf1e8]("glGetObjectParameterivARB") => 0x40020560
Calling getGLProcAddress[0xf70cf1e8]("glGetUniformLocationARB") => 0x40020480
Calling getGLProcAddress[0xf70cf1e8]("glLinkProgramARB") => 0x40020490
Calling getGLProcAddress[0xf70cf1e8]("glShaderSourceARB") => 0x400204a0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1iARB") => 0x400204b0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1ivARB") => 0x400204c0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4fvARB") => 0x400204d0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4ivARB") => 0x400204e0
Calling getGLProcAddress[0xf70cf1e8]("glUseProgramObjectARB") => 0x40020570
Calling getGLProcAddress[0xf70cf1e8]("glDisableVertexAttribArrayARB") => 0x40020420
Calling getGLProcAddress[0xf70cf1e8]("glEnableVertexAttribArrayARB") => 0x40020430
Calling getGLProcAddress[0xf70cf1e8]("glGetAttribLocationARB") => 0x40020440
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointerARB") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointerARB") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramivARB") => 0x40020580
Calling getGLProcAddress[0xf70cf1e8]("glProgramLocalParameter4fvARB") => 0x40020590
Calling getGLProcAddress[0xf70cf1e8]("glDeleteProgramsARB") => 0x400205a0
Calling getGLProcAddress[0xf70cf1e8]("glGenProgramsARB") => 0x400205b0
Calling getGLProcAddress[0xf70cf1e8]("glBindProgramARB") => 0x400205c0
Calling getGLProcAddress[0xf70cf1e8]("glProgramStringARB") => 0x400205d0
Calling getGLProcAddress[0xf70cf1e8]("glProgramLocalParameterI4ivNV") => (nil)
Calling getGLProcAddress[0xf70cf1e8]("glGetString") => 0x400201b0
Calling getGLProcAddress[0xf70cf1e8]("glGetError") => 0x400203b0
Calling getGLProcAddress[0xf70cf1e8]("glGetIntegerv") => 0x400201a0
Calling getGLProcAddress[0xf70cf1e8]("glEnable") => 0x40020180
Calling getGLProcAddress[0xf70cf1e8]("glDisable") => 0x40020140
Calling getGLProcAddress[0xf70cf1e8]("glDeleteShader") => 0x400203c0
Calling getGLProcAddress[0xf70cf1e8]("glDeleteProgram") => 0x400203d0
Calling getGLProcAddress[0xf70cf1e8]("glAttachShader") => 0x400203e0
Calling getGLProcAddress[0xf70cf1e8]("glCompileShader") => 0x400203f0
Calling getGLProcAddress[0xf70cf1e8]("glCreateShader") => 0x40020400
Calling getGLProcAddress[0xf70cf1e8]("glCreateProgram") => 0x40020410
Calling getGLProcAddress[0xf70cf1e8]("glDisableVertexAttribArray") => 0x40020420
Calling getGLProcAddress[0xf70cf1e8]("glEnableVertexAttribArray") => 0x40020430
Calling getGLProcAddress[0xf70cf1e8]("glGetAttribLocation") => 0x40020440
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramInfoLog") => 0x40020450
Calling getGLProcAddress[0xf70cf1e8]("glGetShaderiv") => 0x40020460
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramiv") => 0x40020470
Calling getGLProcAddress[0xf70cf1e8]("glGetUniformLocation") => 0x40020480
Calling getGLProcAddress[0xf70cf1e8]("glLinkProgram") => 0x40020490
Calling getGLProcAddress[0xf70cf1e8]("glShaderSource") => 0x400204a0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1i") => 0x400204b0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1iv") => 0x400204c0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4fv") => 0x400204d0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4iv") => 0x400204e0
Calling getGLProcAddress[0xf70cf1e8]("glUseProgram") => 0x400204f0
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointer") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glDeleteObjectARB") => 0x40020510
Calling getGLProcAddress[0xf70cf1e8]("glAttachObjectARB") => 0x40020520
Calling getGLProcAddress[0xf70cf1e8]("glCompileShaderARB") => 0x400203f0
Calling getGLProcAddress[0xf70cf1e8]("glCreateProgramObjectARB") => 0x40020530
Calling getGLProcAddress[0xf70cf1e8]("glCreateShaderObjectARB") => 0x40020540
Calling getGLProcAddress[0xf70cf1e8]("glGetInfoLogARB") => 0x40020550
Calling getGLProcAddress[0xf70cf1e8]("glGetObjectParameterivARB") => 0x40020560
Calling getGLProcAddress[0xf70cf1e8]("glGetUniformLocationARB") => 0x40020480
Calling getGLProcAddress[0xf70cf1e8]("glLinkProgramARB") => 0x40020490
Calling getGLProcAddress[0xf70cf1e8]("glShaderSourceARB") => 0x400204a0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1iARB") => 0x400204b0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1ivARB") => 0x400204c0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4fvARB") => 0x400204d0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4ivARB") => 0x400204e0
Calling getGLProcAddress[0xf70cf1e8]("glUseProgramObjectARB") => 0x40020570
Calling getGLProcAddress[0xf70cf1e8]("glDisableVertexAttribArrayARB") => 0x40020420
Calling getGLProcAddress[0xf70cf1e8]("glEnableVertexAttribArrayARB") => 0x40020430
Calling getGLProcAddress[0xf70cf1e8]("glGetAttribLocationARB") => 0x40020440
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointerARB") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointerARB") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramivARB") => 0x40020580
Calling getGLProcAddress[0xf70cf1e8]("glProgramLocalParameter4fvARB") => 0x40020590
Calling getGLProcAddress[0xf70cf1e8]("glDeleteProgramsARB") => 0x400205a0
Calling getGLProcAddress[0xf70cf1e8]("glGenProgramsARB") => 0x400205b0
Calling getGLProcAddress[0xf70cf1e8]("glBindProgramARB") => 0x400205c0
Calling getGLProcAddress[0xf70cf1e8]("glProgramStringARB") => 0x400205d0
Calling getGLProcAddress[0xf70cf1e8]("glProgramLocalParameterI4ivNV") => (nil)
Calling getGLProcAddress[0xf70cf1e8]("glActiveTexture") => 0x40020040
Calling getGLProcAddress[0xf70cf1e8]("glAlphaFunc") => 0x40020050
Calling getGLProcAddress[0xf70cf1e8]("glBindTexture") => 0x40020060
Calling getGLProcAddress[0xf70cf1e8]("glBlendEquation") => 0x40020070
Calling getGLProcAddress[0xf70cf1e8]("glBlendFunc") => 0x40020080
Calling getGLProcAddress[0xf70cf1e8]("glClear") => 0x40020090
Calling getGLProcAddress[0xf70cf1e8]("glClearColor") => 0x400200a0
Calling getGLProcAddress[0xf70cf1e8]("glClearDepth") => 0x400200b0
Calling getGLProcAddress[0xf70cf1e8]("glClearStencil") => 0x400200c0
Calling getGLProcAddress[0xf70cf1e8]("glColorMask") => 0x400200d0
Calling getGLProcAddress[0xf70cf1e8]("glCompressedTexImage2D") => 0x400200e0
Calling getGLProcAddress[0xf70cf1e8]("glCullFace") => 0x400200f0
Calling getGLProcAddress[0xf70cf1e8]("glDeleteTextures") => 0x40020100
Calling getGLProcAddress[0xf70cf1e8]("glDepthFunc") => 0x40020110
Calling getGLProcAddress[0xf70cf1e8]("glDepthMask") => 0x40020120
Calling getGLProcAddress[0xf70cf1e8]("glDepthRange") => 0x40020130
Calling getGLProcAddress[0xf70cf1e8]("glDisable") => 0x40020140
Calling getGLProcAddress[0xf70cf1e8]("glDrawArrays") => 0x40020150
Calling getGLProcAddress[0xf70cf1e8]("glDrawElements") => 0x40020160
Calling getGLProcAddress[0xf70cf1e8]("glDrawBuffer") => 0x40020170
Calling getGLProcAddress[0xf70cf1e8]("glEnable") => 0x40020180
Calling getGLProcAddress[0xf70cf1e8]("glFrontFace") => 0x40020190
Calling getGLProcAddress[0xf70cf1e8]("glGetIntegerv") => 0x400201a0
Calling getGLProcAddress[0xf70cf1e8]("glGetString") => 0x400201b0
Calling getGLProcAddress[0xf70cf1e8]("glGenTextures") => 0x400201c0
Calling getGLProcAddress[0xf70cf1e8]("glPixelStorei") => 0x400201d0
Calling getGLProcAddress[0xf70cf1e8]("glPolygonMode") => 0x400201e0
Calling getGLProcAddress[0xf70cf1e8]("glScissor") => 0x400201f0
Calling getGLProcAddress[0xf70cf1e8]("glStencilFunc") => 0x40020200
Calling getGLProcAddress[0xf70cf1e8]("glStencilMask") => 0x40020210
Calling getGLProcAddress[0xf70cf1e8]("glStencilOp") => 0x40020220
Calling getGLProcAddress[0xf70cf1e8]("glTexEnvf") => 0x40020230
Calling getGLProcAddress[0xf70cf1e8]("glTexImage2D") => 0x40020240
Calling getGLProcAddress[0xf70cf1e8]("glTexParameteri") => 0x40020250
Calling getGLProcAddress[0xf70cf1e8]("glTexParameterf") => 0x40020260
Calling getGLProcAddress[0xf70cf1e8]("glTexSubImage2D") => 0x40020270
Calling getGLProcAddress[0xf70cf1e8]("glViewport") => 0x40020280
Calling getGLProcAddress[0xf70cf1e8]("glActiveTexture") => 0x40020040
Calling getGLProcAddress[0xf70cf1e8]("glAlphaFunc") => 0x40020050
Calling getGLProcAddress[0xf70cf1e8]("glBindTexture") => 0x40020060
Calling getGLProcAddress[0xf70cf1e8]("glBlendEquation") => 0x40020070
Calling getGLProcAddress[0xf70cf1e8]("glBlendFunc") => 0x40020080
Calling getGLProcAddress[0xf70cf1e8]("glClear") => 0x40020090
Calling getGLProcAddress[0xf70cf1e8]("glClearColor") => 0x400200a0
Calling getGLProcAddress[0xf70cf1e8]("glClearDepth") => 0x400200b0
Calling getGLProcAddress[0xf70cf1e8]("glClearStencil") => 0x400200c0
Calling getGLProcAddress[0xf70cf1e8]("glColorMask") => 0x400200d0
Calling getGLProcAddress[0xf70cf1e8]("glCompressedTexImage2D") => 0x400200e0
Calling getGLProcAddress[0xf70cf1e8]("glCullFace") => 0x400200f0
Calling getGLProcAddress[0xf70cf1e8]("glDeleteTextures") => 0x40020100
Calling getGLProcAddress[0xf70cf1e8]("glDepthFunc") => 0x40020110
Calling getGLProcAddress[0xf70cf1e8]("glDepthMask") => 0x40020120
Calling getGLProcAddress[0xf70cf1e8]("glDepthRange") => 0x40020130
Calling getGLProcAddress[0xf70cf1e8]("glDisable") => 0x40020140
Calling getGLProcAddress[0xf70cf1e8]("glDrawArrays") => 0x40020150
Calling getGLProcAddress[0xf70cf1e8]("glDrawElements") => 0x40020160
Calling getGLProcAddress[0xf70cf1e8]("glDrawBuffer") => 0x40020170
Calling getGLProcAddress[0xf70cf1e8]("glEnable") => 0x40020180
Calling getGLProcAddress[0xf70cf1e8]("glFrontFace") => 0x40020190
Calling getGLProcAddress[0xf70cf1e8]("glGetIntegerv") => 0x400201a0
Calling getGLProcAddress[0xf70cf1e8]("glGetString") => 0x400201b0
Calling getGLProcAddress[0xf70cf1e8]("glGenTextures") => 0x400201c0
Calling getGLProcAddress[0xf70cf1e8]("glPixelStorei") => 0x400201d0
Calling getGLProcAddress[0xf70cf1e8]("glPolygonMode") => 0x400201e0
Calling getGLProcAddress[0xf70cf1e8]("glScissor") => 0x400201f0
Calling getGLProcAddress[0xf70cf1e8]("glStencilFunc") => 0x40020200
Calling getGLProcAddress[0xf70cf1e8]("glStencilMask") => 0x40020210
Calling getGLProcAddress[0xf70cf1e8]("glStencilOp") => 0x40020220
Calling getGLProcAddress[0xf70cf1e8]("glTexEnvf") => 0x40020230
Calling getGLProcAddress[0xf70cf1e8]("glTexImage2D") => 0x40020240
Calling getGLProcAddress[0xf70cf1e8]("glTexParameteri") => 0x40020250
Calling getGLProcAddress[0xf70cf1e8]("glTexParameterf") => 0x40020260
Calling getGLProcAddress[0xf70cf1e8]("glTexSubImage2D") => 0x40020270
Calling getGLProcAddress[0xf70cf1e8]("glViewport") => 0x40020280
Calling getGLProcAddress[0xf70cf1e8]("glBindBufferARB") => 0x40020290
Calling getGLProcAddress[0xf70cf1e8]("glDeleteBuffersARB") => 0x400202a0
Calling getGLProcAddress[0xf70cf1e8]("glGenBuffersARB") => 0x400202b0
Calling getGLProcAddress[0xf70cf1e8]("glBufferDataARB") => 0x400202c0
Calling getGLProcAddress[0xf70cf1e8]("glBufferSubDataARB") => 0x400202d0
Calling getGLProcAddress[0xf70cf1e8]("glMapBufferARB") => 0x400202e0
Calling getGLProcAddress[0xf70cf1e8]("glUnmapBufferARB") => 0x400202f0
Calling getGLProcAddress[0xf70cf1e8]("glBindRenderbufferEXT") => 0x40020300
Calling getGLProcAddress[0xf70cf1e8]("glDeleteRenderbuffersEXT") => 0x40020310
Calling getGLProcAddress[0xf70cf1e8]("glGenRenderbuffersEXT") => 0x40020320
Calling getGLProcAddress[0xf70cf1e8]("glRenderbufferStorageEXT") => 0x40020330
Calling getGLProcAddress[0xf70cf1e8]("glBindFramebufferEXT") => 0x40020340
Calling getGLProcAddress[0xf70cf1e8]("glDeleteFramebuffersEXT") => 0x40020350
Calling getGLProcAddress[0xf70cf1e8]("glGenFramebuffersEXT") => 0x40020360
Calling getGLProcAddress[0xf70cf1e8]("glCheckFramebufferStatusEXT") => 0x40020370
Calling getGLProcAddress[0xf70cf1e8]("glFramebufferTexture2DEXT") => 0x40020380
Calling getGLProcAddress[0xf70cf1e8]("glFramebufferRenderbufferEXT") => 0x40020390
Calling getGLProcAddress[0xf70cf1e8]("glBlitFramebufferEXT") => 0x400203a0
Calling getGLProcAddress[0xf70cf1e8]("glGetString") => 0x400201b0
Calling getGLProcAddress[0xf70cf1e8]("glGetError") => 0x400203b0
Calling getGLProcAddress[0xf70cf1e8]("glGetIntegerv") => 0x400201a0
Calling getGLProcAddress[0xf70cf1e8]("glEnable") => 0x40020180
Calling getGLProcAddress[0xf70cf1e8]("glDisable") => 0x40020140
Calling getGLProcAddress[0xf70cf1e8]("glDeleteShader") => 0x400203c0
Calling getGLProcAddress[0xf70cf1e8]("glDeleteProgram") => 0x400203d0
Calling getGLProcAddress[0xf70cf1e8]("glAttachShader") => 0x400203e0
Calling getGLProcAddress[0xf70cf1e8]("glCompileShader") => 0x400203f0
Calling getGLProcAddress[0xf70cf1e8]("glCreateShader") => 0x40020400
Calling getGLProcAddress[0xf70cf1e8]("glCreateProgram") => 0x40020410
Calling getGLProcAddress[0xf70cf1e8]("glDisableVertexAttribArray") => 0x40020420
Calling getGLProcAddress[0xf70cf1e8]("glEnableVertexAttribArray") => 0x40020430
Calling getGLProcAddress[0xf70cf1e8]("glGetAttribLocation") => 0x40020440
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramInfoLog") => 0x40020450
Calling getGLProcAddress[0xf70cf1e8]("glGetShaderiv") => 0x40020460
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramiv") => 0x40020470
Calling getGLProcAddress[0xf70cf1e8]("glGetUniformLocation") => 0x40020480
Calling getGLProcAddress[0xf70cf1e8]("glLinkProgram") => 0x40020490
Calling getGLProcAddress[0xf70cf1e8]("glShaderSource") => 0x400204a0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1i") => 0x400204b0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1iv") => 0x400204c0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4fv") => 0x400204d0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4iv") => 0x400204e0
Calling getGLProcAddress[0xf70cf1e8]("glUseProgram") => 0x400204f0
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointer") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glDeleteObjectARB") => 0x40020510
Calling getGLProcAddress[0xf70cf1e8]("glAttachObjectARB") => 0x40020520
Calling getGLProcAddress[0xf70cf1e8]("glCompileShaderARB") => 0x400203f0
Calling getGLProcAddress[0xf70cf1e8]("glCreateProgramObjectARB") => 0x40020530
Calling getGLProcAddress[0xf70cf1e8]("glCreateShaderObjectARB") => 0x40020540
Calling getGLProcAddress[0xf70cf1e8]("glGetInfoLogARB") => 0x40020550
Calling getGLProcAddress[0xf70cf1e8]("glGetObjectParameterivARB") => 0x40020560
Calling getGLProcAddress[0xf70cf1e8]("glGetUniformLocationARB") => 0x40020480
Calling getGLProcAddress[0xf70cf1e8]("glLinkProgramARB") => 0x40020490
Calling getGLProcAddress[0xf70cf1e8]("glShaderSourceARB") => 0x400204a0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1iARB") => 0x400204b0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1ivARB") => 0x400204c0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4fvARB") => 0x400204d0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4ivARB") => 0x400204e0
Calling getGLProcAddress[0xf70cf1e8]("glUseProgramObjectARB") => 0x40020570
Calling getGLProcAddress[0xf70cf1e8]("glDisableVertexAttribArrayARB") => 0x40020420
Calling getGLProcAddress[0xf70cf1e8]("glEnableVertexAttribArrayARB") => 0x40020430
Calling getGLProcAddress[0xf70cf1e8]("glGetAttribLocationARB") => 0x40020440
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointerARB") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointerARB") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramivARB") => 0x40020580
Calling getGLProcAddress[0xf70cf1e8]("glProgramLocalParameter4fvARB") => 0x40020590
Calling getGLProcAddress[0xf70cf1e8]("glDeleteProgramsARB") => 0x400205a0
Calling getGLProcAddress[0xf70cf1e8]("glGenProgramsARB") => 0x400205b0
Calling getGLProcAddress[0xf70cf1e8]("glBindProgramARB") => 0x400205c0
Calling getGLProcAddress[0xf70cf1e8]("glProgramStringARB") => 0x400205d0
Calling getGLProcAddress[0xf70cf1e8]("glProgramLocalParameterI4ivNV") => (nil)
Calling getGLProcAddress[0xf70cf1e8]("glGetString") => 0x400201b0
Calling getGLProcAddress[0xf70cf1e8]("glGetError") => 0x400203b0
Calling getGLProcAddress[0xf70cf1e8]("glGetIntegerv") => 0x400201a0
Calling getGLProcAddress[0xf70cf1e8]("glEnable") => 0x40020180
Calling getGLProcAddress[0xf70cf1e8]("glDisable") => 0x40020140
Calling getGLProcAddress[0xf70cf1e8]("glDeleteShader") => 0x400203c0
Calling getGLProcAddress[0xf70cf1e8]("glDeleteProgram") => 0x400203d0
Calling getGLProcAddress[0xf70cf1e8]("glAttachShader") => 0x400203e0
Calling getGLProcAddress[0xf70cf1e8]("glCompileShader") => 0x400203f0
Calling getGLProcAddress[0xf70cf1e8]("glCreateShader") => 0x40020400
Calling getGLProcAddress[0xf70cf1e8]("glCreateProgram") => 0x40020410
Calling getGLProcAddress[0xf70cf1e8]("glDisableVertexAttribArray") => 0x40020420
Calling getGLProcAddress[0xf70cf1e8]("glEnableVertexAttribArray") => 0x40020430
Calling getGLProcAddress[0xf70cf1e8]("glGetAttribLocation") => 0x40020440
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramInfoLog") => 0x40020450
Calling getGLProcAddress[0xf70cf1e8]("glGetShaderiv") => 0x40020460
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramiv") => 0x40020470
Calling getGLProcAddress[0xf70cf1e8]("glGetUniformLocation") => 0x40020480
Calling getGLProcAddress[0xf70cf1e8]("glLinkProgram") => 0x40020490
Calling getGLProcAddress[0xf70cf1e8]("glShaderSource") => 0x400204a0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1i") => 0x400204b0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1iv") => 0x400204c0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4fv") => 0x400204d0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4iv") => 0x400204e0
Calling getGLProcAddress[0xf70cf1e8]("glUseProgram") => 0x400204f0
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointer") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glDeleteObjectARB") => 0x40020510
Calling getGLProcAddress[0xf70cf1e8]("glAttachObjectARB") => 0x40020520
Calling getGLProcAddress[0xf70cf1e8]("glCompileShaderARB") => 0x400203f0
Calling getGLProcAddress[0xf70cf1e8]("glCreateProgramObjectARB") => 0x40020530
Calling getGLProcAddress[0xf70cf1e8]("glCreateShaderObjectARB") => 0x40020540
Calling getGLProcAddress[0xf70cf1e8]("glGetInfoLogARB") => 0x40020550
Calling getGLProcAddress[0xf70cf1e8]("glGetObjectParameterivARB") => 0x40020560
Calling getGLProcAddress[0xf70cf1e8]("glGetUniformLocationARB") => 0x40020480
Calling getGLProcAddress[0xf70cf1e8]("glLinkProgramARB") => 0x40020490
Calling getGLProcAddress[0xf70cf1e8]("glShaderSourceARB") => 0x400204a0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1iARB") => 0x400204b0
Calling getGLProcAddress[0xf70cf1e8]("glUniform1ivARB") => 0x400204c0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4fvARB") => 0x400204d0
Calling getGLProcAddress[0xf70cf1e8]("glUniform4ivARB") => 0x400204e0
Calling getGLProcAddress[0xf70cf1e8]("glUseProgramObjectARB") => 0x40020570
Calling getGLProcAddress[0xf70cf1e8]("glDisableVertexAttribArrayARB") => 0x40020420
Calling getGLProcAddress[0xf70cf1e8]("glEnableVertexAttribArrayARB") => 0x40020430
Calling getGLProcAddress[0xf70cf1e8]("glGetAttribLocationARB") => 0x40020440
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointerARB") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glVertexAttribPointerARB") => 0x40020500
Calling getGLProcAddress[0xf70cf1e8]("glGetProgramivARB") => 0x40020580
Calling getGLProcAddress[0xf70cf1e8]("glProgramLocalParameter4fvARB") => 0x40020590
Calling getGLProcAddress[0xf70cf1e8]("glDeleteProgramsARB") => 0x400205a0
Calling getGLProcAddress[0xf70cf1e8]("glGenProgramsARB") => 0x400205b0
Calling getGLProcAddress[0xf70cf1e8]("glBindProgramARB") => 0x400205c0
Calling getGLProcAddress[0xf70cf1e8]("glProgramStringARB") => 0x400205d0
Calling getGLProcAddress[0xf70cf1e8]("glProgramLocalParameterI4ivNV") => (nil)
Running in Fake Xbox 360 Mode
It should work now, with latest version, if you build box86 with the GOA_CLONES
profile.
It should work now, with latest version, if you build box86 with the
GOA_CLONES
profile.
Thank you @ptitSeb. Johnny reported that it now works on his devices.
For some reason on mine my LibGL gets initialized two times and at the end I'm getting a SIGSEGV. Really odd
Calling getGLProcAddress[0xf7182c94]("glTexParameteri") => 0x40020250
Calling getGLProcAddress[0xf7182c94]("glTexParameterf") => 0x40020260
Calling getGLProcAddress[0xf7182c94]("glTexSubImage2D") => 0x40020270
Calling getGLProcAddress[0xf7182c94]("glViewport") => 0x40020280
2419|SIGSEGV @0xf76146bc (???(/usr/lib32/libc.so.6/0xf76146bc)) (x86pc=0x400201bb/???:"???", esp=0xf6bb954c, stack=0xf63ba000:0xf6bba000 own=(nil) fp=0x1), for accessing 0x973 (code=-6/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0)
ESP-0x10:0x63d7b8b8 ESP-0x0c:0x00000000 ESP-0x08:0x081a2480 ESP-0x04:0x00000001
ESP+0x00:0x081a33c4 ESP+0x04:0x00001f03 ESP+0x08:0x00000001 ESP+0x0c:0x00000000
Native bactrace:
./x86/SuperMeatBoy() [0x6295ddac]
/usr/lib32/libc.so.6(__default_rt_sa_restorer+0) [0xf75ce210]
/usr/lib32/libc.so.6(+0x7b6bc) [0xf76146bc]
/usr/lib32/libc.so.6(raise+0x18) [0xf75cd16c]
2419|SIGSEGV @0xf488017c (???(0xf488017c)) (x86pc=0x400201bb/???:"???", esp=0xf6bb954c, stack=0xf63ba000:0xf6bba000 own=(nil) fp=0x1), for accessing 0xf488017c (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0)
ESP-0x10:0x63d7b8b8 ESP-0x0c:0x00000000 ESP-0x08:0x081a2480 ESP-0x04:0x00000001
ESP+0x00:0x081a33c4 ESP+0x04:0x00001f03 ESP+0x08:0x00000001 ESP+0x0c:0x00000000
Native bactrace:
./x86/SuperMeatBoy() [0x6295ddac]
/usr/lib32/libc.so.6(__default_rt_sa_restorer+0) [0xf75ce210]
2419|Double SIGSEGV (code=1, pc=0xf488017c, addr=0xf488017c)!
LIBGL: Shutting down
I'm unsure what to do with this ticket? Close it or left open. But then, if open, to do what?
I recently found something really weird. We're running box86 in combination with gl4es on various linux handhelds in this example RK3326, SDL2 via KMS/DRM no X11.
We never had luck running Super Meat Boy on our devicesuntil a member joined our PortMaster community and showed us gameplay. Until then we always had a black screen with the game running in the background.
The box86 version this user used was dated back to April 10th 2021. Man that is really old!
So I sat down and tried to track down where regression happened. And I landed on https://github.com/ptitSeb/box86/commit/656e7552b57bf6d64b7fa7fe2c4471ed8af39fb6
It might be aswell a gl4es problem hard to say at this point.
I start the game will following exports:
export BOX86_LOG=1 export BOX86_DLSYM_ERROR=1 export BOX86_SHOWSEGV=1 export BOX86_SHOWBT=1 export BOX86_DYNAREC=1 export SDL_VIDEO_GL_DRIVER="$GAMEDIR/box86/native/libGL.so.1"
export LIBGL_ES=2 export LIBGL_GL=21 export LIBGL_FB=4
I added some error checking around my2_SDL_GL_GetProcAddress
The only noticable thing i see in the logs now:
I hope you have an ideal thanks in advance!