[Download] RetroArch 1.7.7 + other emulators (iOS)

My bad, I thought that because the website and the repo had the same version that it would be the same, but using the one off of the site works. Thanks!

1 Like

Hi Guys!

Has anybody tried that solution for Retroarch on TVOS? Will this make our Core working again? https://forum.kodi.tv/showthread.php?tid=326281&pid=2870213#pid2870213

Hey @Weedy_Weed_Smoker just so you are aware, you are not compiling all the cores possible to include. Some of them that work 100% fine in iOS retroarch are not included by libretro-build-ios-arm64.sh (for example, quasi88 compiles and runs fine, but is not included in the default list when you run that command without a parameter).

I built a little script to basically bypass that and force trying to build each core by hand. With this, I was able to build 83 different cores via the arm64 script (and up to 95 if we include ios9-buildable cores).

Please find it below. It requires an “output” folder currently and a “cores” folder on the Desktop of your home directory, but that’s easily changed.

git pull
rm ./dist/*/*dylib
rm failed.txt
for i in `cat $(find recipes -iname "cores-*" -not -path "*.conf") | cut -d " " -f 1 | sort -n | uniq | sed '/^$/d'`; do
	./libretro-fetch.sh $i
	./libretro-build-ios-arm64.sh $i
	if [ ! -f "./dist/ios-arm64/"$i"_libretro_ios.dylib" ]; then
		./libretro-build-ios10.sh $i
		if [ ! -f "./dist/ios10/"$i"_libretro_ios.dylib" ]; then
			./libretro-build-ios9.sh $i
			if [ ! -f "./dist/ios9/"$i"_libretro_ios.dylib" ]; then
				./libretro-build-ios.sh $i
				if [ ! -f "./dist/ios/"$i"_libretro_ios.dylib" ]; then
					./libretro-build-ios-theos.sh $i
					if [ ! -f "./dist/theos_ios/"$i"_libretro_ios.dylib" ]; then
						echo $i >> failed.txt
					fi
				fi
			fi
		fi
	fi
done
rm ./retroarch/pkg/apple/iOS/modules/*dylib
cp ./dist/theos_ios/*.dylib ./retroarch/pkg/apple/iOS/modules/
cp ./dist/ios9/*.dylib ./retroarch/pkg/apple/iOS/modules/
cp ./dist/ios/*.dylib ./retroarch/pkg/apple/iOS/modules/
cp ./dist/ios10/*.dylib ./retroarch/pkg/apple/iOS/modules/
cp ~/Desktop/cores/*dylib ./retroarch/pkg/apple/iOS/modules/
cp ./dist/ios-arm64/*dylib ./retroarch/pkg/apple/iOS/modules/
rm ~/Desktop/cores/*
cp ./retroarch/pkg/apple/iOS/modules/ ~/Desktop/cores/
cd retroarch
git stash
git stash drop
git pull
rm -rf ./pkg/apple/build/Release-iphoneos/*
xcprovisioner --target RetroArchiOS11 --configuration Release --specifier "Insert Your Provisioning Profile Name Here" --identity "Insert Your Developer Certificate Name Here" --project pkg/apple/RetroArch_iOS11.xcodeproj
xcodebuild -target RetroArchiOS11 -configuration Release -project pkg/apple/RetroArch_iOS11.xcodeproj
COMMITVERSION=$(git rev-parse HEAD)
zip -r output/RetroArchiOS11-$COMMITVERSION.ipa ./pkg/apple/build/Release-iphoneos/RetroArchiOS11.app/

The last couple steps require you have xcprovisioner, which you can install simply by saying sudo gem install xcprovisioner. However, these steps are not strictly required - they simply bypass the need to open up xcode and allow you to build retroarch itself in the CLI.

Also, current versions of retroarch on the github seem to require the assets.zip file placed in there preemptively during build. Annoying, but true even for the “proper” way.

With this, I was able to compile the following cores on arm64:

2048_libretro_ios.dylib
4do_libretro_ios.dylib
81_libretro_ios.dylib
bluemsx_libretro_ios.dylib
bsnes_accuracy_libretro_ios.dylib
bsnes_balanced_libretro_ios.dylib
bsnes_mercury_accuracy_libretro_ios.dylib
bsnes_mercury_balanced_libretro_ios.dylib
bsnes_mercury_performance_libretro_ios.dylib
bsnes_performance_libretro_ios.dylib
cannonball_libretro_ios.dylib
cap32_libretro_ios.dylib
crocods_libretro_ios.dylib
desmume_libretro_ios.dylib
dosbox_libretro_ios.dylib
fbalpha2012_cps1_libretro_ios.dylib
fbalpha2012_cps2_libretro_ios.dylib
fbalpha2012_libretro_ios.dylib
fbalpha2012_neogeo_libretro_ios.dylib
fbneo_libretro_ios.dylib
fceumm_libretro_ios.dylib
ffmpeg_libretro_ios.dylib
fmsx_libretro_ios.dylib
freechaf_libretro_ios.dylib
fuse_libretro_ios.dylib
gambatte_libretro_ios.dylib
gearboy_libretro_ios.dylib
gearsystem_libretro_ios.dylib
genesis_plus_gx_libretro_ios.dylib
gme_libretro_ios.dylib
gpsp_libretro_ios.dylib
gw_libretro_ios.dylib
handy_libretro_ios.dylib
hatari_libretro_ios.dylib
mame2000_libretro_ios.dylib
mame_libretro_ios.dylib
mednafen_gba_libretro_ios.dylib
mednafen_lynx_libretro_ios.dylib
mednafen_ngp_libretro_ios.dylib
mednafen_pce_fast_libretro_ios.dylib
mednafen_pcfx_libretro_ios.dylib
mednafen_psx_libretro_ios.dylib
mednafen_saturn_libretro_ios.dylib
mednafen_snes_libretro_ios.dylib
mednafen_supergrafx_libretro_ios.dylib
mednafen_vb_libretro_ios.dylib
mednafen_wswan_libretro_ios.dylib
melonds_libretro_ios.dylib
meteor_libretro_ios.dylib
mgba_libretro_ios.dylib
mrboom_libretro_ios.dylib
mu_libretro_ios.dylib
nestopia_libretro_ios.dylib
np2kai_libretro_ios.dylib
nxengine_libretro_ios.dylib
o2em_libretro_ios.dylib
pocketcdg_libretro_ios.dylib
pokemini_libretro_ios.dylib
prboom_libretro_ios.dylib
prosystem_libretro_ios.dylib
px68k_libretro_ios.dylib
quasi88_libretro_ios.dylib
quicknes_libretro_ios.dylib
reminiscence_libretro_ios.dylib
snes9x2002_libretro_ios.dylib
snes9x2005_libretro_ios.dylib
snes9x2010_libretro_ios.dylib
snes9x_libretro_ios.dylib
squirreljme_libretro_ios.dylib
stella2014_libretro_ios.dylib
stella_libretro_ios.dylib
tgbdual_libretro_ios.dylib
tyrquake_libretro_ios.dylib
vba_next_libretro_ios.dylib
vbam_libretro_ios.dylib
vecx_libretro_ios.dylib
vice_x128_libretro_ios.dylib
vice_x64_libretro_ios.dylib
vice_xplus4_libretro_ios.dylib
vice_xvic_libretro_ios.dylib
virtualjaguar_libretro_ios.dylib
xrick_libretro_ios.dylib
yabause_libretro_ios.dylib
1 Like

@jet082

As the Retroarch build for tvOS 13 needs cores build against the new tvOS SDK, I would like to use your script to build the matching cores by myself to make them work on my ATV4k.

BUT, I am no developer. :frowning:

Can you adapt your script so we can use it to build the cores for tvos SDK, please? Or can you atleast name the things to change, so I can modify the script by myself? I can complie Retroarch by following the official build how to, But there is no words for the cores as they will be separately supplied…

We must use the latest Xcode beta for building for tvOS 13

Big thanks in adavance!

URBANsUNITED

I am running the iOS 13 beta (compiling using the latest xcode beta) and the script generates IPAs that run just fine on my iPad. I would guess that it would work for tvOS as well, but I do not know what the proper settings are for that. My guess is you’d need to change the xcprovisioner/xcodebuild line.

I have fixed a number of other cores. I have also updated my script and will be maintaining it here:

@TyroneSlothrop I do not know if you are interested still, but TIC-80 has been compiled for ios-arm64. You can build it yourself using my thread or wait until it is uploaded onto @Weedy_Weed_Smoker’s repository.

I apologize for the necromancy, but since you requested this one by name, I wanted to make sure you did not miss it.

2 Likes

It’s been awhile since I’ve posted here. Hope everyone is doing well. I have gotten the DolphinIOS to work on my phone, it’s awesome. (I know it’s still somewhat “experimental”) I just have a few questions. When I click on “settings” it force closes the app instantly, is it supposed to do that? I can’t do any of the regular emulator things like save states, load states, etc. The main question that I have is with the Mifi Controller. I bought the SteelSeries like I was recommended, and the emulator knows I have it on (since the on-screen buttons disappear), but I’m not getting any function out of it. It’s impossible to play Resident Evil 4 with touch screen buttons. Thanks for reading.

@FlashyLatin Hi!

I will soon replace this version with the “more” official one whenever it includes controller support…

For this version to work with controllers, you need to put the “Config” folder from : /Applications/Dolphin.app/Sys/

into :

/var/mobile/Containers/Data/Application/(Dolphin’s folder)/Documents/

@Weedy_Weed_Smoker Good evening! Thanks for the response!

I did that to get the emulator to work and read roms. It detects the remote, but none of the buttons do anything. I know it detects the remote because as soon as it’s off or on the on screen buttons either appear or disappear. Anything else you can think of? Iphone XS Max, IOS 12.0.1 (16A405) on Chimera.

@FlashyLatin Maybe try the GC version if the game you’re trying works with the GC controller, or the other controller settings I just uploaded here : https://www.mediafire.com/file/tdnucwwyk3ctv17/Dolphin_Wii_controller_profiles.zip/file

Put them in the Config folder, and make a copy/rename the appropriate one with the name “WiimoteNew.ini”

It’s the same for both GC and Wii games/emulators. Neither of them react to the SteelSeries Nimbus remote or the X-Box one Bluetooth controller, I don’t have a GC control, I do have some Switch remotes I’ve yet to try, but they’re the Joy-Cons and they have limited buttons. These files you’re having me download and paste in the config, are they for the GC or are they exclusively for the Wii? I was wanting the GC to work more than I wanted the Wii to work, at least for now.

@FlashyLatin the devs porting it say their “more” official version supports only jailbroken iOS, and support only Unc0ver/checkra1n…

I’m not sure why, but you could give Unc0ver a try, which is the better Jailbreak in comparison to Chimera, anyway…

I will try iOS 12 anyway, because I only tried it with iOS 13 jailbroken with checkra1n for now…

@Weedy_Weed_Smoker I remember you told me that awhile ago when I was having Provenance issues and the N64 bios (or whatever it’s called). Do I have to upgrade IOS? Will I lose all my hacks? I just have so much with Chimera that I’ve been scared to start from scratch. A part from a few things here and there it’s done what I’ve wanted from a jailbreak.

@FlashyLatin Could you try removing the Set UID and Set GID flags permissions from the app executable (/Applications/DolphinGC.app/DolphinGC) with Filza (or “chmod -s /Applications/DolphinGC.app/DolphinGC” with the terminal or ssh…) ?

@Weedy_Weed_Smoker

I don’t think I follow, I don’t see the Set UID or Set GID flag permissions that you’re asking me to remove. Here is what I see in that directory in Filza:

@FlashyLatin Click the (i) next to the DolphinGC executable…

@Weedy_Weed_Smoker

So just click on “restricted delete”?:

@FlashyLatin Just uncheck set uid and set gid