LegacyUpdate icon indicating copy to clipboard operation
LegacyUpdate copied to clipboard

[Feature request] ARM32/ARM64 support

Open kristibektashi opened this issue 2 years ago • 4 comments

That way you can use Legacy Update on both ARM32 (Jailbroken Windows RT) and ARM64 (Windows 10/11) devices natively.

kristibektashi avatar Dec 02 '23 08:12 kristibektashi

Kirb and I both will need ARM devices in order to port LU over. In the case of Arm32 at least, we will need to port NSIS over and make a custom toolchain for MinGW. It'll happen at some point, but it probably won't happen for a little while.

ARM64 would be a bit easier since we can get away with using a Raspberry Pi 4 (I have one of those), that's something we can probably look into. That's probably still going to be a NSIS port and a MinGW toolchain though since we're trying to get away from having to use Visual Studio for a variety of reasons, not the least of which (in my case) being that the tools necessary to target XP are deprecated in Visual Studio 2022.

renodr avatar Dec 02 '23 17:12 renodr

Kirb and I both will need ARM devices in order to port LU over. In the case of Arm32 at least, we will need to port NSIS over and make a custom toolchain for MinGW. It'll happen at some point, but it probably won't happen for a little while.

ARM64 would be a bit easier since we can get away with using a Raspberry Pi 4 (I have one of those), that's something we can probably look into. That's probably still going to be a NSIS port and a MinGW toolchain though since we're trying to get away from having to use Visual Studio for a variety of reasons, not the least of which (in my case) being that the tools necessary to target XP are deprecated in Visual Studio 2022.

~~You could use Visual Studio 2017 which I believe supports both Windows XP and ARM64 (it definitely supports ARM32)~~

~~Edit: Now that I think about it, I don't think VS2017 supports Windows 2000, so maybe have a separate build for 2000-XP and Vista+? That way maybe NT 4 and 9x support could also be added.~~

Edit 2: Please ignore this, I didn't see the part where you mentioned that you didn't want want to use Visual Studio when I wrote this comment

kristibektashi avatar Dec 02 '23 20:12 kristibektashi

~~Also, ARM64 Windows support ARM32 apps just fine (at least before the latest Canary builds), although ARM32 Internet Explorer isn't included, which I assume is needed for Legacy Update.~~

However, you can use this fork of QEMU to emulate ARM32 Windows (both RT 8.1 and this leaked ARM32 Windows 10 build) which does have ARM32 Internet Explorer, although it is a bit slow due to emulation overhead.

And although I haven't tested this, the QEMU fork should theoretically also support KVM if you manually compile it for ARM64 Linux hosts (by default it is compiled for x86-64 Windows hosts) so that it works quite a bit faster. This however requires the host CPU to support ARM32 instructions (but it should work just fine with a Raspberry Pi 4)

kristibektashi avatar Dec 02 '23 20:12 kristibektashi

Btw a MiniGW toolchain already exists for both ARM32 and ARM64: https://xdaforums.com/t/mingw-w64-toolchain-to-recompile-apps-for-arm-in-a-ready-to-use-form.3775456/post-88013711

kristibektashi avatar Dec 02 '23 21:12 kristibektashi