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

    Odroid XU4 SDL Problem Emulationstation

    Scheduled Pinned Locked Moved Help and Support
    odroidxu4retropieubuntu
    76 Posts 4 Posters 7.3k 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.
    • A
      aaronouthier
      last edited by

      So I did some more digging. Realized that /usr/bin/emulationstation is a shell script. Found the actual executable, and ran it:

      Feb 26 19:43:02 lvl2:   EmulationStation - v2.11.2rp, built Feb 20 2025 - 11:49:42
      Feb 26 19:43:02 lvl2:   Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamenames.xml"...
      Feb 26 19:43:03 lvl2:   Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamebioses.xml"...
      Feb 26 19:43:03 lvl2:   Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamedevices.xml"...
      Feb 26 19:43:03 lvl2:   Creating window...
      Segmentation fault (core dumped)
      

      Where are core dumps stored? I'm willing to send it to you for investigation.

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

        @aaronouthier said in Odroid XU4 SDL Problem Emulationstation:

        Where are core dumps stored? I'm willing to send it to you for investigation.

        Check the folder where you ran the command ($HOME ?) for a core file or verify in cat /proc/sys/kernel/core_pattern what should be the core file name.

        A 2 Replies Last reply Reply Quote 0
        • A
          aaronouthier @mitu
          last edited by

          @mitu
          It's amazing what a Google search can turn up, isn't it?
          It was in /var/crashes/

          I have removed dep and core packages, and am compiling again.. Strangely, that was finding some missing packages while building deps.

          I am just noticing the following when compiling emulationstation:

          = = = = = = = = = = = = = = = = = = = = =
          Building 'emulationstation' : EmulationStation - Frontend used by RetroPie for launching emulators
          = = = = = = = = = = = = = = = = = = = = =
          
          Removing additional swap
          CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
            Compatibility with CMake < 2.8.12 will be removed from a future version of
            CMake.
          
            Update the VERSION argument <min> value or use a ...<max> suffix to tell
            CMake that the project does not need compatibility with older versions.
          
          
          CMake Deprecation Warning at CMakeLists.txt:20 (cmake_policy):
            The OLD behavior for policy CMP0072 will be removed from a future version
            of CMake.
          
            The cmake-policies(7) manual explains that the OLD behaviors of all
            policies are deprecated and that a policy should be set to OLD only under
            specific short-term circumstances.  Projects should be ported to the NEW
            behavior and not rely on setting a policy to OLD.
          

          Probably of no consequence, but thought I'd mention it. Compilation is proceeding despite this.

          I'll be back shortly.

          1 Reply Last reply Reply Quote 0
          • A
            aaronouthier
            last edited by

            Latest crash dump

            https://drive.google.com/file/d/1N7r_waoGE_rRo_SlUUsNLIrNlBNF7kDs/view?usp=sharing

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

              @aaronouthier That's more than a crash dump - can you upload just the core file ? You can also analyze it by loading it into gdb and running backtrace to see where it crashes.

              A 1 Reply Last reply Reply Quote 0
              • A
                aaronouthier @mitu
                last edited by

                @mitu That was the only file I found. There are no files in current directory, only 2 folders. EmulationStation was run from the folder in question (my home folder).

                The full path and filename was originally:
                /var/crash/_opt_retropie_supplementary_emulationstation_emulationstation.1000.crash

                I shortened it.

                I believe you are looking for the base64 encoded part at the bottom of the file? I will see what I can find out.

                1 Reply Last reply Reply Quote 0
                • A
                  aaronouthier @mitu
                  last edited by

                  @mitu said in Odroid XU4 SDL Problem Emulationstation:

                  verify in cat /proc/sys/kernel/core_pattern what should be the core file name

                  That command outputs

                  |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E
                  

                  gdb run with --core arg pointing to correct core dump file:

                  Reading symbols from /opt/retropie/supplementary/emulationstation/emulationstation...
                  (No debugging symbols found in /opt/retropie/supplementary/emulationstation/emulationstation)
                  
                  warning: core file may not match specified executable file.
                  [New LWP 1114]
                  [New LWP 1115]
                  [Thread debugging using libthread_db enabled]
                  Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
                  Core was generated by `/opt/retropie/supplementary/emulationstation/emulationstation'.
                  Program terminated with signal SIGSEGV, Segmentation fault.
                  #0  __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
                  47      ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory.
                  [Current thread is 1 (Thread 0xb6cea020 (LWP 1114))]
                  (gdb) backtrace
                  #0  __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
                  #1  0xb544d292 in __pthread_kill_implementation (threadid=3066994720, signo=11, no_tid=<optimized out>) at pthread_kill.c:43
                  #2  0xb541c840 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
                  #3  0xb6e21be4 in ?? () from /lib/arm-linux-gnueabihf/libSDL2-2.0.so.0
                  Backtrace stopped: previous frame identical to this frame (corrupt stack?)
                  
                  A mituM 2 Replies Last reply Reply Quote 0
                  • A
                    aaronouthier @aaronouthier
                    last edited by

                    @mitu

                    Is there a way to communicate privately?
                    I am inclined to let you in via ssh access if you think it would help and you have the time. Might be a bit more efficient than "playing telephone" - telling me what to type and then posting the output.

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

                      @aaronouthier That's not going to happen, I'm not providing 'private' support. I also don't own an Odroid SBC so if the issue is something that's specific to it I won't be able to test any solutions.

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

                        @aaronouthier said in Odroid XU4 SDL Problem Emulationstation:

                        gdb run with --core arg pointing to correct core dump file:

                        Hm, unfortunately the there's no further indication of why it SDL2 crashes - what part of the ES code was calling SDL and what call was made.

                        My advice right now would be to use the 'native' SDL version of the OS and try compiling EmulationStation with it. Modify /opt/retropie/configs/all/retropie.cfg and make sure it has a line with own_sdl2 = "0".

                        Re-install the libsdl2-dev and libsdl2-2.0-0 packages with their version from the Ubuntu repositories and then re-compile EmulationStation. Make sure your user is in the input, video and render groups and try to start EmulationStation. If that doesn't work, then use a minimal desktop environment to run the front-end.

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          aaronouthier @mitu
                          last edited by

                          @mitu said in Odroid XU4 SDL Problem Emulationstation:

                          Re-install the libsdl2-dev and libsdl2-2.0-0 packages with their version from the Ubuntu repositories and then re-compile EmulationStation. Make sure your user is in the input, video and render groups and try to start EmulationStation. If that doesn't work, then use a minimal desktop environment to run the front-end.

                          User is only in the input and video groups. No render listed with the groups command.

                          Just added that group and restarted the system. ES still crashes. I will troubleshoot again in the morning. G'night.

                          1 Reply Last reply Reply Quote 0
                          • A
                            aaronouthier
                            last edited by

                            Would compiling ES with debugging symbols embedded help? If so, how would I make sure those are enabled?

                            I am free now, so going to try your most recent suggestion.

                            1 Reply Last reply Reply Quote 0
                            • A
                              aaronouthier
                              last edited by aaronouthier

                              There is no retropie.cfg file in that location. I opened RetroArch.cfg, but couldn't find the string in question.

                              I have removed all Retropie packages, and am recompiling now to see if I missed something.

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

                                @aaronouthier said in Odroid XU4 SDL Problem Emulationstation:

                                There is no retropie.cfg file in that location.

                                You can create the file and add own_sdl2=0 in it, so RetroPie-Setup will use the distro's SDL packages instead of trying to build its own.

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  aaronouthier @mitu
                                  last edited by

                                  @mitu Well, I shelved the project for a good 15 days. Back at it again today. Tried your latest idea/suggestion, and...

                                  It worked!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                                  Now facing a ES Welcome screen!!!

                                  Halleluiah!!!

                                  Thanks for all of your help and support in this! Couldn't have done it without you.

                                  (I kind of wish I had tried it 2 weeks ago ;)

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    aaronouthier @aaronouthier
                                    last edited by

                                    @mitu
                                    At first, I was excited! Until I tried to actually play a game...

                                    RetroArch started core dumping upon launch. I never did get it to work.

                                    I found and extracted the core dump, and ran a backtrace:

                                    Reading symbols from /opt/retropie/emulators/retroarch/bin/retroarch...
                                    (No debugging symbols found in /opt/retropie/emulators/retroarch/bin/retroarch)
                                    [New LWP 1771]
                                    [New LWP 1769]
                                    [New LWP 1770]
                                    [New LWP 1773]
                                    [New LWP 1775]
                                    [New LWP 1778]
                                    [New LWP 1776]
                                    [New LWP 1774]
                                    [New LWP 1781]
                                    [New LWP 1779]
                                    [New LWP 1777]
                                    [New LWP 1783]
                                    [New LWP 1780]
                                    [New LWP 1782]
                                    [Thread debugging using libthread_db enabled]
                                    Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
                                    Core was generated by `/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/'.
                                    Program terminated with signal SIGSEGV, Segmentation fault.
                                    #0  0xac148b90 in ?? ()
                                    --Type <RET> for more, q to quit, c to continue without paging--
                                    [Current thread is 1 (Thread 0xacabb9c0 (LWP 1771))]
                                    (gdb) backtrace
                                    #0  0xac148b90 in  ()
                                    #1  0xb3e4d77a in XNoOp () at /lib/arm-linux-gnueabihf/libX11.so.6
                                    #2  0xb5de4f20 in  () at /lib/arm-linux-gnueabihf/libGLESv2.so
                                    

                                    Output of Runlog:

                                    Parameters:
                                    Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-vecx/vecx_libretro.so --config /opt/retropie/configs/vectrex/retroarch.cfg "/home/retro/RetroPie/roms/vectrex/HyperChase - Auto Race (World).zip" --appendconfig /dev/shm/retroarch.cfg
                                    /opt/retropie/supplementary/runcommand/runcommand.sh: line 1329:   871 Segmentation fault      (core dumped) /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-vecx/vecx_libretro.so --config /opt/retropie/configs/vectrex/retroarch.cfg "/home/retro/RetroPie/roms/vectrex/HyperChase - Auto Race (World).zip" --appendconfig /dev/shm/retroarch.cfg
                                    
                                    mituM 1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator @aaronouthier
                                      last edited by

                                      @aaronouthier Are you running from a desktop (X11) session ? The backtrace is not very useful, since the crash seems to happen outside of RetroArch, in the X11 libraries. I'm afraid that without a similar device (which I don't have) I can't be of any more help.

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        aaronouthier @mitu
                                        last edited by

                                        @mitu Not running from a desktop session. I don't even know if/how I can. There doesn't appear to be a Window Manager installed. I don't know if enough pieces are available to run a full X11 environment.

                                        I did check the libraries listed, and both are symlinks, as follows:

                                        lrwxrwxrwx 1 root root 15 Oct  2  2023 /lib/arm-linux-gnueabihf/libX11.so.6 -> libX11.so.6.4.0
                                        
                                        /lib/arm-linux-gnueabihf/libGLESv2.so -> /usr/lib/arm-linux-gnueabihf/mali-egl/libmali.so
                                        

                                        The 2nd of those seems a bit bizarre? That shared Library points to a library with a different name. Is that expected/normal?

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

                                          @aaronouthier said in Odroid XU4 SDL Problem Emulationstation:

                                          [..]

                                          The 2nd of those seems a bit bizarre? That shared Library points to a library with a different name. Is that expected/normal?

                                          Yes, it's not bizarre. Try installing a desktop environment, start a fullscren xterm and run emulationstation from it. See if you get the same crash with RetroArch or other emulators.

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            aaronouthier @mitu
                                            last edited by

                                            @mitu
                                            I opened an xterm, and from there ran emulationstation, but it gives me a black screen, no image appears. I am getting a signal to my TV though.

                                            When I kill the emulationstation process, it goes back to X11 desktop with the xterm.

                                            I am including the latest contents of es_log.txt:

                                            Mar 21 12:21:24 lvl2:   EmulationStation - v2.11.2rp, built Mar 15 2025 - 10:33:02
                                            Mar 21 12:21:24 lvl2:   Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamenames.xml"...
                                            Mar 21 12:21:24 lvl2:   Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamebioses.xml"...
                                            Mar 21 12:21:24 lvl2:   Parsing XML file "/opt/retropie/supplementary/emulationstation/resources/mamedevices.xml"...
                                            Mar 21 12:21:24 lvl2:   Creating window...
                                            Mar 21 12:21:25 lvl2:   Created window successfully.
                                            Mar 21 12:21:25 lvl2:   GL vendor:
                                            Mar 21 12:21:25 lvl2:   GL renderer:
                                            Mar 21 12:21:25 lvl2:   GL version:
                                            Mar 21 12:21:25 lvl2:   Checking available OpenGL extensions...
                                            Mar 21 12:21:25 lvl2:    ARB_texture_non_power_of_two: MISSING
                                            Mar 21 12:21:25 lvl1:   Tried to enable vsync, but failed! (Negative swap interval unsupported in this GL)
                                            Mar 21 12:21:25 lvl2:   Loading system config file /etc/emulationstation/es_systems.cfg...
                                            Mar 21 12:21:25 lvl1:   System "arcade" has no games! Ignoring it.
                                            Mar 21 12:21:26 lvl1:   System "channelf" has no games! Ignoring it.
                                            Mar 21 12:21:26 lvl1:   System "coleco" has no games! Ignoring it.
                                            Mar 21 12:21:26 lvl1:   System "fba" has no games! Ignoring it.
                                            Mar 21 12:21:26 lvl1:   System "fds" has no games! Ignoring it.
                                            Mar 21 12:21:26 lvl1:   System "gamegear" has no games! Ignoring it.
                                            Mar 21 12:21:26 lvl1:   System "gb" has no games! Ignoring it.
                                            Mar 21 12:21:26 lvl1:   System "gba" has no games! Ignoring it.
                                            Mar 21 12:21:26 lvl1:   System "gbc" has no games! Ignoring it.
                                            Mar 21 12:21:26 lvl1:   System "mame-libretro" has no games! Ignoring it.
                                            Mar 21 12:21:27 lvl1:   System "mastersystem" has no games! Ignoring it.
                                            Mar 21 12:21:27 lvl1:   System "megadrive" has no games! Ignoring it.
                                            Mar 21 12:21:27 lvl1:   System "msx" has no games! Ignoring it.
                                            Mar 21 12:21:27 lvl1:   System "neogeo" has no games! Ignoring it.
                                            Mar 21 12:21:27 lvl1:   System "nes" has no games! Ignoring it.
                                            Mar 21 12:21:27 lvl1:   System "ngp" has no games! Ignoring it.
                                            Mar 21 12:21:27 lvl1:   System "ngpc" has no games! Ignoring it.
                                            Mar 21 12:21:27 lvl1:   System "pcengine" has no games! Ignoring it.
                                            Mar 21 12:21:28 lvl1:   System "psx" has no games! Ignoring it.
                                            Mar 21 12:21:28 lvl2:   Parsing XML file "/home/retro/.emulationstation/gamelists/retropie/gamelist.xml"...
                                            Mar 21 12:21:28 lvl1:   System "sega32x" has no games! Ignoring it.
                                            Mar 21 12:21:28 lvl1:   System "segacd" has no games! Ignoring it.
                                            Mar 21 12:21:28 lvl1:   System "sg-1000" has no games! Ignoring it.
                                            Mar 21 12:21:28 lvl1:   System "snes" has no games! Ignoring it.
                                            Mar 21 12:21:28 lvl1:   System "vectrex" has no games! Ignoring it.
                                            Mar 21 12:21:28 lvl1:   System "zxspectrum" has no games! Ignoring it.
                                            Mar 21 12:23:11 lvl2:   EmulationStation cleanly shutting down.
                                            

                                            Yes, I am aware that no games are available.

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