newkojak
Posts: 2
Joined: Tue Jun 12, 2012 5:11 pm

Re: RetroArch Emulator Frontend

Tue Jun 12, 2012 5:14 pm

I'm looking forward to seeing this project develop. I have a Caanoo and it would be handy to have something set up to run as simply as that.

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Tue Jun 19, 2012 9:29 pm

The first set of Raspberry Pi changes has been merged upstream, so I would like to invite people to download and compile RetroArch and see how it performs for you.

You can download either the official repository (https://github.com/Themaister/RetroArch) or my experimental repository (https://github.com/ToadKing/RetroArch-Rpi) (which at the moment is basically the same as the official one, but will have future Raspberry Pi changes before the main repository.)

I've tested the following emulator cores and they run at or near full speed: RetroArch on the Raspberry Pi has some issues though:
  • Audio uses ALSA, and due to the alpha nature of the Raspberry Pi's ALSA driver, audio is not perfect. Expect popping and static.

Guling_
Posts: 1
Joined: Wed Jun 20, 2012 9:27 pm

Re: RetroArch Emulator Frontend

Wed Jun 20, 2012 9:33 pm

Thanks all that is involved in this project. Great work! I havent got My pi jet so i cant try this.but will mame4all play cps1/2 and neogeo at fullspeed to?
Or CSN mame4all play those Roms at all..

Is there any how tos for beginners. ?

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Thu Jun 21, 2012 12:43 am

Guling_ wrote:Thanks all that is involved in this project. Great work! I havent got My pi jet so i cant try this.but will mame4all play cps1/2 and neogeo at fullspeed to?
Or CSN mame4all play those Roms at all..

Is there any how tos for beginners. ?
Unfortunately iMAME4all does not include CPS2 support, although porting a standalone CPS2 emulator to RetroArch would be possible. I was already looking into porting GnGeo (because iMAME4all doesn't support some of the larger Neo-Geo games) and would look into other ports in the future.

Also, after further testing, it appears the static sounds in the ALSA driver only appear when using the 3.5mm audio jack for output, but HDMI audio still has some issues through ALSA. (Random cutting out requiring program restarts being one of them.)

User avatar
BakaOsaka
Posts: 40
Joined: Tue Jun 12, 2012 11:30 am

Re: RetroArch Emulator Frontend

Thu Jun 21, 2012 3:21 pm

Toad King, do you have any compile instructions?

I've tried compiling the Libretro cores on my Pi following the Linux compile instructions and got the following error:

Code: Select all

g++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions.
make: *** [../apu/bapu/smp/smp.o] Error 1
as well as many others.

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Thu Jun 21, 2012 6:03 pm

BakaOsaka wrote:Toad King, do you have any compile instructions?

I've tried compiling the Libretro cores on my Pi following the Linux compile instructions and got the following error:

Code: Select all

g++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions.
make: *** [../apu/bapu/smp/smp.o] Error 1
as well as many others.
Which core were you trying to compile? Also, which memory split are you on? You shouldn't try compiling anything from the 128/128 memory split.

Also note that some of the cores have their own "Makefile.libretro" makefile you should use, so instead of "make" you would do "make -f Makefile.libretro"

EDIT: Judging by your output, I'm guessing you were compiling the official snes9x git. I wouldn't bother with that. You will not get fullspeed using that core.

benwad
Posts: 3
Joined: Fri Jun 22, 2012 7:22 pm

Re: RetroArch Emulator Frontend

Fri Jun 22, 2012 7:24 pm

Hi - I just came on here to find out about emulation on the Pi and I'm amazed to see how much progress is being made by the community!
I'm having problems though - the core for pocketsnes-libretro worked fine, but I'm getting this when I try to ./configure your branch of RetroArch:

Code: Select all

Checking operating system ... Linux
Checking for suitable working C compiler ... /usr/bin/gcc
Checking for suitable working C++ compiler ... /usr/bin/g++
Checking for availability of switch -std=gnu99 in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-result in /usr/bin/gcc ... yes
Checking function bcm_host_init in -lbcm_host ... yes
Checking function pthread_create in -lpthread ... yes
Checking function dlopen in -ldl ... yes
Checking function socket in -lc ... yes
Checking function getaddrinfo in -lc ... yes
Checking function getopt_long in -lc ... yes
Not found. Exiting ...
What's not found? :/

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Fri Jun 22, 2012 7:46 pm

benwad wrote:Hi - I just came on here to find out about emulation on the Pi and I'm amazed to see how much progress is being made by the community!
I'm having problems though - the core for pocketsnes-libretro worked fine, but I'm getting this when I try to ./configure your branch of RetroArch:

Code: Select all

Checking operating system ... Linux
Checking for suitable working C compiler ... /usr/bin/gcc
Checking for suitable working C++ compiler ... /usr/bin/g++
Checking for availability of switch -std=gnu99 in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-result in /usr/bin/gcc ... yes
Checking function bcm_host_init in -lbcm_host ... yes
Checking function pthread_create in -lpthread ... yes
Checking function dlopen in -ldl ... yes
Checking function socket in -lc ... yes
Checking function getaddrinfo in -lc ... yes
Checking function getopt_long in -lc ... yes
Not found. Exiting ...
What's not found? :/
I think that means pkg-config wasn't found, looks like not displaying that part is a bug in the configuration script. Isn't pkg-config a part of build-essentials?

benwad
Posts: 3
Joined: Fri Jun 22, 2012 7:22 pm

Re: RetroArch Emulator Frontend

Sat Jun 23, 2012 10:44 am

I've got build-essential and everything, but looking at the configure script that gives the error, this is where the problem is:

Code: Select all

check_lib GETOPT_LONG -lc getopt_long

if [ "$HAVE_DYLIB" = 'no' ] && [ "$HAVE_DYNAMIC" = 'yes' ]; then
   echo "Dynamic loading of libsnes is enabled, but your platform does not appear to have dlopen(), use --disable-dynamic or --with-libsnes=\"-lsnes\"".
   exit 1
fi

check_pkgconf ALSA alsa
check_header OSS sys/soundcard.h
I'm by no means an expert in shell scripting, but that looks like it's failing on the 'check_pkgconf ALSA alsa' line. I installed alsa-utils but the problem is still there.

User avatar
Aloshi
Posts: 359
Joined: Sat Jun 23, 2012 6:42 pm
Contact: Website

Re: RetroArch Emulator Frontend

Sat Jun 23, 2012 6:46 pm

Hey there, I've been trying to get RetroArch to build. I've tried both the official and RetroArch-Rpi repositories, and they both give me the same error when I run make:

Code: Select all

In file included from /usr/include/libpng12/png.h:518,
                 from screenshot.c:30:
/usr/include/libpng12/pngconf.h:371: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before â.â token
/usr/include/libpng12/pngconf.h:372: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âincludeâ
make: *** [screenshot.o] Error 1
(I'm guessing those accented As should be quotes)

I'm running the configure script prior to trying to build. Any idea what's wrong?

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Sat Jun 23, 2012 7:30 pm

benwad wrote:I've got build-essential and everything, but looking at the configure script that gives the error, this is where the problem is:

Code: Select all

check_lib GETOPT_LONG -lc getopt_long

if [ "$HAVE_DYLIB" = 'no' ] && [ "$HAVE_DYNAMIC" = 'yes' ]; then
   echo "Dynamic loading of libsnes is enabled, but your platform does not appear to have dlopen(), use --disable-dynamic or --with-libsnes=\"-lsnes\"".
   exit 1
fi

check_pkgconf ALSA alsa
check_header OSS sys/soundcard.h
I'm by no means an expert in shell scripting, but that looks like it's failing on the 'check_pkgconf ALSA alsa' line. I installed alsa-utils but the problem is still there.
Install pkg-config. Also note you'll need to install the development files for ALSA and other libraries (like FreeType) to compile RetroArch with those features supported.
Aloshi wrote:Hey there, I've been trying to get RetroArch to build. I've tried both the official and RetroArch-Rpi repositories, and they both give me the same error when I run make:

Code: Select all

In file included from /usr/include/libpng12/png.h:518,
                 from screenshot.c:30:
/usr/include/libpng12/pngconf.h:371: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before â.â token
/usr/include/libpng12/pngconf.h:372: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âincludeâ
make: *** [screenshot.o] Error 1
(I'm guessing those accented As should be quotes)

I'm running the configure script prior to trying to build. Any idea what's wrong?
Try configuring RetroArch to not use libpng.

Code: Select all

./configure --disable-libpng

User avatar
Aloshi
Posts: 359
Joined: Sat Jun 23, 2012 6:42 pm
Contact: Website

Re: RetroArch Emulator Frontend

Sat Jun 23, 2012 7:56 pm

Oh haha, I should've thought of that. That particular problem is solved, but I get a new error later on:

Code: Select all

In file included from gfx/rpi.c:19:
/opt/vc/include/bcm_host.h:447: warning: type of bit-field 'scan_mode' is a GCC extension
/opt/vc/include/bcm_host.h:448: warning: type of bit-field 'native' is a GCC extension
/opt/vc/include/bcm_host.h:449: warning: type of bit-field 'code' is a GCC extension
gfx/rpi.c:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'rpi_shutdown'
gfx/rpi.c: In function 'rpi_kill':
gfx/rpi.c:71: error: 'rpi_shutdown' undeclared (first use in this function)
gfx/rpi.c:71: error: (Each undeclared identifier is reported only once
gfx/rpi.c:71: error: for each function it appears in.)
gfx/rpi.c: In function 'rpi_init':
gfx/rpi.c:221: error: storage size of 'sa' isn't known
gfx/rpi.c:223: error: 'SA_RESTART' undeclared (first use in this function)
gfx/rpi.c:224: warning: implicit declaration of function 'sigemptyset'
gfx/rpi.c:225: warning: implicit declaration of function 'sigaction'
gfx/rpi.c:225: error: 'SIGINT' undeclared (first use in this function)
gfx/rpi.c:226: error: 'SIGTERM' undeclared (first use in this function)
gfx/rpi.c:221: warning: unused variable 'sa'
gfx/rpi.c: In function 'rpi_alive':
gfx/rpi.c:423: error: 'rpi_shutdown' undeclared (first use in this function)
make: *** [gfx/rpi.o] Error 1

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Sun Jun 24, 2012 12:58 am

Aloshi wrote:Oh haha, I should've thought of that. That particular problem is solved, but I get a new error later on:

Code: Select all

In file included from gfx/rpi.c:19:
/opt/vc/include/bcm_host.h:447: warning: type of bit-field 'scan_mode' is a GCC extension
/opt/vc/include/bcm_host.h:448: warning: type of bit-field 'native' is a GCC extension
/opt/vc/include/bcm_host.h:449: warning: type of bit-field 'code' is a GCC extension
gfx/rpi.c:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'rpi_shutdown'
gfx/rpi.c: In function 'rpi_kill':
gfx/rpi.c:71: error: 'rpi_shutdown' undeclared (first use in this function)
gfx/rpi.c:71: error: (Each undeclared identifier is reported only once
gfx/rpi.c:71: error: for each function it appears in.)
gfx/rpi.c: In function 'rpi_init':
gfx/rpi.c:221: error: storage size of 'sa' isn't known
gfx/rpi.c:223: error: 'SA_RESTART' undeclared (first use in this function)
gfx/rpi.c:224: warning: implicit declaration of function 'sigemptyset'
gfx/rpi.c:225: warning: implicit declaration of function 'sigaction'
gfx/rpi.c:225: error: 'SIGINT' undeclared (first use in this function)
gfx/rpi.c:226: error: 'SIGTERM' undeclared (first use in this function)
gfx/rpi.c:221: warning: unused variable 'sa'
gfx/rpi.c: In function 'rpi_alive':
gfx/rpi.c:423: error: 'rpi_shutdown' undeclared (first use in this function)
make: *** [gfx/rpi.o] Error 1
Try again with my repo with my latest commit.

User avatar
Aloshi
Posts: 359
Joined: Sat Jun 23, 2012 6:42 pm
Contact: Website

Re: RetroArch Emulator Frontend

Sun Jun 24, 2012 4:01 pm

Ah, excellent! That fixed it, everything works now! Super Mario World running full speed, I'm quite happy. :D

To anyone else who may be confused about how to run RetroArch like I was:
sudo ./retroarch -L path_to_core.so path_to_rom

benwad
Posts: 3
Joined: Fri Jun 22, 2012 7:22 pm

Re: RetroArch Emulator Frontend

Sun Jun 24, 2012 6:01 pm

Works for me now too, although not quite at full speed. Probably something to do with the current ALSA driver? In order to get ALSA to work I have to run this command every time I boot the Pi:

Code: Select all

sudo modprobe snd_bcm2835
Without doing that I get an error saying ALSA cannot find card '0'. I noticed that I was getting full speed when sound wasn't working but things are a bit choppy when sound is working.

Also, to avoid having to specify the libretro path every time, you can specify it in $HOME/.retroarch.cfg (that file wasn't created for me). There's a skeleton config file somewhere on GitHub and you can just uncomment certain lines: one of those lines specifies the default libretro implementation path.

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Sun Jun 24, 2012 10:00 pm

benwad wrote:Works for me now too, although not quite at full speed. Probably something to do with the current ALSA driver? In order to get ALSA to work I have to run this command every time I boot the Pi:

Code: Select all

sudo modprobe snd_bcm2835
Without doing that I get an error saying ALSA cannot find card '0'. I noticed that I was getting full speed when sound wasn't working but things are a bit choppy when sound is working.

Also, to avoid having to specify the libretro path every time, you can specify it in $HOME/.retroarch.cfg (that file wasn't created for me). There's a skeleton config file somewhere on GitHub and you can just uncomment certain lines: one of those lines specifies the default libretro implementation path.
The ALSA driver doesn't load at start because it's currently in alpha. I'm hoping either the ALSA driver will improve, or I'll eventual make an OpenMAX IL audio core eventually.

JamishS
Posts: 6
Joined: Tue Jun 26, 2012 2:07 am

Re: RetroArch Emulator Frontend

Tue Jun 26, 2012 5:22 am

I'm pretty sure I have all the dependencies (pkg-config, libsdl1.2-dev). I'm using ./configure --disable-pulse --disable-libpng. Still getting the following error:

Code: Select all

CC gfx/rpi.c
CC gfx/ext_gfx.c
CC audio/ext_audio.c
CC gfx/fonts/fonts.c
CC audio/sinc.c
gfx/context/sdl_ctx.o: In function `gfx_ctx_get_window_size':
/home/pi/git/RetroArch-Rpi/gfx/context/sdl_ctx.c:275: undefined reference to `XGetWindowAttributes'
collect2: ld returned 1 exit status
make: *** [retroarch] Error 1
Does this mean something's messed up SDL dependencies? I kept trying with uninstalling packages and reinstalling or installing libsdl-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, libsdl-ttf2.0-dev. Am I missing some parameters on my ./configure?

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Tue Jun 26, 2012 7:30 am

JamishS wrote:I'm pretty sure I have all the dependencies (pkg-config, libsdl1.2-dev). I'm using ./configure --disable-pulse --disable-libpng. Still getting the following error:

Code: Select all

CC gfx/rpi.c
CC gfx/ext_gfx.c
CC audio/ext_audio.c
CC gfx/fonts/fonts.c
CC audio/sinc.c
gfx/context/sdl_ctx.o: In function `gfx_ctx_get_window_size':
/home/pi/git/RetroArch-Rpi/gfx/context/sdl_ctx.c:275: undefined reference to `XGetWindowAttributes'
collect2: ld returned 1 exit status
make: *** [retroarch] Error 1
Does this mean something's messed up SDL dependencies? I kept trying with uninstalling packages and reinstalling or installing libsdl-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, libsdl-ttf2.0-dev. Am I missing some parameters on my ./configure?
Sounds like something is up with your libraries. Try running `make V=1` and give the command it runs for linking. Also, make sure you have the x11 development libraries as well. (On Debian they should be libx11-dev)

edak
Posts: 5
Joined: Wed Jun 27, 2012 12:47 am

Re: RetroArch Emulator Frontend

Wed Jun 27, 2012 12:52 am

So I have got RetroArch running on my pi and am loving it! I installed it on squeezy.

The speed of the two roms I have tested with pocketSNES core (Super mario kart and Street fighter 2) is a little slow, but playable. It's still early days!

I can confirm that sound over HDMI works, but is absolutely terrible and must be fixed.
I am also having trouble re-configuring the keyboard layout, any help here?

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Wed Jun 27, 2012 1:52 am

edak wrote:So I have got RetroArch running on my pi and am loving it! I installed it on squeezy.

The speed of the two roms I have tested with pocketSNES core (Super mario kart and Street fighter 2) is a little slow, but playable. It's still early days!

I can confirm that sound over HDMI works, but is absolutely terrible and must be fixed.
I am also having trouble re-configuring the keyboard layout, any help here?
If you want, you should be able to overclock your Pi to 800 Mhz, which gets me fullspeed in most games. The audio issues are almost entirely from the ALSA drivers/firmware, and the latest Rpi firmware that was supposed to fix some ALSA issues just ended up screwing up audio entirely for me. If you're on the latest firmware, try rolling back the start.elf file to the previous version. Audio won't be perfect, but it'll be better.

Keyboard settings and everything are done from the configuration file, retroarch.cfg. If not specified, RetroArch looks in $HOME/.retroarch.cfg for the file. The sample file in the repository explains all the settings and how to change things, but not that some things (notably pixel shaders) don't work with the Pi port. (At least not yet.)

JamishS
Posts: 6
Joined: Tue Jun 26, 2012 2:07 am

Re: RetroArch Emulator Frontend

Wed Jun 27, 2012 2:01 am

Toad King wrote:
JamishS wrote:I'm pretty sure I have all the dependencies (pkg-config, libsdl1.2-dev). I'm using ./configure --disable-pulse --disable-libpng. Still getting the following error:

Code: Select all

CC gfx/rpi.c
CC gfx/ext_gfx.c
CC audio/ext_audio.c
CC gfx/fonts/fonts.c
CC audio/sinc.c
gfx/context/sdl_ctx.o: In function `gfx_ctx_get_window_size':
/home/pi/git/RetroArch-Rpi/gfx/context/sdl_ctx.c:275: undefined reference to `XGetWindowAttributes'
collect2: ld returned 1 exit status
make: *** [retroarch] Error 1
Does this mean something's messed up SDL dependencies? I kept trying with uninstalling packages and reinstalling or installing libsdl-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, libsdl-ttf2.0-dev. Am I missing some parameters on my ./configure?
Sounds like something is up with your libraries. Try running `make V=1` and give the command it runs for linking. Also, make sure you have the x11 development libraries as well. (On Debian they should be libx11-dev)
I got things compiled and Super Mario World up and running! For anyone else with my problem, it was failing on the linking like Toad King suggested. By running "make V=1", I got the last command that the makefile failed on. I copied that entire command, appended "-lX11" to explicitly link to the x11 library, then ran it by itself (new part is underlined):

Code: Select all

/usr/bin/g++ -o retroarch retroarch.o file.o file_path.o hash.o driver.o settings.o dynamic.o message.o rewind.o gfx/gfx_common.o patch.o compat/compat.o screenshot.o audio/utils.o audio/null.o input/null.o gfx/null.o input/linuxraw_input.o autosave.o thread.o conf/config_file.o movie.o netplay.o network_cmd.o audio/oss.o audio/alsa.o gfx/sdl_gfx.o gfx/context/sdl_ctx.o input/sdl_input.o audio/sdl_audio.o fifo_buffer.o gfx/rpi.o gfx/ext_gfx.o audio/ext_audio.o gfx/fonts/fonts.o audio/sinc.o -lm -lrt -lpthread -lasound -lSDL -lOpenVG -lGLESv2 -lEGL -lbcm_host -ldl -lfreetype -lSDL_image -lSDL -ldl  -L/opt/vc/lib -lX11
There's probably a way to modify the makefile to force it to link to -lX11, but I didn't want to poke around in it too much. Let me know if I did something really stupid that would break anything :)

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Wed Jun 27, 2012 3:50 am

JamishS wrote:
Toad King wrote:
JamishS wrote:I'm pretty sure I have all the dependencies (pkg-config, libsdl1.2-dev). I'm using ./configure --disable-pulse --disable-libpng. Still getting the following error:

Code: Select all

CC gfx/rpi.c
CC gfx/ext_gfx.c
CC audio/ext_audio.c
CC gfx/fonts/fonts.c
CC audio/sinc.c
gfx/context/sdl_ctx.o: In function `gfx_ctx_get_window_size':
/home/pi/git/RetroArch-Rpi/gfx/context/sdl_ctx.c:275: undefined reference to `XGetWindowAttributes'
collect2: ld returned 1 exit status
make: *** [retroarch] Error 1
Does this mean something's messed up SDL dependencies? I kept trying with uninstalling packages and reinstalling or installing libsdl-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, libsdl-ttf2.0-dev. Am I missing some parameters on my ./configure?
Sounds like something is up with your libraries. Try running `make V=1` and give the command it runs for linking. Also, make sure you have the x11 development libraries as well. (On Debian they should be libx11-dev)
I got things compiled and Super Mario World up and running! For anyone else with my problem, it was failing on the linking like Toad King suggested. By running "make V=1", I got the last command that the makefile failed on. I copied that entire command, appended "-lX11" to explicitly link to the x11 library, then ran it by itself (new part is underlined):

Code: Select all

/usr/bin/g++ -o retroarch retroarch.o file.o file_path.o hash.o driver.o settings.o dynamic.o message.o rewind.o gfx/gfx_common.o patch.o compat/compat.o screenshot.o audio/utils.o audio/null.o input/null.o gfx/null.o input/linuxraw_input.o autosave.o thread.o conf/config_file.o movie.o netplay.o network_cmd.o audio/oss.o audio/alsa.o gfx/sdl_gfx.o gfx/context/sdl_ctx.o input/sdl_input.o audio/sdl_audio.o fifo_buffer.o gfx/rpi.o gfx/ext_gfx.o audio/ext_audio.o gfx/fonts/fonts.o audio/sinc.o -lm -lrt -lpthread -lasound -lSDL -lOpenVG -lGLESv2 -lEGL -lbcm_host -ldl -lfreetype -lSDL_image -lSDL -ldl  -L/opt/vc/lib -lX11
There's probably a way to modify the makefile to force it to link to -lX11, but I didn't want to poke around in it too much. Let me know if I did something really stupid that would break anything :)
That shouldn't happen. Can you post the output of `./configure`?

JamishS
Posts: 6
Joined: Tue Jun 26, 2012 2:07 am

Re: RetroArch Emulator Frontend

Wed Jun 27, 2012 4:07 am

Toad King wrote:That shouldn't happen. Can you post the output of `./configure`?
Sure thing.
[email protected]:~/git/RetroArch-Rpi$ ./configure --disable-pulse --disable-libpng
Checking operating system ... Linux
Checking for suitable working C compiler ... /usr/bin/gcc
Checking for suitable working C++ compiler ... /usr/bin/g++
Checking for availability of switch -std=gnu99 in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-result in /usr/bin/gcc ... yes
Checking function bcm_host_init in -lbcm_host ... yes
Checking function pthread_create in -lpthread ... yes
Checking function dlopen in -ldl ... yes
Checking function socket in -lc ... yes
Checking function getaddrinfo in -lc ... yes
Checking function getopt_long in -lc ... yes
Checking for pkg-config ... /usr/bin/pkg-config
Checking presence of package alsa ... yes
Checking presence of header file sys/soundcard.h ... yes
Checking presence of header file soundcard.h ... no
Checking existence of -lossaudio ... no
Checking function alcOpenDevice in -lopenal ... no
Checking function glFramebufferTexture2D in -lGL ... yes
Checking presence of package rsound with minimum version 1.1 ... no
Checking presence of package libroar ... no
Checking presence of package jack with minimum version 0.120.1 ... no
Checking function AudioUnitInitialize in -framework AudioUnit ... no
Checking presence of package sdl with minimum version 1.2.10 ... yes
Ignoring Cg. OpenGL is not enabled.
Checking presence of package libxml-2.0 ... no
Checking presence of package SDL_image ... yes
Checking presence of package libavcodec ... no
Checking presence of package libavformat ... no
Checking presence of package libavutil ... no
Checking presence of package libswscale ... no
Checking function dlopen in -ldl ... yes
Checking presence of package freetype2 ... yes
Checking presence of package x11 ... yes
Checking presence of package xext ... yes
Checking presence of package xv ... no
Checking function strlcpy in -lc ... no
Checking presence of package python3 ... no
Creating make config: config.mk
Creating config header: config.h
As a side note, I'm running my pi on a 320x240 composite display, and for some reason I can't get the scaling to work. It looks fine when I'm just using the console or startx gui, but when I run retroarch it just looks like this:
Image
I tried these settings for my .retroarch.cfg:
video_xscale = 1.0
video_yscale = 1.0
video_fullscreen_x = 320
video_fullscreen_y = 240
video_fullscreen = true
I'm positive that it's finding my .retroarch.cfg just fine, since I can change keybindings and other things like bilinear filtering. Any idea why video scaling doesn't work? My /boot/config.txt is:
sdtv_mode=0
sdtv_aspect=1
framebuffer_width=320
framebuffer_height=240
overscan_left=3
overscan_right=0
overscan_top=0
overscan_bottom=0

User avatar
Toad King
Posts: 157
Joined: Sun Dec 18, 2011 8:03 pm

Re: RetroArch Emulator Frontend

Wed Jun 27, 2012 4:22 am

That's very odd, it's detecting X11 but someone the library link option for it is not being set.

As for your monitor, it uses the bcm library for the video output. Currently the scaling options do not work for the Raspberry Pi graphics output, but it should automatically scale to use the full screen by default. Can you test something like OMXPlayer on your screen and see if that has the same problem?

edak
Posts: 5
Joined: Wed Jun 27, 2012 12:47 am

Re: RetroArch Emulator Frontend

Wed Jun 27, 2012 6:12 am

Toad King wrote: If you want, you should be able to overclock your Pi to 800 Mhz, which gets me fullspeed in most games. The audio issues are almost entirely from the ALSA drivers/firmware, and the latest Rpi firmware that was supposed to fix some ALSA issues just ended up screwing up audio entirely for me. If you're on the latest firmware, try rolling back the start.elf file to the previous version. Audio won't be perfect, but it'll be better.

Keyboard settings and everything are done from the configuration file, retroarch.cfg. If not specified, RetroArch looks in $HOME/.retroarch.cfg for the file. The sample file in the repository explains all the settings and how to change things, but not that some things (notably pixel shaders) don't work with the Pi port. (At least not yet.)
I will look into overclocking it, before I do I will get a small heatsink for the uP though.

I did upgrade the firmware using hexxeh, but that was because to memory it would not make/compile without upgrading. I don't think I will downgrade, just play silently until I get some update/resolve.

As for the config file, I had already tried putting my config file as:
$HOME/.retroarch.cfg
$HOME/.config/retroarch.cfg
/RetroArch-Rpi/retroarch.cfg
with only the keyboard settings modified, but it never changes/applies??

Return to “Gaming”