Install yaba sanshiro saturn emu on nvidia jetson from source

The source are in GitHub - devmiyax/yabause: Yabause is a Sega Saturn emulator and took over as Yaba Sanshiro

so We can compile for our nvidia jetson

git clone https://github.com/devmiyax/yabause/

I may leave some dependency because (some dependence, qt needed if you great if the Qt interface or openal if you want the backend with openal sound )

sudo apt-get install libegl1-mesa-dev libgles2-mesa-dev libsdl2-dev libcurl4-openssl-dev 
libboost-dev libboost-system-dev libboost-filesystem-dev libboost-date-time-dev libboost-locale-dev
qtmultimedia5-dev zlib1g-dev libopenal-dev cmake

Next put in clone folder and create a folder and in build folder

cd yabause 
mkdir build
cd build

Compile in you build folder with pointer to cmakelist.txt folder also no forget DYNAREC_DEVMIYAX=true for compile assembler part needed for running better with sh2 recompiler enable option.

cmake -DYAB_WANT_DYNAREC_DEVMIYAX=TRUE ../yabause
make -j3

Next when finish compiled in src/qt/ the binary yabasanshiro

For run ./yabasanshiro

Next You needed configure (example in Qt GUI interface )

The state are experimental and has some bugs to solve in maximize/minimize does not expand correctly and missing correctly sound in some games and slowdown in some games in 3d games harder than 2d games.

In case someone wants to test it and does not want to waste time compiling

Download Binary from yabasanshiro - Google Drive

Binary are enabled Qt GUI + glut + Opengl + glew + sh2 recompiler and are aarch64 native

ldd info for if you are missing some lib

