ChefKissInc / QEMUAppleSilicon

Apple Silicon devices emulated on QEMU, currently only iPhone 11. With SEP and SpringBoard, eventually
https://chefkissinc.github.io/applehax/qemu-as/
Other
252 stars 19 forks source link

main OS gets stuck in data migration #26

Open VisualEhrmanntraut opened 3 months ago

VisualEhrmanntraut commented 3 months ago

Need to further implement the simulated SEP.

waterdragon78 commented 3 months ago

What’s the status on springboard and OOB setup?

VisualEhrmanntraut commented 3 months ago

@waterdragon78 One of the requirements to get to the UI is getting past the data migration step. The data migration step is ran even if the device has been newly restored, and it installs things like apps (Calculator, etc).

We have attempted to patch all the blocking requirements out and the UI does show up and if we bypass the activation we also get to the Home Screen. Below is how that looks like:

Screenshots
aellul27 commented 3 months ago

Need to further implement the simulated SEP.

Is this why the ios install halts at entering copy_sep?

VisualEhrmanntraut commented 3 months ago

No, you did something wrong.

Anonymous941 commented 3 months ago

@waterdragon78 One of the requirements to get to the UI is getting past the data migration step. The data migration step is ran even if the device has been newly restored, and it installs things like apps (Calculator, etc).

We have attempted to patch all the blocking requirements out and the UI does show up and if we bypass the activation we also get to the Home Screen. Below is how that looks like:

Wow, that's amazing that you're this close. I never thought open-source iOS emulation would happen, let alone the iPhone 11...

KneesDev commented 3 months ago

Any guides here, like https://github.com/TrungNguyen1909/qemu-t8030/wiki/Bringing-up-the-emulator?

VisualEhrmanntraut commented 3 months ago

No, sorry. This is just the upstream commits plus some patches to some files, controlled using a VNC daemon inserted into the system. It's not user-intuitive at all. We might make a blog post about this, but I'd recommend you wait until we have finished implementing enough components so patches aren't required.

KneesDev commented 3 months ago

Ah okay, thanks!

GradedWarrior commented 1 month ago

@waterdragon78 One of the requirements to get to the UI is getting past the data migration step. The data migration step is ran even if the device has been newly restored, and it installs things like apps (Calculator, etc).

Could you possibly make a docker image with it setup?

VisualEhrmanntraut commented 1 month ago

@waterdragon78 One of the requirements to get to the UI is getting past the data migration step. The data migration step is ran even if the device has been newly restored, and it installs things like apps (Calculator, etc).

Could you possibly make a docker image with it setup?

No.

VisualEhrmanntraut commented 1 month ago

Here's some videos and screenshots

click to expand https://github.com/user-attachments/assets/b4208338-920e-4e82-9a02-0423634382c4 https://github.com/user-attachments/assets/a60eb5b8-313e-43af-b0eb-eac0c169c1e5 ![LockScreen_FixedAspectRatio](https://github.com/user-attachments/assets/96351274-0ca4-4e02-a641-7f1d21124eea) ![HomeScreen_FixedAspectRatio](https://github.com/user-attachments/assets/385e1602-039a-4cae-9492-37b7da557263)
VisualEhrmanntraut commented 1 month ago

