Optimized flags for Raspberry Pi

Are there any special reason for -DARMv5_ONLY in mupen makefile, for Raspberry Pi?

Maybe this fits better:

CPUFLAGS += -march=armv6 -mfloat-abi=hard -mfpu=vfp -DNO_ASM -DNOSSE

Or this:

CPUFLAGS += -march=armv6zk -mcpu=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp -DNO_ASM -DNOSSE

Which CPU flags are suitable for gcc on Raspberry Pi? RetroArch on Raspbian: the tutorial CFLAGS for numerical computing on the Raspberry Pi

For those who are starting on this platform and in Linux, to compile with optimizations you need:

RetroArch:

./configure --prefix=/usr --disable-cg --enable-gles --enable-floathard
make

Mupen64plus:

make platform="rpi"

For other cores, what’s the right platform option? armv ?

Hi, I’m building RetroArch and Mupen64plus on the Raspberry Pi 3 Model B, however nothing is working and was wondering if my build commands are good, can someone check? Thank you in advance.

Does this work for the rpi3b?

SHALLOW_CLONE=1 ./libretro-fetch.sh --retroarch ENABLE_GLES=1 ./retroarch-build.sh

I’m also interested in Mupen64plus and didn’t know it needed platform=“rpi”. This is how I’m building the mupen64plus core, is this correct for the rip3b or is manually running ./configure and make required?

ENABLE_GLES=1 ./libretro-build.sh mupen64plus

Cheers!

Update: Retroarch and some cores are now building/running. I think, for some build flags, retroarch-build/libretro-build don’t work 100% on the Pi. Install dependencies and set CFLAGS, CPPFLAGS, CXXFLAGS, and LDFLAGS. I also disabled a bunch of stuff.

mkdir -p ~/retroarch/cores git clone git://github.com/libretro/libretro-super.git cd libretro-super SHALLOW_CLONE=1 ./libretro-fetch.sh --retroarch mupen64plus cd retroarch ./configure --enable-neon --enable-floathard --disable-sdl --disable-sdl2 --disable-ffmpeg --disable-networking --disable-miniupnpc --disable-opengl --enable-opengles --disable-opengles3 --disable-x11 --disable-xinerama --disable-kms --enable-dispmanx --disable-wayland --enable-egl --disable-vg --disable-cg --enable-fbo --disable-osmesa make -j5 make DESTDIR=~/retroarch/ install cd … cd libretro-mupen64plus make GLIDEN64ES=1 platform=“rpi3” cp *_libretro.so ~/retroarch/cores/

For Mupen64plus, I set mupen64-gfxplugin-accuracy = “high”, mupen64-gfxplugin = “rice” and mupen64-screensize = “320x240” in retroarch-core-options.cfg.

Also, if there are sound dropouts try setting audio_out_rate = “44100” and in retroarch.cfg. I set audio_sync = “false” and enabled threads (in ./configure).

Update Edit: This page has some optimized flags for the RPi3B.

sources: