Linux has been there entire time
Linux has been there entire time
* The underlying code is relying on x86 features or is x86 ASM. In that case ya... this is going to be a bit rough - but is a super minority, especially for use cases where you'd want to use ARM
* The runtime or compiler hasn't been ported to ARM yet. For compilers, I don't think this is a problem - I think both clang and gcc are completely ready to go for armv7 and arm64. Go is good to go too. Runtimes is a bit more dodgy, but all the major (Java, C#, Python, Ruby, Perl, Javascript/Node) languages and runtimes are just fine. Maybe the only one out is rust, which doesn't have ARM as Tier 1 supported (but should just work) yet.
* Hardware support. There may not be good open source drivers for various ARM specific hardware blobs.
What else were you thinking of?
Plenty of things work very well and I'd think most people would rate those working as far more important than small compiler tweaks. NVMe, GPU support etc is vastly more important to me than compiler micro-optimizations, for instance, because those actually make day to day developer usage viable. No amount of compiler optimizations will make SD cards fast. And today, you can boot generic Linux images for whatever distro, using UEFI, on high-speed ARM systems, with fully working desktops -- including working FOSS GPU drivers, full web browsers (with working javascript JITs), and high speed storage. So I think it's shaping up pretty nicely.
I've been using it:
https://github.com/pftf/RPi4 https://rpi4-uefi.dev/
Actually what I've been doing is using my wireless router (openwrt) to serve pxe images. So the rpi sits without an SD card. It's powered via Power over Ethernet (PoE), is advertised a pxe server, gets the initial uefi & ipxe binaries, then I can boot from an image off Github or one served locally. ipxe just adds another layer of indirection for expanded fun.