ish icon indicating copy to clipboard operation
ish copied to clipboard

# Support for another architecture

Open krafcima opened this issue 2 years ago • 10 comments

Support for another architecture

Would it be possible to add support for these architectures ?

  • x86_64
  • armhf
  • arm64/aarch64
  • s390x

Thanks

krafcima avatar Nov 24 '23 21:11 krafcima

We could, do you have a specific reason you need all of these architectures? Each one would be significant work and not all of them see much use…

saagarjha avatar Nov 24 '23 22:11 saagarjha

Just for understanding, how big would the work be to support aarch64? After all, any iOS device runs on that architecture, shouldn't that be the easiest to support as there wouldn't really be any need for emulation, but only some translation similar to WINE? In theory that should reduce the work needed to get anything running, shouldn't it?

Artim96 avatar Nov 25 '23 22:11 Artim96

It would be equally hard as any other architecture, for reasons mostly outlined here: https://github.com/ish-app/ish/wiki/FAQ#q-why-does-ish-emulate-at-all-cant-it-use-a-jit-compiler-or-virtualization

saagarjha avatar Nov 26 '23 02:11 saagarjha

Ok, but why is there even a need for hardware virtualisation for running aarch64 binaries on an aarch64 processor? I mean I can run aarch64 deb applications on Android through Termux, I can even run whole Linux distros through it, and I don't see any virtualisation being mentioned in the docs, other than it being a terminal emulator. So what's the big difference to how those would run on iOS? Sure, it's more based on BSD than Linux, but it's still UNIX running on an aarch64 processor.

Artim96 avatar Nov 26 '23 11:11 Artim96

well, I want to install k3s on m2 iPad Pro and iSH currently supports i686 architecture only. If it would be possible than to add just arm64/aarch64 support ?

krafcima avatar Nov 27 '23 07:11 krafcima

As far as I understand it, to run an aarch64 binary in an iOs app, it needs to:

  1. Be compiled for iOS, which is lacking certain syscalls
  2. Be stored in Resources/bin/, which is only writable at compile time

In other words: even if someone went through the Herculean effort to cross compile the entire alpine repo for iOS, patching out all the features which rely on missing syscalls, all applications would need to be included in the application with no ability to update them except for through the AppStore.

user18130814200115-2 avatar Dec 03 '23 22:12 user18130814200115-2

Jesus. Let's hope that's one of the ridiculous limitations that will be removed early next year. Even though it's unlikely.

Artim96 avatar Dec 04 '23 05:12 Artim96

I need support for aarch64 to run dotnet.

smjxpro avatar Mar 23 '24 00:03 smjxpro

I encountered the same issue to installing k3s on an M2 iPad Pro

dexin-peng avatar May 08 '24 06:05 dexin-peng

I would love arm64 support for software that builds arm binaries but not x86/i686 binaries.

rothgar avatar May 30 '24 04:05 rothgar