@@ -34,6 +34,7 @@ static const char *lib_ext[] = {
3434#ifndef NO_GBM
3535 " so.19" ,
3636#endif
37+ " " ,
3738 " so" ,
3839 " so.1" ,
3940 " so.2" ,
@@ -43,6 +44,7 @@ static const char *lib_ext[] = {
4344};
4445
4546static const char *gles3_lib[] = {
47+ " libGLESv2.so.2" ,
4648 " libGLESv3_CM" ,
4749 " libGLESv3" ,
4850 nullptr
@@ -61,6 +63,7 @@ const char *EGL_ANGLE = "libEGL_angle.so";
6163
6264void *open_lib (const char **names, const char *override ) {
6365 void *lib = nullptr ;
66+ LOG_D (" LIBGL: loading %s (override: %s)" , names[0 ], override ? override : " (null)" )
6467
6568 char path_name[PATH_MAX + 1 ];
6669 int flags = RTLD_LOCAL | RTLD_NOW ;
@@ -78,20 +81,42 @@ void *open_lib(const char **names, const char *override) {
7881 for (int e = 0 ; lib_ext[e]; e++) {
7982 snprintf (path_name, PATH_MAX , " %s%s.%s" , path_prefix[p], names[i], lib_ext[e]);
8083 if ((lib = dlopen (path_name, flags))) {
84+ LOG_D (" LIBGL:loaded: %s\n " , path_name)
8185 return lib;
8286 }
8387 }
8488 }
8589 }
90+ if (lib == nullptr ) {
91+ LOG_D (" LIBGL:failed to load" )
92+ } else {
93+ LOG_D (" LIBGL:loaded" )
94+ }
8695 return lib;
8796}
8897
8998void load_libs () {
9099#ifndef __APPLE__
91100 const char *gles_override = global_settings.angle == AngleMode::Enabled ? GLES_ANGLE : nullptr ;
92101 const char *egl_override = global_settings.angle == AngleMode::Enabled ? EGL_ANGLE : nullptr ;
102+ #ifndef __ANDROID__
93103 gles = open_lib (gles3_lib, gles_override);
94104 egl = open_lib (egl_lib, egl_override);
105+ #else
106+ void * gles_lib = dlopen (" libGLESv2.so" , RTLD_LAZY | RTLD_GLOBAL );
107+ if (!gles_lib) {
108+ gles_lib = dlopen (" libGLESv2.so.2" , RTLD_LAZY | RTLD_GLOBAL );
109+ }
110+
111+ if (!gles_lib) {
112+ fprintf (stderr, " GLES load failed: %s\n " , dlerror ());
113+ }
114+ gles = gles_lib;
115+ egl = dlopen (" libEGL.so" , RTLD_LAZY );
116+ if (!egl) {
117+ LOG_E (" LIBGL: failed to load libEGL.so" )
118+ }
119+ #endif
95120#else
96121 gles = (void *)(~(uintptr_t )0 );
97122 egl = (void *)(~(uintptr_t )0 );
0 commit comments