RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Could not initialize OpenGL /GLES library....

    Scheduled Pinned Locked Moved Help and Support
    odroid xu4xu4retropie setupopenglgles
    20 Posts 5 Posters 3.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Nefariis
      last edited by

      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:

      1. Follow the guide to "sudo ./retropie_setup.sh"
      2. Install all core modules (ES, RA, RA Menu, Commandline)
      3. Install single NES emulator (lr-fceumm)
      4. Install a few ES themes
      5. Install RA overlays and assets
      6. 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/13

      I'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

      1 Reply Last reply Reply Quote 0
      • N
        Nefariis
        last edited by

        Apparently Ubuntu Minimal does not include lightdm - could that be the issue?

        mituM 1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator @Nefariis
          last edited by

          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 of ldd /opt/retropie/supplementary/emulationstation/emulationstation ?

          1 Reply Last reply Reply Quote 0
          • N
            Nefariis
            last edited by

            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)
            
            mituM 1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator @Nefariis
              last edited by mitu

              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.

              1 Reply Last reply Reply Quote 0
              • BuZzB
                BuZz administrators
                last edited by

                I can check/debug this on my Odroid system also @mitu

                To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                1 Reply Last reply Reply Quote 0
                • N
                  Nefariis
                  last edited by

                  Alright list of steps..

                  1. open retro_setup.sh
                  2. update setup script from source
                  3. uninstall/reinstall emulationstation
                  4. Pull log and upload to Pastebin (https://pastebin.com/gtbJkWpS)
                  mituM 1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @Nefariis
                    last edited by

                    It looks like it's picking OpenGL over GLES, that's why it's not working correctly.

                    1 Reply Last reply Reply Quote 0
                    • N
                      Nefariis
                      last edited by

                      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

                      mituM BuZzB 2 Replies Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator @Nefariis
                        last edited by

                        @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.

                        1 Reply Last reply Reply Quote 0
                        • BuZzB
                          BuZz administrators
                          last edited by

                          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.

                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                          1 Reply Last reply Reply Quote 0
                          • BuZzB
                            BuZz administrators @Nefariis
                            last edited by

                            @nefariis If you clean EmulationStation build folder (if needed) and try again it should work.

                            To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                            R 1 Reply Last reply Reply Quote 2
                            • R
                              retropi19 @BuZz
                              last edited by

                              @buzz i know im off-topic but im trying to use the script :

                              https://github.com/RetroPie/RetroPie-Setup/blob/08d99e4288789c72af6a3a99829d7347402bd925/scriptmodules/admin/image.sh#L281

                              to generate/build the berryboot images but when i execute the image.sh file with ./image.sh in a command line prompt in raspbian,nothing happens, do i need to run the script different or something else reguired?

                              Rpi3B+ USB 2.0 Boot HDD Hitachi 40GB 5400rpm

                              Rpi4 4GB rev1.4 USB 3.0 Boot HDD Hitachi 160GB 7200rpm

                              1 Reply Last reply Reply Quote -1
                              • N
                                Nefariis
                                last edited by

                                Yup that fixed it and everything looks to be running ok

                                Thank you guys very much

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jamesvvic
                                  last edited by jamesvvic

                                  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.

                                  1 Reply Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator
                                    last edited by

                                    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.

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      jamesvvic @mitu
                                      last edited by

                                      @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.

                                      mituM 1 Reply Last reply Reply Quote 0
                                      • mituM
                                        mitu Global Moderator @jamesvvic
                                        last edited by mitu

                                        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.

                                        J 1 Reply Last reply Reply Quote 0
                                        • J
                                          jamesvvic @mitu
                                          last edited by jamesvvic

                                          @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
                                          
                                          
                                          mituM 1 Reply Last reply Reply Quote 0
                                          • mituM
                                            mitu Global Moderator @jamesvvic
                                            last edited by

                                            @jamesvvic said in Could not initialize OpenGL /GLES library....:

                                            Found this online, maybe this will help?

                                            I doubt it.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.