mupen64plus N64 emulator - ac-minetest/COMPILING_FOR_RPI4 GitHub Wiki

  1. mupen64plus – N64 emulator
  1. DEPENDENCIES

sudo apt install libboost-dev libboost-filesystem-dev

  1. 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/

  1. 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)

  1. INSTALL: shared library from ‘test’ folder containing all the built files

sudo cp libmupen64plus.so.2.0.0 /usr/local/lib/libmupen64plus.so.2

  1. RUN

cd mupen64plus-bundle-src-2.5.9/test

Run with:

./mupen64plus ROMFILE

  1. 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
  1. 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;
}

⚠️ **GitHub.com Fallback** ⚠️