I'm using ArchLinux ARM with retroarch and I'm also having trouble getting mupen64 working on my pi 2. At first I just used these commands:
$ export CFLAGS="-mcpu=cortex-a7 -mfpu=neon-vfpv4"
$ make platform="armv neon hardfloat" -j5
That compiled but I got this error when loading mupen
Code: Select all
RetroArch [WARN] :: patch_content :: Did not find a valid content patch.
RetroArch [ERROR] :: rarch_environment_cb :: Requesting OpenGL context, but RetroArch is compiled against OpenGLES2. Cannot use HW context.
RetroArch [ERROR] :: rarch_log_libretro :: [libretro ERROR] :: mupen64plus: libretro frontend doesn't have OpenGL support.RetroArch [ERROR] :: load_content :: Failed to load content.
RetroArch: rarch_log_libretro: [libretro INFO] :: mupen64plus: Incompatible version -2.00 in 'Core' config section: current is -2.00. Setting defaults.
RetroArch: rarch_log_libretro: [libretro INFO] :: mupen64plus: ROM Database: /home/user/system/mupen64plus.ini
RetroArch: rarch_log_libretro: [libretro INFO] :: mupen64plus: Unable to open rom database file '/home/user/system/mupen64plus.ini'.
RetroArch: rarch_log_libretro: [libretro INFO] :: EmuThread: M64CMD_ROM_OPEN
RetroArch [ERROR] :: rarch_log_libretro :: [libretro ERROR] :: mupen64plus: Failed to load ROM
RetroArch [ERROR] :: rarch_log_libretro :: [libretro ERROR] :: Running Dead N64 Emulator
Then I tried what the person above did and replaced the #ARM section with this:
Code: Select all
# ARM
else ifneq (,$(findstring armv,$(platform)))
CC = gcc
CXX = g++
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
LDFLAGS += -shared -Wl,--version-script=$(LIBRETRO_DIR)/link.T -Wl,--no-undefined
INCFLAGS += -I.
CPUFLAGS += -DNO_ASM
WITH_DYNAREC=arm
ifneq (,$(findstring gles,$(platform)))
GLES := 1
GL_LIB := -L/opt/vc/lib -lGLESv2
else
GL_LIB := -lGL
endif
ifneq (,$(findstring cortexa7,$(platform)))
CPUFLAGS += -marm -mcpu=cortex-a7
else ifneq (,$(findstring cortexa7,$(platform)))
CPUFLAGS += -marm -mcpu=cortex-a7
endif
CPUFLAGS += -marm
ifneq (,$(findstring neon,$(platform)))
CPUFLAGS += -mfpu=neon-vfpv4
HAVE_NEON = 1
endif
ifneq (,$(findstring softfloat,$(platform)))
CPUFLAGS += -mfloat-abi=softfp
else ifneq (,$(findstring hardfloat,$(platform)))
CPUFLAGS += -mfloat-abi=hard
endif
PLATCFLAGS += -DARM
I compiled with
$ make -j5 platform=armv-gles-cortexa7-neon-hardfloat
That brings up mupen but I get slow performance also, not like this video:
https://www.youtube.com/watch?v=tP-i6oM2vnQ
How is he able to get that much faster? I also get sound hiccups with snes9x in Mario World and genesis plus gx in Sonic. Should Pi 2 be able to run those at full speed? What options do I need to compile those with differently?