I wish the https://github.com/devos50/qemu-ios project would evolve to support iPhone OS 3.x to experience many early iPhone apps for digital preservation's sake!
That reminds me I once emulated a NumWorks N0100 [1] and a HP Prime G1 [2] with QEMU, to the point where the emulators managed to run the official firmware.
Here's a fun way that this project could be applied: Take a phone that has pretty good hardware support for postmarketOS. Install a bare bones pmOS image, plus this version of QEMU, and boot iOS on and Android phone. It probably would be possible to further customize QEMU to forward all the phone hardware (modem, Bluetooth, etc.) into the iOS VM.
> Take a phone that has pretty good hardware support for postmarketOS
The first problem with this is finding a phone with postmarketOS that can both use the camera and take phone calls properly. I'd settle for that without the iOS/Android emulation...
Ah yes. It appears that nothing has changed in the last decade for the Android ROM community. Still the same experience as downloading a custom ROM from "XDA Developers" for your HTC phone in 2016 and then finding out that it can't make phone calls and is bugged beyond comprehension.
If it’s just for fun, sure. However in practice this would be incredibly inefficient and not a usable device by any means, plus it would be a tremendous amount of work.
No mention of network connectivity - I suppose they aren't emulating the wifi or celluar modem chipsets? Wondering how they might connect this emulated device to the Internet, perhaps ethernet over USB or something like that?
Apple will never consider doing that. Their actions speak to the exact opposite: total control of their devices and ecosystem, non-cooperation with other companies on standards, stringent app store controls. They gain nothing, in their eyes, to allow that development model.
Even if they did it would take a tour de force to make reality. The whole iOS development stack very heavily depends on macOS — Xcode is written in Objective-C/Swift + AppKit for example and the iOS Simulator just runs the iOS userland in a phone frame and lets macOS furnish the Darwin half.
Practically speaking, they’d at minimum have to beef up the internal Yellow Box descendant they’d been previously using to make Safari and iTunes run on Windows (essentially porting large chunks of macOS to Windows) to be able to support Xcode, or following the direction of their more recent iCloud, Music, and TV apps write a WinUI-based version of Xcode for Windows paired with an all new iOS Emulator from scratch.
It’d be a huge investment with returns that are unclear at best.
Apple uses its software to sell its hardware. That's why iMessage for Android never happened. Apple would need to see the world differently for this to happen. It'd be about as big as when as when Microsoft halfway embraced Linux with WSL and .NET for Linux.
I wish the https://github.com/devos50/qemu-ios project would evolve to support iPhone OS 3.x to experience many early iPhone apps for digital preservation's sake!
https://github.com/touchHLE/touchHLE is also great but needs patches for all but the most basic of apps.
QEMU-emulated iPhone 11 could support iOS 13.x to iOS 18.x, https://github.com/ChefKissInc/QEMUAppleSilicon
We would need QEMU support for iPhone 7, to run 32-bit apps in iOS 10.
Would be truly amazing to use those old awesome apps and play some of the early games that have no equivalent today.
Please recommend some games
6 replies →
That reminds me I once emulated a NumWorks N0100 [1] and a HP Prime G1 [2] with QEMU, to the point where the emulators managed to run the official firmware.
- [1] https://github.com/boricj/qemu/tree/numworks_calculators
- [2] https://github.com/boricj/qemu/tree/s3c2416-boricj
Here's a fun way that this project could be applied: Take a phone that has pretty good hardware support for postmarketOS. Install a bare bones pmOS image, plus this version of QEMU, and boot iOS on and Android phone. It probably would be possible to further customize QEMU to forward all the phone hardware (modem, Bluetooth, etc.) into the iOS VM.
Very amusing idea, but:
> Take a phone that has pretty good hardware support for postmarketOS
The first problem with this is finding a phone with postmarketOS that can both use the camera and take phone calls properly. I'd settle for that without the iOS/Android emulation...
A lot of snapdragon 845 phones tend to work fairly well no?
I'm not sure what the status of the newer devices is but those older oneplus 6/poco f1 era phones tend to work well with mainline kernel:
https://wiki.postmarketos.org/wiki/Mainlining#Supported_SoCs
1 reply →
Ah yes. It appears that nothing has changed in the last decade for the Android ROM community. Still the same experience as downloading a custom ROM from "XDA Developers" for your HTC phone in 2016 and then finding out that it can't make phone calls and is bugged beyond comprehension.
9 replies →
If it’s just for fun, sure. However in practice this would be incredibly inefficient and not a usable device by any means, plus it would be a tremendous amount of work.
Kinda like paravirtualization? That sounds like a fun project!
Archived version: https://archive.ph/l1CwO
Does this mean I can finally do things like testing in safari and compiling to iOS on a Linux system, without owning Apple hardware?
https://github.com/ChefKissInc/QEMUAppleSilicon
> Apple Silicon devices emulated on QEMU, currently only iPhone 11.
demo video: https://nitter.poast.org/eshard/status/1908162866609311962
Followed the instructions to run it: https://github.com/TrungNguyen1909/qemu-t8030/wiki/Bringing-... it has crashed on me more times than I care to admit. Pretty cool, though.
No mention of network connectivity - I suppose they aren't emulating the wifi or celluar modem chipsets? Wondering how they might connect this emulated device to the Internet, perhaps ethernet over USB or something like that?
iOS supports usb Ethernet.
What would it take for Apple to embrace multiplatform iOS development?
Apple will never consider doing that. Their actions speak to the exact opposite: total control of their devices and ecosystem, non-cooperation with other companies on standards, stringent app store controls. They gain nothing, in their eyes, to allow that development model.
Even if they did it would take a tour de force to make reality. The whole iOS development stack very heavily depends on macOS — Xcode is written in Objective-C/Swift + AppKit for example and the iOS Simulator just runs the iOS userland in a phone frame and lets macOS furnish the Darwin half.
Practically speaking, they’d at minimum have to beef up the internal Yellow Box descendant they’d been previously using to make Safari and iTunes run on Windows (essentially porting large chunks of macOS to Windows) to be able to support Xcode, or following the direction of their more recent iCloud, Music, and TV apps write a WinUI-based version of Xcode for Windows paired with an all new iOS Emulator from scratch.
It’d be a huge investment with returns that are unclear at best.
3 replies →
Which is sad because a lot more people might consider buying their products if one was able to try the products with non-ecosystem devices.
Their devices are well designed and generally last for a long time. They also retain their value in case you want to resell them.
Instead, I’m constantly weighing the lock-in from their walled garden - should I go all in or should remain in control over my devices.
5 replies →
Apple uses its software to sell its hardware. That's why iMessage for Android never happened. Apple would need to see the world differently for this to happen. It'd be about as big as when as when Microsoft halfway embraced Linux with WSL and .NET for Linux.
A total shift of corporate culture
Apple is a hardware company. Why would they want to support anything on hardware they don’t sell?
Internet Explorer levels of dissolution threat.
Death treats and torture I think
Why would Apple do that?
Is there a repository to reproduce this?
Do we think this is similar to the approach used by Corellium?
It's QEMU based i think that corellium are using their proprietary hypervisor
Yes, Corellium does not use QEMU.
Hugged to death?
I believe so, tried to access but wasn't able
Somebody posted an archive version in the comments
Edit: Removed. I made a stupid joke about a serious topic
[flagged]
There is no performance benchmark that I can see.
I think the GP is using an LLM to post. His other comments are very similar and it would explain making up nonexistent benchmarks.
3 replies →