theia-ide / theia-apps

Theia applications examples - docker images, desktop apps, packagings
Apache License 2.0
1.04k stars 346 forks source link

Support for arm64 #411

Open samchouse opened 4 years ago

samchouse commented 4 years ago

I've tried running theia-full on arm64 Ubuntu (raspi4) and I get a build fail error because I'm on arm64 and not amd64. Could you guys add arm64 support so that I can host on my raspi?

vince-fugnitto commented 4 years ago

@XenfoMC thank you for the proposal, if you are interested in providing a multi-architecture example (for arm64) of theia-full for example, please don't hesitate to provide a pull-request: https://www.docker.com/blog/getting-started-with-docker-for-arm-on-linux/.

samchouse commented 3 years ago

@XenfoMC thank you for the proposal, if you are interested in providing a multi-architecture example (for arm64) of theia-full for example, please don't hesitate to provide a pull-request: https://www.docker.com/blog/getting-started-with-docker-for-arm-on-linux/.

@vince-fugnitto So by that do you mean amd64 and arm64 in the same one or a separate file?

marcdumais-work commented 3 years ago

I read quickly the linked article (thanks @vince-fugnitto ), and I may be wrong, but I do not expect that we can achieve running an image like theia-full on a different arch so easily.

I have built and run the Theia example application (Electron) on my own raspi4 and the performance is not great, specially the startup. So I do not think a solution that uses emulation (QEMU) to run x86-64 software on this little arm CPU would work too well, practically (I expect ~5-10x slower than native binaries because emulation).

This leaves the possibility to have an image that's meant specifically for this architecture, on which we install only software meant for it. Maybe starting with a smaller image than theia-full would make it easier?

samchouse commented 3 years ago

Maybe, all I know is that my actual computers are so old that if I host Theia it'll "blow up" my computer. I'm not really familiar with the different architectures.