News for hackers. Stuff that matters.
Re:QEMU for iOS by jsjohnst on Friday February 21, 2020 @05:58PM (#22387847)
iSH works differently. It’s not running “Linux” and it isn’t virtualizing hardware either. Anything you run has to be compiled already and the syscalls are emulated, there is no Linux kernel in iSH.
Re:QEMU for iOS by kdrag0n on Friday February 21, 2020 @06:08PM (#22387921)
iSH actually uses a semi-JIT to emulate an x86 CPU — it doesn't run ARM64 code. It basically creates an arrray of function pointers to snippets of pre-translated code. It's not a full JIT like UTM, but it's an interesting workaround for iOS' restrictions.

Official description: https://github.com/tbodt/ish#a-note-on-the-jit

Re:QEMU for iOS by saagarjha on Friday February 21, 2020 @07:46PM (#22388562)
A more accurate term for it would be threaded interpretation.
Re:QEMU for iOS by lazerl0rd on Friday February 21, 2020 @06:05PM (#22387907)
I said it was a 'usermode Linux "terminal" emulator', never said it was a VM or anything like that. IIRC the dev said he also wasn't allowed to publish it to the App Store and I assume it falls under the same catagory of "not allowed" in Apple's eyes as UTM would've had.
Re:QEMU for iOS by saagarjha on Friday February 21, 2020 @08:32PM (#22388792)
> I said it was a 'usermode Linux "terminal" emulator', never said it was a VM or anything like that.

It's a full x86 emulator.

> IIRC the dev said he also wasn't allowed to publish it to the App Store

He didn't, it's just never been tested whether it could be on the store or not.

Re:QEMU for iOS by jedieaston on Friday February 21, 2020 @09:25PM (#22388969)
Actually, someone compiled it, added ads, and put it on the App Store. Not sure if it is still there, but it got through approval.
Re:QEMU for iOS by saagarjha on Friday February 21, 2020 @10:12PM (#22389159)
Oh, that happens all the time. The real test is when the official app gets approved and stays on the App Store.
Re:QEMU for iOS by saagarjha on Friday February 21, 2020 @08:33PM (#22388794)
> Anything you run has to be compiled already

You can compile binaries on iSH and they'll run on the emulator just as all the other code does.

Re:QEMU for iOS by jsjohnst on Saturday February 22, 2020 @11:51AM (#22391943)
Compile using what? It’s form of emulation has never been complete enough to run a compiler (heck even interpreters like Python have been very brittle) in my experience as a user since the beginning, so I’m curious what you’ve seen success with.
Re:QEMU for iOS by saagarjha on Saturday February 22, 2020 @11:54AM (#22391957)
GCC works reasonably well.
Re:QEMU for iOS by jsjohnst on Saturday February 22, 2020 @12:38PM (#22392193)
Interesting, thx for the reply. I haven’t tried GCC in the last few updates, so will try again.

Edit: just tried it and indeed you are right, it works in a few cases now. Clang also works for basic test cases.