posit-dev / positron

Positron, a next-generation data science IDE
Other
2.5k stars 76 forks source link

R: Native support for ARM64 R on ARM64 builds of Windows #2934

Open jmcphers opened 5 months ago

jmcphers commented 5 months ago

R 4.4.0 adds experimental native binaries for ARM64 Windows:

https://blog.r-project.org/2024/04/23/r-on-64-bit-arm-windows/

As we already do on macOS, we should build a variant of ARK for ARM64 that can work natively with the matching architecture of R.

Windows doesn't support "universal" binaries, so this implies we'll likely need to ship two different ark.exe files on Windows, one x86-64 and one arm64, and match the binary to the version of R the user is using. Since it is possible (via emulation) to run x86-64 R on arm64 Windows, it is possible that a Windows machine could have several installations of R with differing architectures.

jennybc commented 5 months ago

I think this will also have implications for our R installation discovery code. Relevant bits of the blog post that caught my eye:

The directory layout is slightly different, because R “sub-architectures” are not used. Hence, e.g. Rgui.exe is located directly in bin, while it is in bin/x64 on x86_64.

R is by default installed to Program Files/R-aarch64 (unlike Program Files/R with an x86_64 build) and the default library directory is named aarch64-library (unlike win-library with an x86_64 build). This is to allow side-by-side installation with the x86_64 build, which can run on Windows/aarch64 via emulation.

coatless commented 3 months ago

👍 for ARM builds on Windows for the macOS Parallel users out there!

somethingp commented 3 months ago

👍 for Windows ARM builds now that snapdragon x laptops are out (using one right now), and more ARM windows devices are planned for the future.