mupen64plus N64 emulator - ac-minetest/COMPILING_FOR_RPI4 GitHub Wiki
- mupen64plus – N64 emulator
- DEPENDENCIES
sudo apt install libboost-dev libboost-filesystem-dev
- SOURCES
wget https://github.com/mupen64plus/mupen64plus-core/releases/download/2.5.9/mupen64plus-bundle-src-2.5.9.tar.gz
tar -zxf mupen64plus-bundle-src-2.5.9.tar.gz
cd mupen64plus-bundle-src-2.5.9/
- COMPILE
sudo CFLAGS=‘-mfpu=neon -mtune=cortex-a72 -march=armv8-a’ ./m64p_build.sh NEON=1 USE_GLES=1 VFP_HARD=1 NEW_DYNAREC=1
(8 min)
- INSTALL: shared library from ‘test’ folder containing all the built files
sudo cp libmupen64plus.so.2.0.0 /usr/local/lib/libmupen64plus.so.2
- RUN
cd mupen64plus-bundle-src-2.5.9/test
Run with:
./mupen64plus ROMFILE
-
NOTES: error when using fullscreen
crash caused in shared library “mupen64plus-video-rice.so”
if we compile just that using -g argument (edit makefile in mupen64plus-video-rice folder)
and then run debugger
gdb —args ./mupen64plus GoldenEye\ 007\ \(U\)\ \[\!\].z64
it shows error in Video.cpp, function EXPORT void CALL ViWidthChanged(void), in call
CRender::g_pRender→UpdateClipRectangle();
what seems to happen is CRender::g_pRender becomes equal to NULL at some point causing crash
- HOW TO FIX:
in mupen64plus-bundle-src-2.5.9/source/mupen64plus-video-rice/src/OGLGraphicsContext.cpp,
inside bool COGLGraphicsContext::ResizeInitialize(uint32 dwWidth, uint32 dwHeight, BOOL bWindowed )
comment out 2 lines to get:
if (CoreVideo_ResizeWindow(windowSetting.uDisplayWidth, windowSetting.uDisplayHeight) != M64ERR_SUCCESS)
{
DebugMessage(M64MSG_ERROR, “Failed to set %i-bit video mode: %ix%i”, colorBufferDepth, (int)windowSetting.uDisplayWidth, (int)windowSetting.uDisplayHeight);
//CoreVideo_Quit();
//return false;
}