By the way, this fork is going to become obsolete; I am in the process of writing my own emulator from scratch in Rust. This will also allow for graphics acceleration via AGX emulation and HiDPI support and faster development times with less bugs. Once I finish on-going work with the ChefKiss website (https://chefkissinc.github.io) I am going to make a technical post in it with patches to get to the UI so you all can play around while we make a better more user-friendly version.

aspauldingcode commented 1 month ago

By the way, this fork is going to become obsolete; I am in the process of writing my own emulator from scratch in Rust. This will also allow for graphics acceleration via AGX emulation and HiDPI support and faster development times with less bugs.

Holy sh*t dude you're awesome. I'm looking forward to this in the future.

P.S. thanks for NootedRed. Awesome projects!

Anonymous941 commented 1 month ago

Wow, this is so exciting. I've been waiting for years for an iOS emulator to be made that's not some proprietary cloud service or a scam

GradedWarrior commented 1 month ago

Here's some videos and screenshots

So fascinating! In the first video, the flashlight and camera shortcut are cut off and the icon grid is overlapping and the home bar is still at the proper location then in the later images, it seems to be all fixed, what was the cause of the former shorter screen?

VisualEhrmanntraut commented 1 month ago

Here's some videos and screenshots

So fascinating! In the first video, the flashlight and camera shortcut are cut off and the icon grid is overlapping and the home bar is still at the proper location then in the later images, it seems to be all fixed, what was the cause of the former shorter screen?

Just the aspect ratio of the resolution previously used was not expected. Seems to not be very adaptive to different aspect ratios.

GradedWarrior commented 1 month ago

Would your emulator allow an easy way to experiment with the aspect ratio?

VisualEhrmanntraut commented 1 month ago

Would your emulator allow an easy way to experiment with the aspect ratio?

Well, obviously this issue is with iOS and not with the emulator. If the resolution is kept native the UI should look fine. I'm not sure how exactly I'm going to handle resolution, but I think it would be fun to be able to mess with the aspect ratio and cause iOS to look funky. I will have to warn you however that you can't change the resolution of the internal display while iOS is running because it reads it only once.

GradedWarrior commented 1 month ago

I'm not sure how exactly I'm going to handle resolution, but I think it would be fun to be able to mess with the aspect ratio and cause iOS to look funky.

Yes, I'm interested in that.

nick-botticelli commented 1 month ago

@waterdragon78 One of the requirements to get to the UI is getting past the data migration step. The data migration step is ran even if the device has been newly restored, and it installs things like apps (Calculator, etc).

We have attempted to patch all the blocking requirements out and the UI does show up and if we bypass the activation we also get to the Home Screen. Below is how that looks like:

Screenshots

Hey, I'm super curious what patches you made to get the UI to show up! I've been trying to get past the same Data Migration step on iOS 15. I've been working on hacking iOS to run on vma2 (Virtualization.framework), and have only gotten PreBoard.app to show up, otherwise, my attempts to patch Data Migration seem to get stuck on a black screen, and I wonder if your patches would make the difference...

VisualEhrmanntraut commented 1 month ago

@waterdragon78 One of the requirements to get to the UI is getting past the data migration step. The data migration step is ran even if the device has been newly restored, and it installs things like apps (Calculator, etc). We have attempted to patch all the blocking requirements out and the UI does show up and if we bypass the activation we also get to the Home Screen. Below is how that looks like: Screenshots

Hey, I'm super curious what patches you made to get the UI to show up! I've been trying to get past the same Data Migration step on iOS 15. I've been working on hacking iOS to run on vma2 (Virtualization.framework), and have only gotten PreBoard.app to show up, otherwise, my attempts to patch Data Migration seem to get stuck on a black screen, and I wonder if your patches would make the difference...

Responded about this to your Telegram message.

VisualEhrmanntraut commented 1 month ago

By the way, I should mention that me and (mostly) @chris-pcguy have been silently working on getting sepOS emulation working the past year. He seems to be reaching close to the finish line. It is possible we'll get the emulated SEP working before the simulated one.

Anonymous941 commented 1 month ago

If this is completed, where will you put it? Will there be a comment on this issue or somewhere else?

VisualEhrmanntraut commented 2 days ago

I forgot to mention that SEP emulation was indeed completed, you can see it in the feat-sep_emu branch

Anonymous941 commented 2 days ago

@VisualEhrmanntraut Does this mean I can try to set it up now, or is there another hurdle?

VisualEhrmanntraut commented 2 days ago

Well, no, there's still a lot of hoops to jump through. You need a decrypted SEP/OS, SEP ROM, you need to patch the filesystem to remove some graphics-acceleration-related things.

VisualEhrmanntraut commented 2 days ago

(The filesystem patches will be released soon-ish, I'm waiting on the security research company that made these patches to see whether I'll be releasing them or if they'll be. But I will let everyone know here.)

VisualEhrmanntraut commented 2 days ago

(amongst the patches will be a data migration skip patch, so you can use the incomplete SEP simulation in case anyone wants to avoid the whole SEP emulation)

jessem542 commented 2 days ago

(amongst the patches will be a data migration skip patch, so you can use the incomplete SEP simulation in case anyone wants to avoid the whole SEP emulation)

So, simulated SEP requires to skip data migration step and that's why most default apps won't show up in the screenrecord video you shared? With a full emulated SEP, those apps could be loaded into the system and we could expect a normal iOS behavior (beside graphics acceleration, bugs and cpu slow emulation)?

VisualEhrmanntraut commented 2 days ago

@jessem542 I guess.