December 14, 2019, 06:52:05 pm

News:

Have you visited the Allwinner Chipset wiki? - http://linux-sunxi.org/


RetroArch image (Emulation) v0.1.0

Started by con, February 16, 2014, 11:40:20 am

Previous topic - Next topic

con

February 16, 2014, 11:40:20 am Last Edit: February 17, 2014, 05:22:54 am by con
For those interested in running emulators.

DISCLAIMER:
This is something to test with and get your system started from. It is in no way a complete setup and usable in any form other than to try something out. Includes lots of source files and other stuff normally not located on normal system.
It will work on this system: Cubieboard2 -> Marantz receiver -> panasonic st30
I wont guarantee anything else.

Will run on CB2, might run on CT.
Login like original image: root/root, linaro/linaro

Download link: https://mega.co.nz/#!usBlkaSR!SJY-zYuO_UyftUREzury_N5nNWA9E1ni_OOWIXegoVY

SPECS:

  • Pwoods linaro (cb2/ct) image, modified with pwoods 3.4.79 kernel and uinput build in for userlevel inputs (as well as hwmon for temp sensor in the axp) see http://www.cubieforums.com/index.php/topic,1331.0/topicseen.html

  • Framebuffer EGL/Mali and needed libs

  • NO x11. Libs installed as they are needed but i doubt x11 will run in its current form. If you have sufficient SD card space it might run if you apt-get the correct packages.

  • RetroArch from https://github.com/AreaScout/RetroArch. It has EGL enabled (use 'gl' as core)

  • Modified PCSX -> buggy as hell, originally I was modifying the programs to use SDL+neon core as rescaler but abandoned it after a found someone had already ported egl to RetroArch. Left it there if anyone is interested.

  • Included 640x480x60p timings in /etc/fb.modes

  • Modified PIMame menu. Now works with joystick (with recompiled pygame, sources in  /home/linaro/sources/) and dynamically loads roms from /home/linaro/roms/x. (see source if you want to add more, its not very user friendly)
    Use dpad or keyboard arrows, enter for confirm, button 0 for confirm and 2 for back.

  • Recompiled SDL1.2 from source to include all needed. CDROM interface is still buggy so no dosbox yet.

  • Xboxdrv 0.8.5 (from source) as 0.9.x is buggy with pre 3.8 kernels for some kind of reason.

  • includes some snes/nes/gba/ps1/genesis cores but not everything. You can add them yourself by cloning the libretro git repositories and compiling them. Most should work but some might need tweaking. They take a lot of space so I removed the ones not of interest to me.

  • GCC 4.8.1

  • Some quantal packages used.



RetroArch libretro cores known not to work:

  • Mupen64plus -> Needs rework on gles2glide64 video lib. It was removed but needed for cb's to work with. Currently segfaults on opengl shader init (which the egl core can't do)

  • Dosbox -> Needs properly working cdrom support from SDL.

  • madnafen -> Works but hopelessly slow.

  • Bsnes -> Segfaults on init. s9n-next works fine. Probably a bad OpenGL reference in the libretro core.



NOTE THIS:

  • Boots in EDID mode but switches to 720x480 afterwards. Edit /home/linaro/changeres.sh in ssh to change this. Most games will be slow at anything over 720x576.

  • XPAD module is disabled by default. Edit /root/.profile to disable removal (forced removal here as sometimes xboxdrv cant find it and fails)


  • Some libraries have additional libraries forced and some programs/libraries have forced flags (e.g. platform flag) or modified Makefiles/config.m(a)k files.



Everything compiled with the following cflags:
CFLAGS="-mcpu=cortex-a7 -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -ffast-math -Ofast"

RetroArch files in /home/linaro/libretro-super/
PiMame menu files in /home/linaro/pimame_files/
Sources used besides retroarch in /home/linaro/sources/*.bz

ikeeki


con

By the way, I think there are still two game files left on the image. Hopefully the mpaa/equivalent isn't watching...
You can test it with those.


To change 'default' resolution:

-> ssh to cb2
-> run /home/linaro/a10disp/a10disp
Check modes
-> Edit /home/linaro/changeres.sh
-> change "changehdmimode x" to your prefered resolution.

The file is needed to force the console back to text mode after you execute a game. It sometimes gets stuck in a egl buffer and you won't see the menu otherwise. This way it is forced to refresh the buffers, even when the resolution doesn't change.

You might want to run ~/libretro-super/RetroArch-sunxi/tools/retroarch-joyconfig and place the results in ~/retroarch.cfg to edit your joystick.

ikeeki

Have you had time to make a nand image?

con

Quote from: ikeeki on March 01, 2014, 04:14:54 pm
Have you had time to make a nand image?


No, unfortunately not. Maybe I'll do that later next week. I do have to shrink the image though as it contains too much compiled/source stuff.

b0b33140

Could you make a tutorial to compile retroarch and different modules on other distribution?

pcklee123

Just tried retroarch on cubian desktop. Seems to work well enough. For me, lima driver seems to work even better than gl.
git clone https://github.com/AreaScout/RetroArch.git

Paulanzer

Can you tell me, how to successfully compile retroarch (I'm always getting compile errors).
Which packages/libraries are needed and if needed, how did you recompiled them? Which CFlags did you use and which Flags did you set for compiling retroarch?