RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

Windows Arm64 release

Open Xazax-hun opened this issue 2 years ago • 10 comments

It would be nice to be able to download a native installer for Windows on Arm64.

Xazax-hun avatar Dec 02 '23 07:12 Xazax-hun

Bump. Especially with the new Qualcomm X Elite.

gorban avatar Jun 21 '24 01:06 gorban

We currently don't have any ARM runners to be able to natively compile Windows or Linux on ARM. Github is adding some soon, though, so we might be able to get some automated builds going when they're widely available.

hizzlekizzle avatar Jun 21 '24 13:06 hizzlekizzle

I've personally used this in my GitHub workflows to cross-compile ARM64 builds. This was enough to do an ARM64 build on the x64-based runner.

      - name: Configure msvc
        uses: ilammy/msvc-dev-cmd@v1
        with:
          arch: x64_arm64

Wunkolo avatar Jul 31 '24 00:07 Wunkolo

sorry to ressurect this, but i have a windows arm64 laptop. if yall can guide me i can try to help

0bscenity avatar Mar 25 '25 14:03 0bscenity

sorry to ressurect this, but i have a windows arm64 laptop. if yall can guide me i can try to help

I think it should be able to be built with msys2 clangarm64 :)

Kreijstal avatar Apr 20 '25 09:04 Kreijstal

I've personally used this in my GitHub workflows to cross-compile ARM64 builds. This was enough to do an ARM64 build on the x64-based runner.

  - name: Configure msvc
    uses: ilammy/msvc-dev-cmd@v1
    with:
      arch: x64_arm64

Updating this bit of info to say that Github seems to support windows-on-arm runners now: https://github.blog/changelog/2025-04-14-windows-arm64-hosted-runners-now-available-in-public-preview/

Wunkolo avatar Apr 20 '25 17:04 Wunkolo

sorry to ressurect this, but i have a windows arm64 laptop. if yall can guide me i can try to help

I think it should be able to be built with msys2 clangarm64 :) @Kreijstal hi, did you have any trouble installing msys2 on windows arm laptop? mine stuck at welcome page after clicking Next

Image

beadex avatar May 08 '25 07:05 beadex

Any updates here? Now we have GitHub runners and the arm64 toolchains are also getting better.

Xazax-hun avatar Nov 22 '25 08:11 Xazax-hun

Any updates here? Now we have GitHub runners and the arm64 toolchains are also getting better.

I think the main issue is RetroArch doesn't use GitHub runners for automated builds, it uses buildbot infrastructure with GitLab CI.

talynone avatar Nov 22 '25 14:11 talynone

I saw that there are actually build actions for this repository.

As an experiment I forked it and created a Windows 11 ARM64 native build GitHub workflow based on the existing MSVC workflow here:

https://github.com/talynone/RetroArch/blob/master/.github/workflows/Windows-ARM64.yml

It built the binary and seems to work fine and is listed as ARM64 native in task manager.

Not really useable without ARM64 libretro cores, I found some existing ones here:

https://github.com/mijk84/win-arm64-binaries/releases/tag/libretro

Another gotchya on first run it creates retroarch.cfg among other folders/files. It tries to default to DirectX 11 but fails and falls back to gdi which also doesn't render quite right (even with x64 build). DirectX 11 (d3d11) works fine when running with a x64 binary under emulation, but not with ARM64 native. I went into retroarch.cfg and set the video driver to DirectX 12 and that works fine (video_driver = "d3d12") with ARM64 (vulkan should work too).

Edit: I got it to compile with MSYS2, this seems more stable/complete. It works with d3d11 and includes a bunch of extra dlls in the build. The menu doesn't glitch either where it MSVC build the menu cursor would disappear when bringupg the UI after a game has loaded.

Edit 2: You can test the build here if you wish: https://github.com/talynone/RetroArch/releases

This build is fork of a nightly, so be aware there may be dragons.

talynone avatar Dec 05 '25 17:12 talynone