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

    rk322x-box Armbian build report/collab

    Scheduled Pinned Locked Moved Ideas and Development
    testingdevelopmentrockchiprk3229armbian
    12 Posts 3 Posters 3.5k 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.
    • B
      baryon
      last edited by baryon

      Hello friends,

      I have recently completed a build of RetroPie on a Dolamee D5 TV Box (rk3229 ~1.4GHz , 2gb ddr3@600) via Armbian. Specific build is here. https://forum.armbian.com/topic/12656-csc-armbian-for-rk322x-tv-boxes/

      I do not expect that I will have this box for a long time. This is liable to become a gift. But while I have it, I was wondering if there are any specific tests any devs might find helpful. This is a very low-end machine (I bought it for pocket change at a thrift store because all they knew was "it powers on"), but even N64 emulation is coming out well. Are there specific games that are helpful in determining how close to 100% Retropie is running for the platform?

      I am not sure at all that my platform flags here are correct, but this was the minor mod I made to system.sh to get it to detect it as arm. uname --machine returns armv7l which ends up not setting the arm flag.

      index dc2cc8b..a52275d 100644
      --- a/scriptmodules/system.sh
      +++ b/scriptmodules/system.sh
      @@ -448,6 +448,9 @@ function get_platform() {
                               *rk3588*)
                                   __platform="rk3588"
                                   ;;
      +                       *rk3229*)
      +                           __platform="rk3229"
      +                           ;;
                           esac
                       elif [[ -e "/sys/devices/soc0/family" ]]; then
                           case "$(tr -d '\0' < /sys/devices/soc0/family)" in
      @@ -665,3 +668,8 @@ function platform_vero4k() {
           __default_cflags="-I/opt/vero3/include -L/opt/vero3/lib"
           __platform_flags+=(mali gles)
       }
      +
      +function platform_rk3229() {
      +    cpu_armv7 "cortex-a7"
      +    __platform_flags+=(kms vulkan)
      +}```
      K 1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by mitu

        Thanks for sharing the info, interesting little box (though a bit old). Based on the processor included (Rockchip 3229), I'd say the system flags should be:

        __platform_flags+=(kms gles gles2 mesa)
        

        I don't think the SOC has Vulkan support so there's no need for the vulkan flag.

        Are kernel headers available (and usable) if one has to compile extra drivers for gamepads ?(installing/re-installing the xpad driver should be enough to see if it works).

        For testing, I guess running N64 and Dreamcast games may be used to see how it performs. Goldeneye / Legend of Zelda, Ocarina of Time for N64 and probably Sonic Adventures/Crazy Taxi are good candidates to test it.

        Is the remote control working ? How good is Kodi at playing/streaming movies ?

        B 1 Reply Last reply Reply Quote 0
        • B
          baryon @mitu
          last edited by

          @mitu

          Interesting. Got xpad going, I think. The module builds and installs anyhow. Close enough. Ship it. Amirite? Haha.

          linux-headers-6.1.30-rk322x was what Retropie wanted to install, linux-headers-current-rk322x was the correct package. Armbian splits kernels into current and edge variants, without version numbering. Following patch alters helpers.sh to make Retropie look for the correct kernel.

          index d57f5d5..766d30f 100644
          --- a/scriptmodules/helpers.sh
          +++ b/scriptmodules/helpers.sh
          @@ -249,6 +249,8 @@ function _mapPackage() {
                   LINUX-HEADERS)
                       if isPlatform "rpi"; then
                           pkg="raspberrypi-kernel-headers"
          +            elif [[ $__platform == rk3229 ]] ; then
          +                pkg="linux-headers-current-rk322x"
                       elif [[ -z "$__os_ubuntu_ver" ]]; then
                           pkg="linux-headers-$(uname -r)"
                       else
          

          I think you're right on the vulkan part. Tried gles2 for my first flagset but I had trouble with the gles2 package. kms+vulkan produced something that worked, which surprised me. I reported here shortly thereafter.

          I appreciate the remote control and Kodi nudges, but I never got a remote with it, and Kodi isn't interesting to me. If I was going to use this box for Kodi, I'd reflash to Android.

          I'll play around with your flag suggestions and games and document some more later. Thanks again for the ideas.

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

            @baryon said in rk322x-box Armbian build report/collab:

            linux-headers-6.1.30-rk322x was what Retropie wanted to install, linux-headers-current-rk322x was the correct package. Armbian splits kernels into current and edge variants, without version numbering. Following patch alters helpers.sh to make Retropie look for the correct kernel.

            Yeah, I have a patch to add Armbian support in RetroPie-Setup and installing the correct .deb package for the Linux kernel headers is a part of it. It's based on the method used by armbian-config to install the kernel headers (there's a menu option in the utility). I haven't submitted it yet, but I'll re-check and submit it soon.

            1 Reply Last reply Reply Quote 0
            • B
              baryon
              last edited by

              After playing around with the flycast package, I've given up and filed a bug with upstream, which also suffers from what looks like the same problem: https://github.com/flyinghead/flycast/issues/1148

              Doesn't seem to want to work, even though looking at the lr-flycast Makefile, it ought to run on hardware substantially less powerful. lr-flycast builds with platform=classic_armv7_a7 and then hits what I reckon is the similar invalid instruction error. Other platforms produce weird linker problems, including mimicking the RK3288 build, which seemed the most natural fit.

              @mitu, is there any chance you have your Armbian code on a public-facing git somewhere? Curious how it looks; happy to test and see how it runs for me.

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

                @baryon said in rk322x-box Armbian build report/collab:

                @mitu, is there any chance you have your Armbian code on a public-facing git somewhere? Curious how it looks; happy to test and see how it runs for me.

                There's not much there, but I have to recover it first since my Armbian system doesn't boot now due to .. experiments.

                1 Reply Last reply Reply Quote 0
                • K
                  kokokool @baryon
                  last edited by

                  @baryon Hello! I know this reply is a bit late on my part, but I would like to give you my feedback regarding my experience with my RK3229 TV box.

                  I managed to install RetroPie using the instructions from this forum and with an 8 GB USB drive, after previously installing Armbian "Armbian_community_24.5.0-trunk.563_Rk322x-box_bookworm_current_6.6.30_minimal". The entire compilation process took me about 15 hours.

                  Over the next few days, I will test the performance with 8-16 bit games, as well as PSX games (especially those that are more demanding in video graphics, like Tekken 3 or Raystorm).

                  My big concern is that I don't have Bluetooth, and I've tried several ways to fix this but seems like don't know how to make it work. Can you help me?

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

                    @kokokool said in rk322x-box Armbian build report/collab:

                    My big concern is that I don't have Bluetooth, and I've tried several ways to fix this but seems like don't know how to make it work. Can you help me?

                    Get an USB Bluetooth dongle.

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      kokokool @mitu
                      last edited by

                      @mitu yes, that would be the fast way. But the board has an internal bt.
                      Anyway, I'll test the games this weekend as I mentioned previously.

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

                        @kokokool said in rk322x-box Armbian build report/collab:

                        @mitu yes, that would be the fast way. But the board has an internal bt.

                        Unless the OS provides BT support, there's nothing RetroPie has to offer. Armbian doesn't offer much support fot TV boxes, but they have a forum dedicated to it - you may want to ask there for help regarding OS/Linux support.

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          kokokool @mitu
                          last edited by kokokool

                          @mitu You're right. The main focus of my post is gaming experience over rk3229 tv box with retropie.

                          K 1 Reply Last reply Reply Quote 0
                          • K
                            kokokool @kokokool
                            last edited by kokokool

                            @kokokool As I mentioned before, I have the following test report

                            Peripherals and Bluetooth devices (Using a BT dongle)

                            • 2.4 Ghz Gamepad = Zero input lag detected.
                            • BT Earbuds = Had to pair it via ssh, instead of BT GUI, as well as I had to install pulse audio bluetooth. However, since my dongle es BT 2.1 I sense a bit of audio delay, but no audio crackling or popping. I'll test Wiimote pairing (it takes a bit of coding before) if theres a lag to report.
                            • Video = I'm using HDMI output on a DELL LED 1080p at 50 hz. No signs of signal delay.
                            • Games/systems Tested
                              • 8 bit consoles = full speed, no sound glitches
                              • 16 bit consoles = full speed, no sound glitches (perhaps, I might test games such as DKC or Super Mario RPG to check max performance.
                              • Arcade systems ( MAME 2003 romset, FBA)= runs 100% accurate (KOF 2003, SF. Today I'll connect a spinner or a analog dice to test mapping in racing games such as pole position, etc.
                              • PORTS = Quake3 Ill runs 100% full speed (including Multiplayer-internet) if you change settings to "fastest" and set resolution at 1024x768. Impressive.

                            Hexen and Heretic = 100% fullspeed, no flaws

                            additionally I want to install retropie-Extra script modules in this machine. Wanted to try GMloader and try some apks as droidports.

                            • 32 bit= Tested heavy GPU PS1 demanding games such as, Tekken 3 or Wipeout. Both run at full speed without glitches. I'll test two more PS1 heavyweight titles to confirm this point

                            Sega Saturn = tested with lr-yabause. 20-30 fps max.

                            • 64 bit = this is interesting. I had bit of trouble trying to run Mario Kart 64. somehow my system reports two mupen64plus-glide64 as standalone (not libretro), which one of them worked directly, but with two issues: sprites missing at the beginning of the game (for those who know, the spinning nintengo logo appears completely and very detailed), but the menu whe you choose a car, lap, cc, etc, shows random squares so I had to guess pressing accept until I get to the racing part. the system works but at 20-30 fps.

                            • PSP = I had trouble to compile ppsspp (standalone and libretro) on my machine.

                            • Dreamcast = I will compile reicast today.

                            • Kodi from Retropie-extras runs ok. Haven´t load a avi/mkv file yet
                              That's all for now

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