-
Hi friends, Please forgive me, as I'm a little out of my depth here. I'm trying to get an ebiten application to use GPU acceleration on a custom Debian device with OpenGLES 3.2. I stood up a prototype with a Raspberry Pi, and as long as I set the variable MESA_GL_VERSION_OVERRIDE=4.5, my app looks great. After standing up a few Raspberry Pi prototypes, we ordered a sample of our device from a manufacturer in China. They sent over a board with a Rockchip ARM architecture with a Mali GPU. I've been able to use a few of their built in apps to confirm that GPU acceleration via GLES is ready to go. I just can't figure out a way to access it myself for our app. See for yourself - Raspberry Pi prototype on left, Rockchip supplier sample on right (Thank you for the sample!): https://www.youtube.com/watch?v=RlaCBFjINdA When running the manufacturer's test app, I get this output: arm_release_ver of this libmali is 'g2p0-01eac0'. rk_so_ver is '4'
===
glmark2 2021.02
===
OpenGL Information:
GL_VENDOR: ARM
GL_RENDERER: Mali-GL2
GL_VERSIONL OpenGL ES 3.2 v1.g2p0-01eac0.xxx..... Edit - adding CPU measurements OH I should mention - running my test app on the raspberry pi shows 20% CPU usage in end edit So, aside from just letting frustration win and yelling "help!", I'd love to know the following:
Anyway, I'm a bit up a creek. If anyone has any advice, or can help me figure out the right questions, I'd be so grateful. Here are my ldd outputs:
ldd $(which glxgears)
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
linux-vdso.so.1 (0x0000007fbece4000)
libGLEW.so.2.1 => /usr/lib/aarch64-linux-gnu/libGLEW.so.2.1 (0x0000007fbebc8000)
libGLU.so.1 => /usr/lib/aarch64-linux-gnu/libGLU.so.1 (0x0000007fbeb54000)
libGL.so.1 => /usr/lib/aarch64-linux-gnu/libGL.so.1 (0x0000007fbea51000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007fbe994000)
libX11.so.6 => /usr/lib/aarch64-linux-gnu/libX11.so.6 (0x0000007fbe84a000)
libXext.so.6 => /usr/lib/aarch64-linux-gnu/libXext.so.6 (0x0000007fbe82a000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007fbe6b9000)
/lib/ld-linux-aarch64.so.1 (0x0000007fbecb6000)
libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007fbe52e000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007fbe50a000)
libGLX.so.0 => /usr/lib/aarch64-linux-gnu/libGLX.so.0 (0x0000007fbe4c8000)
libGLdispatch.so.0 => /usr/lib/aarch64-linux-gnu/libGLdispatch.so.0 (0x0000007fbe399000)
libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007fbe385000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007fbe356000)
libxcb.so.1 => /usr/lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007fbe31f000)
libXau.so.6 => /usr/lib/aarch64-linux-gnu/libXau.so.6 (0x0000007fbe30c000)
libXdmcp.so.6 => /usr/lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007fbe2f6000)
libbsd.so.0 => /usr/lib/aarch64-linux-gnu/libbsd.so.0 (0x0000007fbe2d0000)
librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000007fbe2b8000)
ldd $(which glmark2-es2)
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
linux-vdso.so.1 (0x0000007f9dae2000)
libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007f9d9aa000)
libjpeg.so.62 => /usr/lib/aarch64-linux-gnu/libjpeg.so.62 (0x0000007f9d95a000)
libpng16.so.16 => /usr/lib/aarch64-linux-gnu/libpng16.so.16 (0x0000007f9d915000)
libX11.so.6 => /usr/lib/aarch64-linux-gnu/libX11.so.6 (0x0000007f9d7cb000)
libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f9d640000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f9d583000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f9d55f000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f9d3ee000)
/lib/ld-linux-aarch64.so.1 (0x0000007f9dab4000)
libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000007f9d3c4000)
libxcb.so.1 => /usr/lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007f9d38d000)
libXau.so.6 => /usr/lib/aarch64-linux-gnu/libXau.so.6 (0x0000007f9d37a000)
libXdmcp.so.6 => /usr/lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007f9d364000)
libbsd.so.0 => /usr/lib/aarch64-linux-gnu/libbsd.so.0 (0x0000007f9d33e000)
librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000007f9d326000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f9d2f7000)
ldd animation
linux-vdso.so.1 (0x0000007f9483f000)
libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000007f946ad000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f94602000)
libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007f945ee000)
libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000007f945c7000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f94596000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f94422000)
libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007f943ea000)
/lib/ld-linux-aarch64.so.1 (0x0000007f9480f000)
libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000007f943d6000)
libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007f943c0000)
libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000007f9439b000)
libmd.so.0 => /lib/aarch64-linux-gnu/libmd.so.0 (0x0000007f9437f000) |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 10 replies
-
Ebitengine supports OpenGL ES on Linux, but this is not well tested. An OpenGL ES .so file is loaded dynamically so ldd doesn't show it. TBH I don't have a good insight about the slowness in your environments. I hope someone has better insights... |
Beta Was this translation helpful? Give feedback.
-
silly idea, but perhaps run pprof or something to try and pin down what part is slowing down? |
Beta Was this translation helpful? Give feedback.
-
Got it! Looks like It just needed to be set manually! Thanks all! |
Beta Was this translation helpful? Give feedback.
Got it!
export EBITENGINE_OPENGL=es
as mentioned hereLooks like It just needed to be set manually! Thanks all!