RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Retropie 4.x on Odroid C2

    Scheduled Pinned Locked Moved Ideas and Development
    odroidbuild
    92 Posts 15 Posters 50.2k 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.
    • E
      ElementZero @BuZz
      last edited by

      @BuZz said in Retropie 4.x on Odroid C2:

      @ElementZero It doesn't run from the desktop but from console - no X/window manager needed.

      Oh ok - the error message had led me to believe it might have been the window manager but like I said I didn't have a chance to look into it yet. Well let me know if you need me to try something then - would there be a log or a way to debug more info from the error message?

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

        @ElementZero I would need a complete install log and errors (you said you are getting the same error as above, but I would prefer you copy and paste your exact error should there be a slight difference) - make sure you are not running from the desktop.

        Also if you did anything else regarding installing 3rd party SDL2 libraries etc.

        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
        • D
          DavisDS85
          last edited by

          So far, in your experience, is there any significant performance gains?

          I was hoping to leverage the twice as much ram on game processing, but I've read some conflicting reports that the performance isn't as much as you'd think due to the GPU?

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

            @DavisDS85 the extra ram isn't going to help with performance. some emulators are still not supported on aarch64/mali. I wouldn't rush out to get an Odroid-c2 just for RetroPie.

            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
            • D
              DavisDS85
              last edited by

              Too late.. I got over-zelous I guess. Made one of these into a portable webserver and it bench-marked amazing..

              Next chance I had, I got another one. Problem is, I gave away my Pi2 for Christmas because I "just knew" this would work. Now I'm stuck with about $150 all in on a C2 with a 64GB Emmc (4 times the write speed). Just hoping I can make it work.

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

                @roleo just tested on a clean minimal Ubuntu 16.04 image and autostart worked fine (ES was started on boot). If you are having trouble I will need some help to reproduce it (step by step from a fresh image etc).

                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

                E roleoR 3 Replies Last reply Reply Quote 0
                • E
                  ElementZero @BuZz
                  last edited by ElementZero

                  @BuZz said in Retropie 4.x on Odroid C2:

                  @roleo just tested on a clean minimal Ubuntu 16.04 image and autostart worked fine (ES was started on boot). If you are having trouble I will need some help to reproduce it (step by step from a fresh image etc).

                  I'm wondering - all I had basically done was loaded the minimal then do an apt-get update && apt-get upgrade and then installed retropie using the script and then I had the errors loading ES. I had some issues with apt-get upgrade though (and this morning I tried it and it breaks the boot partition). After reading on the forum it looks like there is some problems with the build of the minimal so I'm actually trying the mate now.

                  Anyways just curious if in your build where ES lauched fine did you run the apt-get upgrade first? Maybe some file is breaking there...

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

                    @ElementZero I didn't update first. I just created an odroid user on the minimal image, and added the user to the video/sudo/input groups - I then used that user to install retropie-setup.

                    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
                    • E
                      ElementZero
                      last edited by

                      ok - yeah that's basically exactly what I had done the first time except I did the upgrade first. Let me try on mine without doing the upgrade and see if it just works, if so then it would seem the upgrade does something funky (which wouldn't be surprising seeing the errors during upgrade and other forum posts about it).

                      First though I'm going to finish this install w/ the mate image and see if that runs fine. Apparently there is no problem with doing the upgrade/dist-upgrade with the mate image and it does not give the depmod errors about the kernel version.

                      E 1 Reply Last reply Reply Quote 0
                      • roleoR
                        roleo @BuZz
                        last edited by

                        @BuZz
                        Ok, I will try again tomorrow.

                        1 Reply Last reply Reply Quote 0
                        • E
                          ElementZero @ElementZero
                          last edited by

                          @ElementZero Unfortunately I had to put this on hold since my HDMI port apparently broke.

                          I can say that the minimal image IS broken if you do apt-get but apparently it's caused by u-boot being bad so if you hold that back then the upgrade is just fine.

                          1 Reply Last reply Reply Quote 0
                          • roleoR
                            roleo @BuZz
                            last edited by

                            @BuZz
                            I tried with a minimal image and autostart works properly.
                            Thank you.
                            But I had the same problem with EmulationStation as ElementZero: I changed the flag from -j4 to -j2 to complete the build process.

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

                              @roleo Thanks. I will lower it to j2 by default

                              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
                              • M
                                maho @BuZz
                                last edited by

                                @BuZz Dear BuZz, I have just testted the trunk (61085b9) by
                                git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
                                and it uses SDL 2.0.5. This version with Mali failed like following:
                                /home/maho/RetroPie-Setup/tmp/build/sdl2/2.0.5+1mali/src/video/mali-fbdev/SDL_malivideo.c:128:5: error: ISO C90 forbids mixed declarations and
                                code [-Werror=declaration-after-statement]
                                int fd = open("/dev/fb0", O_RDWR, 0);
                                ^
                                /home/maho/RetroPie-Setup/tmp/build/sdl2/2.0.5+1mali/src/video/mali-fbdev/SDL_malivideo.c:132:5: error: ISO C90 forbids mixed declarations and
                                code [-Werror=declaration-after-statement]
                                struct fb_var_screeninfo vinfo;
                                ^
                                /home/maho/RetroPie-Setup/tmp/build/sdl2/2.0.5+1mali/src/video/mali-fbdev/SDL_malivideo.c:145:5: warning: ignoring return value of 'system', de
                                clared with attribute warn_unused_result [-Wunused-result]
                                system("setterm -cursor off");
                                ^
                                /home/maho/RetroPie-Setup/tmp/build/sdl2/2.0.5+1mali/src/video/mali-fbdev/SDL_malivideo.c: In function 'MALI_VideoQuit':
                                /home/maho/RetroPie-Setup/tmp/build/sdl2/2.0.5+1mali/src/video/mali-fbdev/SDL_malivideo.c:185:5: warning: ignoring return value of 'system', de
                                clared with attribute warn_unused_result [-Wunused-result]
                                system("setterm -cursor on");
                                ^
                                cc1: some warnings being treated as errors
                                .

                                Looks like Mali part uses C99> syntax. You may want to fix it.

                                Best,
                                Nakata Maho

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

                                  @maho this should be resolved now.

                                  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
                                  • M
                                    maho
                                    last edited by

                                    @BuZz thanks for your fastest commit. I veerified that SDL2+Mali is no longer broken.
                                    Best,
                                    Nakata Maho

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      maho
                                      last edited by

                                      @BuZz
                                      Thanks - some games are working! and I noticed mame2010 is broken as follows:
                                      g++ -DCRLF=2 -DDISABLE_MIDI=1 -DINLINE="static inline" -DNDEBUG -DFLAC__NO_DLL
                                      -DNATIVE_DRC=drcbe_x86_be_interface -DDISABLE_MIDI -DGIT_VERSION="" 81c75bb""
                                      -D__LIBRETRO__ -fsigned-char -finline -fno-common -fno-builtin -fweb -frename-r
                                      egisters -falign-functions=16 -fsingle-precision-constant -D__LIBRETRO__ -fstric
                                      t-aliasing -fno-merge-constants -DALIGN_INTS -DALIGN_SHORTS -ffast-math -fPI
                                      C -pipe -O3 -fno-strict-aliasing -O2 -march=native -ftree-vectorize -funsafe-mat
                                      h-optimizations -pipe -Wall -Wcast-align -Wundef -Wformat-security -Wwrite-strin
                                      gs -Wno-sign-compare -Wno-conversion -I./src/osd/retro/libretro-common/include -
                                      I./src/mame -Iobj/retro/mame/layout -I./src/emu -Iobj/retro/emu -Iobj/retro/emu/
                                      layout -I./src/lib/util -I./src/lib -I./src/osd -I./src/osd/retro -I./src/lib/e
                                      xpat -I./src/lib/util -I./src/lib/libjpeg -fno-delete-null-pointer-checks -x c+

                                      • -std=gnu++98 -Woverloaded-virtual -c src/mame/drivers/albazc.c -o obj/retro/ma
                                        me/drivers/albazc.o
                                        In file included from ./src/emu/emu.h:54:0,
                                        from src/mame/drivers/albazc.c:13:
                                        ./src/emu/eminline.h: In function ‘void* compare_exchange_ptr(void* volatile*, v
                                        oid*, void*)’:
                                        ./src/emu/eminline.h:349:60: error: cast from ‘void*’ to ‘INT32 {aka int}’ loses
                                        precision [-fpermissive]
                                        result = compare_exchange32((INT32 volatile )ptr, (INT32)compare, (INT32)exch
                                        ange);
                                        ^
                                        ./src/emu/eminline.h:349:76: error: cast from ‘void
                                        ’ to ‘INT32 {aka int}’ loses
                                        precision [-fpermissive]

                                      Looks like add some flags for 64bit support to build.

                                      Thanks,
                                      Nakata Mahog++ -DCRLF=2 -DDISABLE_MIDI=1 -DINLINE="static inline" -DNDEBUG -DFLAC__NO_DLL
                                      -DNATIVE_DRC=drcbe_x86_be_interface -DDISABLE_MIDI -DGIT_VERSION="" 81c75bb""
                                      -D__LIBRETRO__ -fsigned-char -finline -fno-common -fno-builtin -fweb -frename-r
                                      egisters -falign-functions=16 -fsingle-precision-constant -D__LIBRETRO__ -fstric
                                      t-aliasing -fno-merge-constants -DALIGN_INTS -DALIGN_SHORTS -ffast-math -fPI
                                      C -pipe -O3 -fno-strict-aliasing -O2 -march=native -ftree-vectorize -funsafe-mat
                                      h-optimizations -pipe -Wall -Wcast-align -Wundef -Wformat-security -Wwrite-strin
                                      gs -Wno-sign-compare -Wno-conversion -I./src/osd/retro/libretro-common/include -
                                      I./src/mame -Iobj/retro/mame/layout -I./src/emu -Iobj/retro/emu -Iobj/retro/emu/
                                      layout -I./src/lib/util -I./src/lib -I./src/osd -I./src/osd/retro -I./src/lib/e
                                      xpat -I./src/lib/util -I./src/lib/libjpeg -fno-delete-null-pointer-checks -x c+

                                      • -std=gnu++98 -Woverloaded-virtual -c src/mame/drivers/albazc.c -o obj/retro/ma
                                        me/drivers/albazc.o
                                        In file included from ./src/emu/emu.h:54:0,
                                        from src/mame/drivers/albazc.c:13:
                                        ./src/emu/eminline.h: In function ‘void* compare_exchange_ptr(void* volatile*, v
                                        oid*, void*)’:
                                        ./src/emu/eminline.h:349:60: error: cast from ‘void*’ to ‘INT32 {aka int}’ loses
                                        precision [-fpermissive]
                                        result = compare_exchange32((INT32 volatile )ptr, (INT32)compare, (INT32)exch
                                        ange);
                                        ^
                                        ./src/emu/eminline.h:349:76: error: cast from ‘void
                                        ’ to ‘INT32 {aka int}’ loses
                                        precision [-fpermissive]
                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        maho
                                        last edited by

                                        @BuZz

                                        following patch will fix build of lr-mame2010 on ODROID-C2 (apparently you want a cleaner patch, though. sorry).

                                        --- RetroPie-Setup/scriptmodules/libretrocores/lr-mame2010.sh~ 2017-01-16 12:38:56.757032984 +0900
                                        +++ RetroPie-Setup/scriptmodules/libretrocores/lr-mame2010.sh 2017-01-16 22:02:45.627500893 +0900
                                        @@ -23,8 +23,8 @@
                                        make clean
                                        local params=()
                                        isPlatform "arm" && params+=("VRENDER=soft" "ARM_ENABLED=1")

                                        • make "${params[@]}" ARCHOPTS="$CFLAGS" buildtools
                                        • make "${params[@]}" ARCHOPTS="$CFLAGS"
                                        • make "${params[@]}" ARCHOPTS="$CFLAGS" buildtools PTR64=1
                                        • make "${params[@]}" ARCHOPTS="$CFLAGS" PTR64=1
                                          rpSwap off
                                          md_ret_require="$md_build/mame2010_libretro.so"
                                          }
                                        BuZzB 1 Reply Last reply Reply Quote 0
                                        • BuZzB
                                          BuZz administrators @maho
                                          last edited by BuZz

                                          @maho please use a code block and format your post.

                                          Thanks. There is a bunch of stuff that won't build still, but the most common modules should be OK. It should be considered a wip still.

                                          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
                                          • M
                                            maho
                                            last edited by

                                            @BuZz
                                            sorry, lr-mame2010 was still broken at:
                                            g++ -DCRLF=2 -DDISABLE_MIDI=1 -DINLINE="static inline" -DPTR64 -DNDEBUG -DFLAC__NO_DLL -DNATIVE_DRC=drcbe_x64_be_interf
                                            ace -DDISABLE_MIDI -DGIT_VERSION="" 81c75bb"" -D__LIBRETRO__ -fsigned-char -finline -fno-common -fno-builtin -fweb -f
                                            rename-registers -falign-functions=16 -fsingle-precision-constant -D__LIBRETRO__ -fstrict-aliasing -fno-merge-constants
                                            -DALIGN_INTS -DALIGN_SHORTS -ffast-math -fPIC -pipe -O3 -fno-strict-aliasing -O2 -march=native -ftree-vectorize -fun
                                            safe-math-optimizations -pipe -Wall -Wcast-align -Wundef -Wformat-security -Wwrite-strings -Wno-sign-compare -Wno-conver
                                            sion -I./src/osd/retro/libretro-common/include -I./src/mame -Iobj/retro64/mame/layout -I./src/emu -Iobj/retro64/emu -Iob
                                            j/retro64/emu/layout -I./src/lib/util -I./src/lib -I./src/osd -I./src/osd/retro -I./src/lib/expat -I./src/lib/util -I./
                                            src/lib/libjpeg -fno-delete-null-pointer-checks -x c++ -std=gnu++98 -Woverloaded-virtual -c src/osd/retro/retrowork.c -o obj/retro64/osd/retro/retrowork.o
                                            src/osd/retro/retrowork.c: In function ‘int osd_work_queue_wait(osd_work_queue*, osd_ticks_t)’:
                                            src/osd/retro/retrowork.c:264:26: error: ‘osd_yield_processor’ was not declared in this scope
                                            osd_yield_processor();
                                            ^
                                            src/osd/retro/retrowork.c: In function ‘int osd_work_item_wait(osd_work_item*, osd_ticks_t)’:
                                            src/osd/retro/retrowork.c:499:25: error: ‘osd_yield_processor’ was not declared in this scope
                                            osd_yield_processor();
                                            ^
                                            src/osd/retro/retrowork.c: In function ‘void* worker_thread_entry(void*)’:
                                            src/osd/retro/retrowork.c:650:27: error: ‘osd_yield_processor’ was not declared in this scope
                                            osd_yield_processor();
                                            ^
                                            Makefile:686: recipe for target 'obj/retro64/osd/retro/retrowork.o' failed

                                            Best,
                                            Nakata Maho

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