Could not initialize OpenGL /GLES library....
-
Pi Model or other hardware: Odroid XU4
Linux Flavor: Ubuntu Minimal (18.04.5 / 4.14.180-178)
Power Supply used: stock
RetroPie Version Used: 4.7.1
Built From: https://github.com/RetroPie/RetroPie-Setup/
USB Devices connected: keyboard & odroid wifi adapter
Controller used: N/A
Guide used: https://retropie.org.uk/docs/Odroid-XU3-XU4/Steps to follow:
- Follow the guide to "sudo ./retropie_setup.sh"
- Install all core modules (ES, RA, RA Menu, Commandline)
- Install single NES emulator (lr-fceumm)
- Install a few ES themes
- Install RA overlays and assets
- Attempt to use the command "emulationstation"
Error messages received:
Error creating SDL window! Could not initialize OpenGL /GLES library Renderer failed to initialize! Window failed to initialize!
Places Checked Before Posting: FAQ, First Installation, Getting Started, and the general questions Forum
Possibly Related:
https://retropie.org.uk/forum/topic/18504/retropie-on-odroid-xu4-ubuntu-18-emulationstation-issues/4
https://retropie.org.uk/forum/topic/21806/odroid-xu4-sdl-problem-emulationstation/13I've tried various fixes around the internet in an attempt to fix the error but I've had no luck. This is my third time through the guide and this time I have only done what I've listed above so you know exactly what state my ODroid image is in - hopefully that makes it easier to replicate/troubleshoot.
I'm sure that this is something easy that I'm just not understanding how RP/RA/ES work together, but I spent the whole day with it and I just can't figure this out for the life of me.
Any help in solving this issue would be greatly appreciated.
Thanks Guys
-
Apparently Ubuntu Minimal does not include
lightdm
- could that be the issue? -
I don't think so, the libSDL2 that RetroPie builds and installs for EmulationStation should enable video working without the X.org or any desktop environment.
What is the output ofldd /opt/retropie/supplementary/emulationstation/emulationstation
? -
root@odroid:~# ldd /opt/retropie/supplementary/emulationstation/emulationstation linux-vdso.so.1 (0xbea66000) libfreeimage.so.3 => /usr/lib/arm-linux-gnueabihf/libfreeimage.so.3 (0xb6d2c000) libSDL2-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0 (0xb6c2d000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6c08000) libasound.so.2 => /usr/lib/arm-linux-gnueabihf/libasound.so.2 (0xb6b57000) libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0xb6adc000) libcurl.so.4 => /usr/lib/arm-linux-gnueabihf/libcurl.so.4 (0xb6a7e000) libvlc.so.5 => /usr/lib/arm-linux-gnueabihf/libvlc.so.5 (0xb6a56000) libGL.so.1 => /usr/lib/arm-linux-gnueabihf/libGL.so.1 (0xb69d7000) libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb68c4000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6843000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb681a000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6722000) /lib/ld-linux-armhf.so.3 (0xb6fcf000) libjxrglue.so.0 => /usr/lib/arm-linux-gnueabihf/libjxrglue.so.0 (0xb66fe000) libjpeg.so.8 => /usr/lib/arm-linux-gnueabihf/libjpeg.so.8 (0xb66c6000) libopenjp2.so.7 => /usr/lib/arm-linux-gnueabihf/libopenjp2.so.7 (0xb667c000) libpng16.so.16 => /usr/lib/arm-linux-gnueabihf/libpng16.so.16 (0xb664c000) libraw.so.16 => /usr/lib/arm-linux-gnueabihf/libraw.so.16 (0xb6593000) libtiff.so.5 => /usr/lib/arm-linux-gnueabihf/libtiff.so.5 (0xb652c000) libwebpmux.so.3 => /usr/lib/arm-linux-gnueabihf/libwebpmux.so.3 (0xb6516000) libwebp.so.6 => /usr/lib/arm-linux-gnueabihf/libwebp.so.6 (0xb64c7000) libIlmImf-2_2.so.22 => /usr/lib/arm-linux-gnueabihf/libIlmImf-2_2.so.22 (0xb6246000) libHalf.so.12 => /usr/lib/arm-linux-gnueabihf/libHalf.so.12 (0xb61f3000) libIex-2_2.so.12 => /usr/lib/arm-linux-gnueabihf/libIex-2_2.so.12 (0xb61ce000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb61a4000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6191000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb617b000) libnghttp2.so.14 => /usr/lib/arm-linux-gnueabihf/libnghttp2.so.14 (0xb6153000) libidn2.so.0 => /usr/lib/arm-linux-gnueabihf/libidn2.so.0 (0xb6128000) librtmp.so.1 => /usr/lib/arm-linux-gnueabihf/librtmp.so.1 (0xb6104000) libpsl.so.5 => /usr/lib/arm-linux-gnueabihf/libpsl.so.5 (0xb60e7000) libssl.so.1.1 => /usr/lib/arm-linux-gnueabihf/libssl.so.1.1 (0xb6085000) libcrypto.so.1.1 => /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1 (0xb5ee0000) libgssapi_krb5.so.2 => /usr/lib/arm-linux-gnueabihf/libgssapi_krb5.so.2 (0xb5ea5000) libldap_r-2.4.so.2 => /usr/lib/arm-linux-gnueabihf/libldap_r-2.4.so.2 (0xb5e62000) liblber-2.4.so.2 => /usr/lib/arm-linux-gnueabihf/liblber-2.4.so.2 (0xb5e49000) libvlccore.so.9 => /usr/lib/arm-linux-gnueabihf/libvlccore.so.9 (0xb5d89000) libGLX.so.0 => /usr/lib/arm-linux-gnueabihf/libGLX.so.0 (0xb5d6e000) libGLdispatch.so.0 => /usr/lib/arm-linux-gnueabihf/libGLdispatch.so.0 (0xb5cf0000) libjpegxr.so.0 => /usr/lib/arm-linux-gnueabihf/libjpegxr.so.0 (0xb5cbd000) liblcms2.so.2 => /usr/lib/arm-linux-gnueabihf/liblcms2.so.2 (0xb5c77000) libgomp.so.1 => /usr/lib/arm-linux-gnueabihf/libgomp.so.1 (0xb5c48000) liblzma.so.5 => /lib/arm-linux-gnueabihf/liblzma.so.5 (0xb5c1e000) libjbig.so.0 => /usr/lib/arm-linux-gnueabihf/libjbig.so.0 (0xb5c04000) libIlmThread-2_2.so.12 => /usr/lib/arm-linux-gnueabihf/libIlmThread-2_2.so.12 (0xb5bef000) libunistring.so.2 => /usr/lib/arm-linux-gnueabihf/libunistring.so.2 (0xb5a84000) libgnutls.so.30 => /usr/lib/arm-linux-gnueabihf/libgnutls.so.30 (0xb5984000) libhogweed.so.4 => /usr/lib/arm-linux-gnueabihf/libhogweed.so.4 (0xb594c000) libnettle.so.6 => /usr/lib/arm-linux-gnueabihf/libnettle.so.6 (0xb5911000) libgmp.so.10 => /usr/lib/arm-linux-gnueabihf/libgmp.so.10 (0xb58b9000) libkrb5.so.3 => /usr/lib/arm-linux-gnueabihf/libkrb5.so.3 (0xb5821000) libk5crypto.so.3 => /usr/lib/arm-linux-gnueabihf/libk5crypto.so.3 (0xb57ec000) libcom_err.so.2 => /lib/arm-linux-gnueabihf/libcom_err.so.2 (0xb57d9000) libkrb5support.so.0 => /usr/lib/arm-linux-gnueabihf/libkrb5support.so.0 (0xb57c2000) libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0xb57a2000) libsasl2.so.2 => /usr/lib/arm-linux-gnueabihf/libsasl2.so.2 (0xb5781000) libgssapi.so.3 => /usr/lib/arm-linux-gnueabihf/libgssapi.so.3 (0xb574c000) libidn.so.11 => /lib/arm-linux-gnueabihf/libidn.so.11 (0xb570c000) libdbus-1.so.3 => /lib/arm-linux-gnueabihf/libdbus-1.so.3 (0xb56cd000) libX11.so.6 => /usr/lib/arm-linux-gnueabihf/libX11.so.6 (0xb55dc000) libp11-kit.so.0 => /usr/lib/arm-linux-gnueabihf/libp11-kit.so.0 (0xb551a000) libtasn1.so.6 => /usr/lib/arm-linux-gnueabihf/libtasn1.so.6 (0xb54fe000) libkeyutils.so.1 => /lib/arm-linux-gnueabihf/libkeyutils.so.1 (0xb54eb000) libheimntlm.so.0 => /usr/lib/arm-linux-gnueabihf/libheimntlm.so.0 (0xb54d5000) libkrb5.so.26 => /usr/lib/arm-linux-gnueabihf/libkrb5.so.26 (0xb5473000) libasn1.so.8 => /usr/lib/arm-linux-gnueabihf/libasn1.so.8 (0xb540d000) libhcrypto.so.4 => /usr/lib/arm-linux-gnueabihf/libhcrypto.so.4 (0xb53d9000) libroken.so.18 => /usr/lib/arm-linux-gnueabihf/libroken.so.18 (0xb53bc000) libsystemd.so.0 => /lib/arm-linux-gnueabihf/libsystemd.so.0 (0xb5356000) libxcb.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb.so.1 (0xb532e000) libffi.so.6 => /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0xb5318000) libwind.so.0 => /usr/lib/arm-linux-gnueabihf/libwind.so.0 (0xb52e0000) libheimbase.so.1 => /usr/lib/arm-linux-gnueabihf/libheimbase.so.1 (0xb52c7000) libhx509.so.5 => /usr/lib/arm-linux-gnueabihf/libhx509.so.5 (0xb528c000) libsqlite3.so.0 => /usr/lib/arm-linux-gnueabihf/libsqlite3.so.0 (0xb51dd000) libcrypt.so.1 => /lib/arm-linux-gnueabihf/libcrypt.so.1 (0xb519e000) liblz4.so.1 => /usr/lib/arm-linux-gnueabihf/liblz4.so.1 (0xb517b000) libgcrypt.so.20 => /lib/arm-linux-gnueabihf/libgcrypt.so.20 (0xb50c9000) libXau.so.6 => /usr/lib/arm-linux-gnueabihf/libXau.so.6 (0xb50b6000) libXdmcp.so.6 => /usr/lib/arm-linux-gnueabihf/libXdmcp.so.6 (0xb50a2000) libgpg-error.so.0 => /lib/arm-linux-gnueabihf/libgpg-error.so.0 (0xb5084000) libbsd.so.0 => /lib/arm-linux-gnueabihf/libbsd.so.0 (0xb5062000)
-
Hm, it doesn't look like it's compiled with GLES. Can you try re-installing
emulationstation
from source again, then post the latest log from$HOME/RetroPie-Setup/logs
to pastebin.com ? It should have the compilation log, with the options for GL or GLES. -
I can check/debug this on my Odroid system also @mitu
-
Alright list of steps..
- open retro_setup.sh
- update setup script from source
- uninstall/reinstall emulationstation
- Pull log and upload to Pastebin (https://pastebin.com/gtbJkWpS)
-
It looks like it's picking OpenGL over GLES, that's why it's not working correctly.
-
Have any suggestions on what I might try?
I am waaay out of my element here - but if you point me to a few sites/suggestions I might be able to figure it out.
Thank you again for your help
-
@nefariis We're looking into it - it looks like the EmulationStation build options, that have been updated recently, are not correctly picking up the GLES libraries needed.
-
I have a fix for the XU - I'm just verifying on some other boards before committing my changes - I will update here when it's done.
-
@nefariis If you clean EmulationStation build folder (if needed) and try again it should work.
-
-
Yup that fixed it and everything looks to be running ok
Thank you guys very much
-
Hi hopefully someone can help, I tried the troubleshooting steps here and I am still getting that error "Could not initialize OpenGL / GLES library". Just let me know what info. you'll need from me to somehow see what's the problem. I have everything installed from basic install. Reinstalled emulationstation twice already. I'm using a different board Orange Pi PC and Armbian Ubuntu Focal. Except for the problem packages that I was able to fix/got installed, retropie installed without problems. I'm stuck with that error though. I'm no expert but I am able to follow instructions and somehow find solutions on my own but for this one I really need help. I really want this to work.
-
RetroPie doesn't support Orange Pi boards, but there's a fork geared at these boards at http://www.retrorangepi.org - you can try it and see if your board is supported.
-
@mitu thank you for your reply. I understand it's not supported, but I'm hoping I can make it work. I reinstalled Armbian Buster since Raspberry Pi OS is also the same. I bought this Orange Pi before because it's cheap and if only I known that there'll be a chip shortage I should have bought a raspberry Pi 4 before, I'm trying to buy 1 now but out of stock. I have a raspberry Pi zero w but performance is not very good.
-
I understand it's not supported, but I'm hoping I can make it work.
It's that easy, you'll have to know the platform and adapt the RetroPie-Setup script to the packages available in the distribution. Also, a large part of the packages have special compilations and installation instructions geared towards the platform being used (RPI/Odroid/PC), so you'll have to adapt the base install script and packages to your platform.
I reinstalled Armbian Buster since Raspberry Pi OS is also the same
Raspberry Pi OS contains a RPI tailored distribution (kernel/libraries/programs) which is based on Debian stable, but it's not the same. You should start from RetrOrangePi and - if your board is not supported by it - adapt it to your system.
-
@mitu Thank you for your responses, Ill try to ask in RetrOrange Pi forum as well.
Found this online, maybe this will help?
sudo __platform=generic-x11 ./retropie_setup.sh
-
@jamesvvic said in Could not initialize OpenGL /GLES library....:
Found this online, maybe this will help?
I doubt it.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.