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

IOS Dynarec(JIT) iOS 9+ patch by qwertyoruiop #4530

Closed
Alex793 opened this issue Jan 30, 2017 · 7 comments
Closed

IOS Dynarec(JIT) iOS 9+ patch by qwertyoruiop #4530

Alex793 opened this issue Jan 30, 2017 · 7 comments

Comments

@Alex793
Copy link

Alex793 commented Jan 30, 2017

Hello, qwertyoruiop just released a thing we wait since very long time, a beta JIT/Dynarec deb patch for all emulators on iOS 9+ :

https://www.reddit.com/r/jailbreak/comments/5qy2x0/beta_jitsupport_kernelless_jit_support_for_ios_9/

Hey! I just made a debian package that provides support for jit on devices after iOS 9.
This is useful for increasing performance of emulators etc.
Small changes are needed for to work on any emulator: a new function is defined in the "jitsupport.h" header (available inside the deb file in usr/include): jit_mach_vm_allocate.
This function acts mostly like mach_vm_allocate, except the returned memory has RWX permissions.
I need feedback on this one from people on 9.3.3!
beta1 deb: https://yalu.qwertyoruiop.com/com.qwertyoruiop.jitsupport_1.0.0_iphoneos-arm.deb

I installed the deb on my iOS 9.3.3 device but still crash when enable Dynarec on picodrive and PCSX rearmed, so I think need a patch to support this.

I don't know what need to be patched so I post here.

PS : Latest Yalu Jailbreak for iOS 10.X already include this patch.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@iOS4all
Copy link

iOS4all commented Jan 30, 2017

@Alex793 thank you so much for wrote this thread I knew that while ago and feeling extremely happy.
Yes now it's look like we get JIT functionality on this jailbreak because Luca is fully defeated KPP (Kernel Patch Protection) so that's why we get it. It reminds me on iOS 8.4 jailbroken by TaiG was running everything even dynarc core of pcsx.

The beta 4 is including JIT support as well as downloading deb file of JIT.
img_0004

So let's wait and see.

@Alex793
Copy link
Author

Alex793 commented Jan 30, 2017

You're welcome, very happy too ;)

Yes I know for Yalu 4, the deb file is for people on iOS 9.X because Yalu is only for iOS 10.X.

@iOS4all
Copy link

iOS4all commented Feb 1, 2017

We're hope @twinaphex will work on this to could use dynarc cores

@jack4455667788
Copy link

jack4455667788 commented Aug 17, 2018

Can anyone help point me in the right direction on how to implement this?

I guess qwertyoruiop didn't really even get to testing this one (or doing as he said he would and writing some detail on how developers could use this new function / package for working JIT), does anyone know if it even works?

I've read some of hrydgard's notes, and others - on the subject of JIT, and he makes it seem that after you enable the debugging mode to disable page restrictions and then set the memory page RW or RX depending on whether you are writing or executing (not leaving RWX on pages) things more or less work.

I am really interested in pcsx rearmed on IOS 10/11 working with JIT (non interpreter)... Do any modifications need to be made to retroarch to accommodate this, or should I just be looking for the memory allocation function call in pcsx rearmed code and swapping it out for jit_mach_vm_allocate? Any direction / advice greatly welcome!

@QcSamuel
Copy link

so retroarch has now a metal renderer only thing missing now is jit anyone working on this ?

@Spidy123222
Copy link

Spidy123222 commented Apr 21, 2021

so retroarch has now a metal renderer only thing missing now is jit anyone working on this ?

Not that I know of but you can get jit on latest iOS on idevices for other apps using a workaround using libimobiledevice. Maybe someday Somone will add debug detection to do jit and it work on cores.

@LibretroAdmin
Copy link
Contributor

@warmenhoven told me this can be closed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants