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 8.6k 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

      I checked those logs. 3 lines about mame-related .xml files.

      No, still detects as "Armv7l". I used your workaround when I ran RetroPie-Setup.

      I mentioned twice now that XWindows doesn't seem to be running. Very few X-related packages installed as well. This might be normal, but I don't have a frame of reference here. This was the case in 24.04 also.

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

        @aaronouthier said in Odroid XU4 SDL Problem Emulationstation:

        I checked those logs. 3 lines about mame-related .xml files.

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

        No, still detects as "Armv7l". I used your workaround when I ran RetroPie-Setup.

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

        I mentioned twice now that XWindows doesn't seem to be running.

        I think that's ok.

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