Install yaba sanshiro saturn emu on nvidia jetson from source

The source are in https://github.com/devmiyax/yabause/

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 )

  • Select you BIOS SATURN folder

  • Select Opengl HW renderer are faster than Software mode

  • Select Sh2 recompiler very faster than Interpreter

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 https://drive.google.com/file/d/1TxBmMZVH1mJj7AckxThZeJlQRGNIojoz/view

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)