Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JIT isn't recognized on iOS <14 #538

Open
fomalsd opened this issue Feb 22, 2022 · 13 comments
Open

JIT isn't recognized on iOS <14 #538

fomalsd opened this issue Feb 22, 2022 · 13 comments
Labels
bug Something isn't working

Comments

@fomalsd
Copy link

fomalsd commented Feb 22, 2022

Platform / OS / Hardware: iPadOS 13.4

Installed via AltStore 1.3.6 + AltServer 1.5b8 with paid developer account

Github hash: 20571c5

Hardware: iPad Pro 11 2018

Description of the Issue
Flycast thinks JIT should be enabled remotely even for older iOS versions that don't need that at all:
JIT Status: Failed: Error Domain=com.rileytestut.AltServer Code=3 "AltServer could not find this device."

Other apps that use AltJIT, like Play! and UTM start up with JIT already enabled, so it's not an issue on my side.

Screenshots

IMG

@fomalsd fomalsd added the bug Something isn't working label Feb 22, 2022
@flyinghead
Copy link
Owner

This message only says that it couldn't connect to AltServer. It doesn't mean that JIT isn't enabled (or that JIT is needed on this iOS version). If you enable JIT for Flycast manually through AltServer, this message will still be displayed.

Does Flycast work on this version of iOS?

@vkedwardli
Copy link
Collaborator

For iOS 13.4, you still need to enable JIT locally thru the psychicpaper exploit, I'm not sure if it is supported in the source code level.

@fomalsd
Copy link
Author

fomalsd commented Feb 24, 2022

@flyinghead by default it crashes when trying to run any game (even in Interpreter mode).
If I connect iPad by wire and select "Enable JIT" in AltServer both Dynarec and Interpreter start working, games run fine.
But from what I understand AltKit should handle this automatically, since I don't have to enable JIT manually in other projects that utilize AltKit

@Spidy123222
Copy link

For iOS 13.4, you still need to enable JIT locally thru the psychicpaper exploit, I'm not sure if it is supported in the source code level.

The same method JitStreamer and altserver uses still works down to plain iOS 13 and phycicpaper isn't needed.

@vkedwardli
Copy link
Collaborator

@Spidy123222 yes I'm referring to the fact that apps using the psychicpaper create an illusion that iOS 13 have built-in JIT support. And you are right that using external tools can enable JIT on iOS 13 also.

@flyinghead
Copy link
Owner

@fomalsd You shouldn't have to enable JIT manually. I did a quick test by installing Flycast through the AltStore trusted source and it automatically enables JIT at startup by contacting AltServer.
image

I'm not sure it works when sideloading though. It wasn't working in the past but it may have been fixed in recent AltStore versions.
The AltServer could not find this device. message usually means that AltStore didn't update the device UDID at Flycast install time.

@fomalsd
Copy link
Author

fomalsd commented May 27, 2022

@flyinghead just tried the most recent combo of AltServer 1.5 + AltStore 1.5 + Flycast 1.3 3d5fd61 from trusted repo
– it still crashes on game launch on iPadOS 13.4
JIT status states the following:
Failed: Error Domain=com.rileytestut.AltServer Code=-1 "(null)" UserInfo={NSUnderlyingError=0x280fa72d0 {Error Domain=AltServer.DeveloperDiskError Code=0 "(null)"}}

IMG_3428

@flyinghead
Copy link
Owner

This looks like an error returned by AltServer. Does manual JIT enabling works wih AltServer?

@fomalsd
Copy link
Author

fomalsd commented May 27, 2022

No, actually it doesn't. After a while AltServer says
The URL to download the Developer disk image could not be determined.
for both wired and wireless connections
Scr 2022-05-27 в 21 18 49

But it shouldn't need AltServer for that at all since on iOS 13.4 JIT can be enabled on-device with just the AltStore app using psychicpaper exploit

@vkedwardli
Copy link
Collaborator

I'm not sure if psychicpaper is still being supported by AltStore / AltKit?

altstoreio/AltKit#7 (oh hi~)
altstoreio/AltStore#613

@Spidy123222
Copy link

Spidy123222 commented May 28, 2022

I'm not sure if psychicpaper is still being supported by AltStore / AltKit?

altstoreio/AltKit#7 (oh hi~)

altstoreio/AltStore#613

That is correct and most of the programs that used it before no longer uses it or got broken from updates and was patched after iOS 13.4.1. You will still get a prompt to use it on AltStore app but it will not work on 13.4.1 and below. I actually personally used it until it didn't work.

Altkit isn't phycicpaper, Altkit is just a bunch of tools developers can use but I'm pretty sure your trying to mention altjit function in altkit where it activates a debugger to the app which isn't exclusive to AltStore. The only way one can tell if the activation worked is to try it or if the app had a indication it was being debugged like how DolphiniOS does their attach debugger popup.

@Spidy123222
Copy link

Spidy123222 commented May 28, 2022

No, actually it doesn't. After a while AltServer says

The URL to download the Developer disk image could not be determined.

for both wired and wireless connections

Scr 2022-05-27 в 21 18 49

But it shouldn't need AltServer for that at all since on iOS 13.4 JIT can be enabled on-device with just the AltStore app using psychicpaper exploit

This issue has been reported that altserver not finding url for the developerdiskimage. For now I'd suggest using a different program to debug flycast to see if it's just AltStore. I've had quite a bit of unreliability using altjit's automations.

@fomalsd
Copy link
Author

fomalsd commented Jun 15, 2022

I have since upgraded to iPadOS 15, but this issue might still be relevant for people on older iOS versions, so leaving it open

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants