Retroarch on Raspbery PI 4 not running

Hi Guys

I’ve got my RPI4 today. Retroarch compiles fine. However, to actually get it to run is not easy. You cant use GL or SDL, you are currently limited to dispmanx. Dispmanx is not a great driver, notifiactaion dont work and it seems a bit slow.

When trying to use sdl or gl it seems RA is running but you get no video.

Any thoughts about this or is it too early days?

To make the most of this gles3 device, you’ll need to build RA (and cores) with gles3 support. However, to do that, you’ll first need a gles3 environment, which i assume require mesa and a windowing system (afaik userland only supports gles2).

PS : Your screenshot screams Gentoo to my eyes, if i’m not mistaken you should have no issue handling this through proper use flags.

OK, thanks.

So, just to check install libgles3-mesa-dev and install a windowing env like x11 or weyland?

Thanks again.

I guess so, but i could be mistaken, i haven’t seen any guide on how to setup the vc6 gpu properly.

No worries, I’ll work on it and let people know what I find!

Cheers @BarbuDreadMon

No luck with windowing, tired just x11 (startx retroarch). Then and a windowing manager (openbox). Also tried compiling in these environments.

Maybe my compile env is wrong. There does not seem to be any gles3-dev libraries. Not really sure what I am missing.

FYI the KMS V3D driver is only vc4.

1 Like

I’m having a similar issue (I think) although I’m running a full raspbian buster install with the GUI. I seen some early results on the libretro twitter with it working so I thought I could just compile and go and I managed to compile and install it fine and it shows up under games but upon clicking it literally nothing happens. Is there some kind of flag/setting I need to change?

when you run ./configure use the following flags

CFLAGS="-mfpu=neon" ./configure --disable-videocore --enable-opengl --disable-opengl1 --enable-alsa --enable-udev --disable-opengles

this should then work after you have built it.

1 Like

Awesome, thank you! I will try this tonight.

1 Like

Let me know how it goes? I have other options that work too!

1 Like

It runs through but then hits this error (can post the whole log if necessary)

Build assumed that GL/gl.h exists, but cannot locate. Exiting …

And quits then I can’t make it because configuration failed. Just something I need to install?

Oh, That’s OK you just don’t have the libraries installed.Run the following command to install them.

sudo apt-get install build-essential libxkbcommon-dev zlib1g-dev libfreetype6-dev libegl1-mesa-dev libgles2-mesa-dev libgbm-dev libavcodec-dev libsdl2-dev libsdl-image1.2-dev libxml2-dev yasm libavformat-dev libavdevice-dev libswresample-dev libavresample-dev libswscale-dev libv4l-dev libgl*-mesa-dev

1 Like

Thank you, you’ve been extremely helpful! That seemed to work I’m currently waiting on the compile to finish to be sure though.

LD retroarch
/usr/bin/ld: obj-unix/release/./libretro-common/audio/resampler/drivers/sinc_resampler.o: in function `resampler_sinc_process_neon':
sinc_resampler.c:(.text+0x450): undefined reference to `process_sinc_neon_asm'
/usr/bin/ld: obj-unix/release/audio/drivers_resampler/cc_resampler.o: in function `resampler_CC_downsample':
cc_resampler.c:(.text+0x44): undefined reference to `resampler_CC_downsample_neon'
/usr/bin/ld: obj-unix/release/audio/drivers_resampler/cc_resampler.o: in function `resampler_CC_upsample':
cc_resampler.c:(.text+0xa4): undefined reference to `resampler_CC_upsample_neon'
/usr/bin/ld: obj-unix/release/./libretro-common/audio/conversion/s16_to_float.o: in function `convert_s16_to_float':
s16_to_float.c:(.text+0x5c): undefined reference to `convert_s16_float_asm'
/usr/bin/ld: obj-unix/release/./libretro-common/audio/conversion/float_to_s16.o: in function `convert_float_to_s16':
float_to_s16.c:(.text+0x54): undefined reference to `convert_float_s16_asm'
collect2: error: ld returned 1 exit status
make: *** [Makefile:196: retroarch] Error 1

Even more errors my dude. It ran through most of it and starting throwing errors here before exiting with error 1

I missed a compile flag --enable-neon needs to be in as we have set it as the mfpu.

So use this

CFLAGS="-mfpu=neon" ./configure --disable-videocore --enable-opengl --disable-opengl1 --enable-alsa --enable-udev --disable-opengles --enable-neon

1 Like

Well would you look at that. Thank you good sir

1 Like

Hello there, new user here with a brand new shiny RPI4 4GB and I kinda have the same problem regarding the building of retroarch. I gathered infos from here and the github in order to compile retroarch and it fails everytime. I don’t know where I’ve missed or misconfigured something. Here’s what I’m doing :

sudo apt-get -y install git sudo apt-get -y install build-essential libxkbcommon-dev zlib1g-dev libfreetype6-dev libegl1-mesa-dev libgles2-mesa-dev libgbm-dev libavcodec-dev libsdl2-dev libsdl-image1.2-dev libxml2-dev yasm libavformat-dev libavdevice-dev libswresample-dev libavresample-dev libswscale-dev libv4l-dev libgl*-mesa-dev

sudo git clone git://github.com/libretro/libretro-super.git cd libretro-super sudo ./libretro-fetch.sh cd retroarch sudo CFLAGS="-mfpu=neon" ./configure --disable-videocore --enable-opengl --disable-opengl1 --enable-alsa --enable-udev --disable-opengles --enable-neon cd … sudo ./retroarch-build.sh

I’m using the latest raspian buster lite image.

Thanks for any input/ideas . If you need anything let me know.

The cflags and compile options most likely will not work with every core. So, clone https://github.com/libretro/retroarch Then configure with

CFLAGS="-mfpu=neon" ./configure --disable-videocore --enable-opengl --disable-opengl1 --enable-alsa --enable-udev --disable-opengles --enable-neon

Then cd retroarch and then make.

Once retroarch is compiled and working I would suggest downloading cores from build bot. However, if you want to compile them you can. I’ve not been using libretro-super though. I’ve been compile a core at a time to test.

Thank you for the input. I’ll try this right away and let you know.

The compilation of retroarch worked despite some warnings. Thanks again :hugs: Now I’m gonna try to install some cores and test some games.