The arm instruction set should be the same. Different processors might have different extensions. The main problem is the drivers. That’s why you can’t just flash any arm image on an arm phone, it has to have the drivers for the components that come with the phone
Comment on Beyond Steam Machine: Why Valve's New ARM Support Shouldn't Be Overlooked
cron@feddit.org 1 month agoIt is, but my assumption is that ARM-based linux and ARM-based android require a different codebase.
I’m not a dev though, maybe I’m wrong and it’s easier than I thought.
bless@lemmy.ml 1 month ago
woelkchen@lemmy.world 1 month ago
It is, but my assumption is that ARM-based linux and ARM-based android require a different codebase.
cron@feddit.org 1 month ago
That approach uses virtual machines. While that is possible (otherwise we wouldn’t see it), it is probably not really optimized for gaming.
Wine / Proton / Box64 (already used for gaming on android) is using translation layers, not a full virtual machine.
soulsource@discuss.tchncs.de 1 month ago
There was also an option to just install a Debian chroot on Android, with no virtualization in-between.
The app was called Lil’Debi, but isn’t maintained any more since 2018.
woelkchen@lemmy.world 1 month ago
That approach uses virtual machines. While that is possible (otherwise we wouldn’t see it), it is probably not really optimized for gaming.
Whether or not it’s optimized for gaming is up to Google. The technology to bring Frame’s ARM Steam client onto Android exists.
MajinBlayze@lemmy.world 1 month ago
The main difference between arm Linux and arm android is how applications are packaged, (and android really wants you to build Java interfaces) but that’s easy enough to guy around. It takes some development, but doesn’t need to be a “new codebase”. The harder problems are making the ux work with different from factors.
Actually, Linux is a good example of how this works, since you can build Linux for dozens of different CPU architectures (x86, x86_64, arm, risc-v, powerpc, and the list goes on)
There are places in the code where there are bespoke instructions to optimize for a given architecture, but overall, it’s still one massive “codebase”