First information for new Pyra owners (FAQ)


My guess is libGLdispatch is interfering with GLESv2. Not sure were this deps come from (you can try to find "elflibviewer", a handy Qt dependancy walker that shows a tree of the dependancy instead of just the flat out output of ldd). Not sure why you have all those wayland dependancies also. It's quite heavy for a simple GLES program. Do you have a base system or did you customize it a bit?
 
It's pretty much a base system. I've installed a few things, but not much. I'll try reflashing the system when I can get around to it and start again from scratch.
 
I've done a version on a fresh OS running from the SD card. Still the same problem. The only commands I ran were an apt update && upgrade and installing libsdl2-dev (the Wayland deps seem to be coming from the latter).

I've got a few things to try though now I know roughly where to look.
 
Thanks for the help so far with this, I've managed to get it compiling with with hardware acceleration now. I did this by uninstalling libsdl2-dev and compiling SDL2 myself and linking to that. And also the SDL2 stuff on the wiki as pointed out by sebt3.
And now I get :
Code:
libGL error: MESA-LOADER: failed to retrieve device information
libGL error: unable to load driver: omapdrm_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: omapdrm
libGL error: MESA-LOADER: failed to retrieve device information
libGL error: unable to load driver: omapdrm_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: omapdrm
INFO: Version string: OpenGL ES 2.0 build 1.14@3699939 (MAIN)
INFO: Renderer string: PowerVR SGX 544MP
INFO: Detected 1 attached gamepads
DRI3 1.0
present 1.2
DRM FD 8
So I'm happy it's using the hardware 3D driver now.
However, now I find that that nub movement events are no longer being registered while I'm running like this. I've managed to narrow it down to the call to :
Code:
SDL_GL_SwapWindow( window );
which stops it working. Without that call, I can see movements on the left nub are being picked up, but obviously this means the window is blank. If I include this call, the window renders correctly, but the movements on the left nub are missing. I've created a minimal reproduction of the issue here : https://dev.pyra-handheld.com/kaprikawn/opengl-disables-nubs-repro

I'd appreciate it if someone who isn't useless when it comes to building stuff (like I am) could take a look and see where I'm going wrong. I'm not sure if the problem is in the code/C++ or in my build script (which is a rough approximation of how I'm building my game).

There's a build script which will download and compile SDL2 (which will take ~10mins I think), and create two launcher scripts. run_working_nubs_no_gl.sh will run without the call to SDL_GL_SwapWindow, if you run that then move the left nub, the coordinates will be printed to the console where the script was launched from. Then run_nubs_not_working.sh will run the exact same code, except with the call to SDL_GL_SwapWindow, and moving the left nub no longer updates the console.
 
SDL_GL_Swapwindow is the command to swap to the different virtual screen that GL has been painting on while you view the old screen. I'm not sure any of that applies to windowed contexts.
 
Back
Top