Problems trying to compile Ren'Py


you're linking against egl ( build flag -lEGL ), right?

Errrrrr... no. I thought I only needed to link against lGLES_CM... I'll try it right now.


EDIT: Tried linking against -lGLES_CM and -lEGL but again it didn't work :( . I get exactly the same error.
 
Last edited by a moderator:
I have straced a renpy run, and it looks libEGL and libGLES_CM are both opened without problem. Unfortunately I haven't been able to get more useful information from the trace. And unfortunately ltrace is not included in Pandora (maybe this could be useful to see what's exactly happening with the libraries).
 
I've been pretty busy past week. I hope I get some time to play with this, but it looks like I'll not have too much...


Unfortunately, the link to ltrace for armv7a is broken. I could try to compile it myself, but I don't know if it's worth the effort or I should instead try debugging SDL library to see if it somehow it fails while loading symbols. I'm almost sure EGL library is properly loaded (the open() and mmap2() calls complete without problem), but I suspect that something fails when loading the symbols.


Also could anybody explain me the C syntaxis used in the macro I extracted from the SDL code at the end of post #39?
 
I have done a small modification of the macro used to load the symbols, and now the error about EGL symbols is gone :) . This is how the macro looks right now:



Code:
#define LOAD_FUNC(NAME) \

*(void**) (&this->gles_data->NAME) = dlsym(handle, #NAME); \

if ((symErr = dlerror()) != NULL) { \

SDL_SetError("Error loading symbol " #NAME ": %s", symErr); \

return -1; \

}



I have changed the parenthesis handling the return value of the dlsym call, and also changed the error handling to use dlerror instead of checking for a null pointer.



But guess what. Now I face a new error :( . The game starts again in software mode, it looks like now the problem is in Pygame:





Code:
Could not get pygame screen: error('X11 driver not configured with OpenGL',)


A quick grep shows this error code is generated also in SDL library by the OpenGL (not GLES) video driver, so it looks like I will also have to change something in pygame to make it work with GLES. Any pygame experts here? Will I only have to change things in the initialization (like renaming function calls from the OGL to the GLES equivalents) or will I have to change things in more places (like porting the drawing code)?
 
Last edited by a moderator:
Back
Top