Playable to semi playable speeds on N64 on OGA

Just want to help out anyone else who has an Odroid Go Advance as I’ve had success at running quite a few harder to run games at playable speeds on N64.

Most games run pretty decent. And it looks good! Less graphics bugs. Only downside is there’s a bit of lag every now and then. This gives an alternative to using Parallel. This is a core I compiled using Ubuntu Linux. Some games will still run slow like Goldeneye.

Mupen64plus Next with Gles3

The GLES3 core has a setting (that’s not in GLES2 core) called Color buffer to RDRAM, and you can set that to TripleBuffer, restart, and the game will run smoother.

The settings I had to change under Quick Settings > Options:
4:3 Resolution: 320x240 (set this lowest)
16:9 Resolution: 640x360 (also set this lowest)
Hybrid Filter: Off (turn this off!)
Framebuffer Emulation: On/Off (some games you can turn this off but most it will cause issues)
Color Buffer to RDRAM: TripleBuffer (set this to TripleBuffer instead of Sync)
Depth Buffer to RDRAM: Off/Software (turn this off)
Cache Textures: Off (turn this off, eliminates a bit of lag)

Other things that help:
Turn off Vsync under Video Settings (makes a big difference for Banjo-Kazooie)
Overclock to 1.5GHz under EmuElec settings.

The core is to be extracted and placed under the Storage partition of the SD card (it’s a Linux partition so either use Linux, Linux File Systems or a VMWare Virtual machine running Linux) under the “cores” folder. This will override the default Mupen Next core.

This core will also work on Android TV boxes (providing they support Gles3), you can try the same settings if it’s running sluggish, and Odroid N2+ that run 64 bit EmuElec.

Where does this core come from?

I compiled it on Linux (Ubuntu) using my Odroid N2+ so I could get an Arm64 version which worked on EmuElec. I couldn’t do it on my PC for some reason it kept compiling for x86. I set the flags for HLE and GLES3 in the Makefile. I did have some trouble with getting it to compile. But once I flashed an updated Ubuntu image, it worked.

I built it for XU4 as well, did have some difficulty getting it to compile. With zero help or assistance from the developer.

Cool! Can you share your Makefile changes?

Originally I built it for N2+ because I noticed a few glitches with GLES2 with a lot of games. And then I thought I wonder if it works on Odroid Go Advance, and I tried it, lowered the resolution, tweaked different settings and the performance was alright.

Yeah sure, alright I’ll just find the changes I made. I think they were only tiny ones.

I couldn’t find the old Mupen Next version I had. I must’ve deleted it when I was finished with it. But I managed to fetch the latest version.

Seems like the only change I made in the Makefile was setting Force_GLES3 = 1.

I had to download some header files as well before it would compile that go into /usr/include/GLES3 from some site Khronos Group. And this time it compiled easily.

But I don’t know if the performance is still the same or worse in this new version.

Just tested it. This version still works the same, works good.

which headers exactly?

Sorry I should’ve been more specific. These ones here.

https://android.googlesource.com/platform/frameworks/native/+/master/opengl/include/GLES3

gl3.h
gl31.h
gl32.h
gl3ext.h
gl3platform.h

I downloaded them from here after I googled each one. It should be the first search result in google.
https://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjljeq14q3zAhVLILcAHVkUBEwQFnoECAYQAQ&url=https%3A%2F%2Fwww.khronos.org%2Fregistry%2FOpenGL%2Fapi%2FGLES3%2Fgl3.h&usg=AOvVaw3T9kuFQjw5SqcovoDWDuGf

All the header files I placed in the /usr/include/GLES3 folder with administrator access.

Hope this helps.

Edit: It only lets me put 2 links in the post.

i dont understand where to put the file,on the core folder i have 0 files

Thats where you place it. In that empty “cores” folder. I’m not sure exactly where the core files for emuelec are stored. But by placing the file in that folder, it will override the default file thats used by EmuElec.