linux-vdso.so.1 (0x0000007f8ffdb000)
	libgtk3-nocsd.so.0 => /usr/lib/aarch64-linux-gnu/libgtk3-nocsd.so.0 (0x0000007f8f0bd000)
	libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000007f8f090000)
	libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f8f064000)
	libGL.so.1 => /usr/lib/aarch64-linux-gnu/libGL.so.1 (0x0000007f8ef65000)
	libglut.so.3 => /usr/lib/aarch64-linux-gnu/libglut.so.3 (0x0000007f8ef12000)
	libGLEW.so.2.0 => /usr/lib/aarch64-linux-gnu/libGLEW.so.2.0 (0x0000007f8ee66000)
	libSDL2-2.0.so.0 => /usr/lib/aarch64-linux-gnu/libSDL2-2.0.so.0 (0x0000007f8ed5e000)
	libopenal.so.1 => /usr/lib/aarch64-linux-gnu/libopenal.so.1 (0x0000007f8ecbf000)
	libXrandr.so.2 => /usr/lib/aarch64-linux-gnu/libXrandr.so.2 (0x0000007f8eca5000)
	libX11.so.6 => /usr/lib/aarch64-linux-gnu/libX11.so.6 (0x0000007f8eb7c000)
	libQt5OpenGL.so.5 => /usr/lib/aarch64-linux-gnu/libQt5OpenGL.so.5 (0x0000007f8eb20000)
	libQt5Multimedia.so.5 => /usr/lib/aarch64-linux-gnu/libQt5Multimedia.so.5 (0x0000007f8ea17000)
	libQt5Widgets.so.5 => /usr/lib/aarch64-linux-gnu/libQt5Widgets.so.5 (0x0000007f8e471000)
	libQt5Gui.so.5 => /usr/lib/aarch64-linux-gnu/libQt5Gui.so.5 (0x0000007f8dfe3000)
	libQt5Core.so.5 => /usr/lib/aarch64-linux-gnu/libQt5Core.so.5 (0x0000007f8da85000)
	libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f8d8f2000)
	libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f8d838000)
	libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f8d814000)
	libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f8d6bb000)
	/lib/ld-linux-aarch64.so.1 (0x0000007f8ffb0000)
	libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007f8d6a6000)
	libGLX.so.0 => /usr/lib/aarch64-linux-gnu/libGLX.so.0 (0x0000007f8d666000)
	libGLdispatch.so.0 => /usr/lib/aarch64-linux-gnu/libGLdispatch.so.0 (0x0000007f8d53a000)
	libXi.so.6 => /usr/lib/aarch64-linux-gnu/libXi.so.6 (0x0000007f8d51c000)
	libXxf86vm.so.1 => /usr/lib/aarch64-linux-gnu/libXxf86vm.so.1 (0x0000007f8d507000)
	libasound.so.2 => /usr/lib/aarch64-linux-gnu/libasound.so.2 (0x0000007f8d412000)
	libpulse.so.0 => /usr/lib/aarch64-linux-gnu/libpulse.so.0 (0x0000007f8d3c0000)
	libsndio.so.6.1 => /usr/lib/aarch64-linux-gnu/libsndio.so.6.1 (0x0000007f8d3a1000)
	libXext.so.6 => /usr/lib/aarch64-linux-gnu/libXext.so.6 (0x0000007f8d381000)
	libXcursor.so.1 => /usr/lib/aarch64-linux-gnu/libXcursor.so.1 (0x0000007f8d368000)
	libXinerama.so.1 => /usr/lib/aarch64-linux-gnu/libXinerama.so.1 (0x0000007f8d355000)
	libXss.so.1 => /usr/lib/aarch64-linux-gnu/libXss.so.1 (0x0000007f8d342000)
	libwayland-egl.so.1 => /usr/lib/aarch64-linux-gnu/libwayland-egl.so.1 (0x0000007f8d330000)
	libwayland-client.so.0 => /usr/lib/aarch64-linux-gnu/libwayland-client.so.0 (0x0000007f8d313000)
	libwayland-cursor.so.0 => /usr/lib/aarch64-linux-gnu/libwayland-cursor.so.0 (0x0000007f8d2fb000)
	libxkbcommon.so.0 => /usr/lib/aarch64-linux-gnu/libxkbcommon.so.0 (0x0000007f8d2b1000)
	libXrender.so.1 => /usr/lib/aarch64-linux-gnu/libXrender.so.1 (0x0000007f8d298000)
	libxcb.so.1 => /usr/lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007f8d266000)
	libQt5Network.so.5 => /usr/lib/aarch64-linux-gnu/libQt5Network.so.5 (0x0000007f8d0ed000)
	libGLESv2.so.2 => /usr/lib/aarch64-linux-gnu/libGLESv2.so.2 (0x0000007f8d0b7000)
	libpng16.so.16 => /usr/lib/aarch64-linux-gnu/libpng16.so.16 (0x0000007f8d07c000)
	libharfbuzz.so.0 => /usr/lib/aarch64-linux-gnu/libharfbuzz.so.0 (0x0000007f8cfdc000)
	libicui18n.so.60 => /usr/lib/aarch64-linux-gnu/libicui18n.so.60 (0x0000007f8cd1d000)
	libicuuc.so.60 => /usr/lib/aarch64-linux-gnu/libicuuc.so.60 (0x0000007f8cb48000)
	libdouble-conversion.so.1 => /usr/lib/aarch64-linux-gnu/libdouble-conversion.so.1 (0x0000007f8cb27000)
	libglib-2.0.so.0 => /usr/lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000007f8ca19000)
	libpulsecommon-11.1.so => /usr/lib/aarch64-linux-gnu/pulseaudio/libpulsecommon-11.1.so (0x0000007f8c9a0000)
	libdbus-1.so.3 => /lib/aarch64-linux-gnu/libdbus-1.so.3 (0x0000007f8c94c000)
	libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000007f8c92a000)
	libXfixes.so.3 => /usr/lib/aarch64-linux-gnu/libXfixes.so.3 (0x0000007f8c914000)
	libffi.so.6 => /usr/lib/aarch64-linux-gnu/libffi.so.6 (0x0000007f8c8fc000)
	libXau.so.6 => /usr/lib/aarch64-linux-gnu/libXau.so.6 (0x0000007f8c8e9000)
	libXdmcp.so.6 => /usr/lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007f8c8d2000)
	libfreetype.so.6 => /usr/lib/aarch64-linux-gnu/libfreetype.so.6 (0x0000007f8c829000)
	libgraphite2.so.3 => /usr/lib/aarch64-linux-gnu/libgraphite2.so.3 (0x0000007f8c7f8000)
	libicudata.so.60 => /usr/lib/aarch64-linux-gnu/libicudata.so.60 (0x0000007f8ae3f000)
	libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000007f8adcd000)
	libsystemd.so.0 => /lib/aarch64-linux-gnu/libsystemd.so.0 (0x0000007f8ad47000)
	libwrap.so.0 => /lib/aarch64-linux-gnu/libwrap.so.0 (0x0000007f8ad2e000)
	libsndfile.so.1 => /usr/lib/aarch64-linux-gnu/libsndfile.so.1 (0x0000007f8acb7000)
	libasyncns.so.0 => /usr/lib/aarch64-linux-gnu/libasyncns.so.0 (0x0000007f8aca1000)
	librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000007f8ac8a000)
	liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000007f8ac58000)
	liblz4.so.1 => /usr/lib/aarch64-linux-gnu/liblz4.so.1 (0x0000007f8ac2c000)
	libgcrypt.so.20 => /lib/aarch64-linux-gnu/libgcrypt.so.20 (0x0000007f8ab71000)
	libnsl.so.1 => /lib/aarch64-linux-gnu/libnsl.so.1 (0x0000007f8ab4c000)
	libFLAC.so.8 => /usr/lib/aarch64-linux-gnu/libFLAC.so.8 (0x0000007f8aaea000)
	libogg.so.0 => /usr/lib/aarch64-linux-gnu/libogg.so.0 (0x0000007f8aad3000)
	libvorbis.so.0 => /usr/lib/aarch64-linux-gnu/libvorbis.so.0 (0x0000007f8aa9b000)
	libvorbisenc.so.2 => /usr/lib/aarch64-linux-gnu/libvorbisenc.so.2 (0x0000007f8a9ec000)
	libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000007f8a9c7000)
	libgpg-error.so.0 => /lib/aarch64-linux-gnu/libgpg-error.so.0 (0x0000007f8a9a5000)

Hi

I am struggling trying install lr-yabasanshiro on my retropie built on jetson nano 2 gb… i seen a ares ( retropie clone ) distribution using it… any idea for how to install ?

You can clone steve laminger / ARES-Setup · GitLab and run sudo ./ares_setup.sh and run gui the scripts from the menu (Retroarch , runcommand , lr-cores from libretro )
Also the branch latest for experimental changes Files · latest · steve laminger / ARES-Setup · GitLab

for now I recommended use lr-yabasanshiro for saturn emulation.

The structure is very similar to RetroPie, just change the folder $ HOME / ARES / bios or $ HOME / ARES / roms
and the configuration files go to / opt / ares