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 @mitu
      last edited by

      @mitu

      Even when running with --debug ? There should be more information printed when debug is enabled.

      There might have been another line or two. I'm not in front of the system right now. Yes, with --debug. My point was that no errors were displayed.

      I added some detection here, but it may not be enough (?) or you're using an earlier commit.

      Probably hadn't pulled the latest commit then. This was 2 days ago.

      I created an image file from the SD card, then tried to install Lakka just to test that out. That one doesn't boot at all, but hey, I tried. I haven't taken the time to restore the RetroPie Disk image just yet.

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

        @aaronouthier
        Re-wrote the disk-image. Originally, when I cat'd the file mentioned, it showed the exact same contents listed in post 19 in this thread.

        I then checked for package updates. After updating them, I again ran 'emulationstation --debug'. There was no output, but it still crashed. The es_log.txt is now empty.

        I'm now recompiling everything. Also, your new commit to retropie_setup.sh still shows arm7l, with no mention of Odroid XU or XU4, unless I run your workaround.

        1 Reply Last reply Reply Quote 0
        • 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
                                            • 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.