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.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.
    • mituM
      mitu Global Moderator @aaronouthier
      last edited by

      @aaronouthier said in Odroid XU4 SDL Problem Emulationstation:

      Do I still need python3-sdl2, ...

      Yes, only the SDL library is compiled into a package, the rest are expected to be provided by the distribution's repostories.

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

        @mitu I was pretty sure this was the case, but wanted to be certain.

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

          Dang it!

          running build
          running build_py
          running build_ext
          building '_libsuinput' extension
          arm-linux-gnueabihf-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -I/usr/include/python3.12 -c libsuinput/src/suinput.c -o build/temp.linux-armv7l-cpython-312/libsuinput/src/suinput.o
          libsuinput/src/suinput.c: In function ‘suinput_emit’:
          libsuinput/src/suinput.c:48:28: error: ‘struct input_event’ has no member named ‘time’
             48 |         gettimeofday(&event.time, 0);
                |                            ^
          error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
          

          Trying to build the source package.

          Was logged-in as root. I don't think that would make a difference though.

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

            @mitu Not able to install the 22.04 version either. Depends on Python3.10 or below, but Python3.12 is installed.

            At this point, I think I'm going to wipe the SD card and try again with 22.04 .

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

              Currently compiling the system for xu4 under Ubuntu 22.04 Operating System. No problems yet. (Need to go knock some wood now...)

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

                Well, about 1.5 hours later, compilation finished. No errors reported during compile process that I could see, however, emulationstation crashes when run.

                I tried with --debug flag, however the screen is cleared by the crash dialog that comes up, so I can't read. I'll try tee'ing it to a text file.

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

                  @aaronouthier I watched a bit closer. Nothing out of the ordinary displayed when running with --debug flag. Just shows loading some xml files.

                  On a related note, however, Xserver does NOT seem to be running. I am attaching a tar.gz file with all of the build logs, a log of installed packages, and a log of running processes.

                  Hmm. Can't seem to upload it directly.
                  Link to files on my Google drive: https://drive.google.com/file/d/1ro_ZYzHFcI6TfbSUjzsLksvwf6rc9vMy/view?usp=sharing

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

                    @aaronouthier said in Odroid XU4 SDL Problem Emulationstation:

                    I tried with --debug flag, however the screen is cleared by the crash dialog that comes up, so I can't read. I'll try tee'ing it to a text file.

                    That would have been useful to look, the other logs not so much. You can find the same log file in $HOME/.emulationstation/es_log.txt, there's no need to tee it.
                    Does detection works better on 22.04 - is the SBC detected as odroid-xu ?

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