Trying to get Retroarch to work on A06

Thanks @hotchalupa. I tried loading a core, but it couldn’t find any. I then tried to load content–but it wouldn’t let me, because I didn’t have any cores. So it’s definitely not loading them.

As I mentioned in my previous post, I did some further research and found that the core_updater_buildbot_cores_url was set to “”. I fixed that, but apparently I’m pulling cores from the wrong place, because it let me download the cores, but they always fail when I try to launch them.

Is there a better source for cores than buildbot.libretro.com > nightly > linux > armv7-neon-hf > latest?

I have spent some time on this myself, this is how I made it work:

  1. Add libretro repo and install retroarch as stated on official site ( follow Ubuntu part ): RetroArch

  2. Run also: apt install retroarch-* libretro-*
    This will install additional retroarch resource files and most importantly get the right kind of libretro cores matching thr platform

  3. Now the magic; run: dpkg -L libretro-CORENAME
    Which tells you the path where cores are installed. You can just browse that in Retroarch and you are good to go. Replace CORENAME with an actual corename you installed, like libretro-mgba.

Enjoy!

5 Likes

Thanks @meszarosb! So far this seems to be working well.

Oh, man, I spent all weekend going through this. I was able to finally wire up the correct paths/URLs to allow the built in core downloader to work, however the next issue I ran into is that the Retroarch buildbot doesn’t seem to build arm64 versions of their cores. So, when using either the armhf or armv7-neon-hf, Retroarch would spit out a ELFCLASS32 error.

Anyway, recapping what you’ve called out:

  1. Use the Ubuntu PPA which does bundle arm64 cores
  2. Update the retroarch.cfg file to point to the correct info directory and core directory:
libretro_directory = "/usr/lib/aarch64-linux-gnu/libretro/"
libretro_info_path = "/usr/share/libretro/info/"

To get a new core on this fella, I think you need to compile the arm64 version yourself.

1 Like

Now the real question - can anyone get an SNES emulator working on this fella?

1 Like

SNES working, no issues. Meszarob’s #1 worked to get the Ubunto version going however could not run step #2. Instead, downloaded cores using libretro-super.git and then compiled the cores individually: $ git clone GitHub - libretro/libretro-super: Super repo for other libretro projects. Fetches, builds and installs.

Is there any way to get a working gpSP core for A06? mGBA performance are abysmal

Did you find a core that’s working better? After compiling the modules from the Libretro Super repo, I found that VBA Next seems to perform pretty well. I did compile it, so maybe it being compiled for Arm64 makes a big difference.

I definitely had luck cloning the Libretro super repo and compiling. I did “make” and then “make install”.

The “make” took at least 12 hours or so to complete, and required 10+ GB of space on my SD card. I had to flash a new SD card I had to make it work. And a bunch of modules didn’t compile, but all the ones I care about did! I had lots of trouble making any of the cores work before doing this.

As of this writing I was able to make the following work after compiling:
Doom
Cave Story
VBA Next (Gameboy Advance)

I am making some good progress as well. Being that you have the Libretro super repo you now have all of the 64 bit cores that run on aarch-64 that you can individually make. I also added multi-arch to my system so I can run 32 bit armfh, however, am sticking with 64 bit cores for now. This is my progress thus far:

Anything with yellow highlights means I got it to compile but not run properly. Orange means I could not complete the Make process.

3 Likes

@mferrari Thanks for sharing, super helpful!

Can I confirm:

  • Your results are all for A06? (I’m on A04 and strongly considering getting the A06 core.)
  • When you say “Works” in your results, does that mean runs, but possible with issues? Or runs smoothly (playable)? I’m finding that I can’t solve the choppy audio on the A04, although I know it’s possible, since games running under box64, and even box86, work smoothly, including the audio.

Yes, i can confirm that al the results are for A06. With respect to choppy audio in Retroarch, check the frame rate video / settings / output. This should run at 59.4 or so. If you are running much less than that the audio is gonig to chop. I found that the frame rate would run significantly lower if you install SDL2-dev. I do have SDL2 installed and it works fine, however, without the -DEV. Now as I did need SDL2-DEV to compile JZINTV and Mupenplus64, I did this on a seperate SD card with SDL2-DEV installed and then moved the compiled binary to my other card with just SDL2 and it worked, tears of joy were shed. I doubt that its A04 versus A06 causing issues.

sorry, and to answer your question, works means works well and is very playable. Occasional stutter on Mupen but not bad at all!

RetroArch failed to opened period on the A04 for me. I think it may be related to the fbcon Kernel issues I previously reported, which I discovered through the failure to properly open Firefox and other web browsers.

:grinning: I’m so happy – it’s working. I’ve been trying to get an SNES emulator working on A04 but hitting serious audio problems for days, making it unplayable. But, as recommended, doing a straight up make and sudo make install on the [GitHub - libretro/libretro-super: Super repo for other libretro projects. Fetches, builds and installs.] repo just works, and the resulting cores (for example snes9x2005) work well, with clean audio. Happy happy joy joy!

I did have the problem mentioned above with the build filling up the entire 32 GB SD card (the libretro-super directory ballooned out to 27 GB at one point). I offloaded as much stuff as I could while the build was running (it took hours), but it still filled up the card. All core builds failed after that. So I did it in two passes: First build as much as I could, install those. Second, clean out the repo subdirectories for the successful cores, and then build the rest.

Thanks @mferrari and @Starblade42 for the very helpful tips and info.

3 Likes

This worked for me, thx!

I’m curious, when building libretro-super, did you need to increase your swap file size? I got well into the build and then at some point (in the full mame build, I think?) the build got unbearably slow, the system became unresponsive, and when I checked it had blown through the 4GB of RAM and the 2GB of default swap. I’ve since rebooted and will try again, but I’m wondering what the environment of successful builds looked like. (One thing I know for sure – it’s not my sd card running out of space, as I’ve got a 400GB card in the thing.)

Also, which CPU settings/gear were you using? (I’m on an A06.) I went with CPUs #4 and #5 at 1Ghz, but wondering if having #1-4 on instead would have been better.

A lot of the libretro cores actually got built, but I’d like to be able to build them all so I have a full set to try. Thanks

For me, I didn’t change the swap size. The build has frozen the machine a couple times, so it’s very likely that it’s running out of memory (2 GB RAM, 1 GB swap).

I’m in gear 5, the top gear on A04, which enables all 4 cores.

I’m also trying for a full set of cores, but I’m planning to babysitting the build through multiple passes. I don’t think I can easily do a full build in one go.

2 Likes