RetroArch for Windows RT and Windows 10 ARM (Desktop)

Supported Graphics Drivers

  • gl1 via GLDirect (D3D9 -> OpenGL 1.1 wrapper)
  • d3d11
  • d3d12
  • gdi

Supported Input Drivers

  • winraw
  • xinput

Tested (Provided) Cores

  • fbalpha
  • fceumm
  • snes9x2005
  • gambattle
  • vba_next
  • genesis_plus_gx
  • mednafen_psx


  • For Windows RT devices, you’ll need a proper jailbreak for your device, and (on 8.1) sign the RetroArch.exe and core DLLs with a test certificate.

  • Existing libretro cores with msvc2017 makefile should be able to compile to work in ARM32 Desktop without much effort, with platform=windows_msvc2017_desktop_arm

  • Most Windows RT devices only support DirectX 11 Feature Level 9_3 or lower, and will not be able to start the D3D11/D3D12 driver. You may encounter crashing and/or black screen.

  • Changes for RetroArch and provided cores are already pushed to upstream.

  • Support for OpenGL 1.x via GLDirect is not enabled in upstream by default, checkout #9535 for details.



1 Like

Testing build:!nNtw3QQZ!hoirjH3a-jxVQxqlupFtuQy9bTOs9ng7cQhGStm6Gsg

I tried this on a Lumia 950XL running 1903 (18362.113). However, not much happens. After first loading a core (genesis_plus_dx) and content (gunstar heroes [u].gen), a window opens, then closes and goes back to the main retroarch window “no items” and displays error “failed to load libretro core.” Fullscreen has no effect, either.

gdi - rgui symptoms as above / xmb can’t load d3d9 - both rgui xmb can’t load d3d10 - both rgui & xmb can’t open a drawing surface (nothing displays after launching retroarch) d3d11 - both rgui & xmb can’t open a drawing surface (nothing displays after launching retroarch) d3d12 - both rgui & xmb retroarch loads, then progressively gets slower until it is unusable

Launching retroarch with admin privileges doesn’t help. I’ve been hoping for a more proper arm64 build of retroarch. I think it would make for an amazing Win10 IoT appx. One click and boom, there it is.

for the failed to load libretro core error: Get a copy of VC++2017 ARM32 runtime dlls and copy those to the directory of RetroArch.exe, or C:\Windows\SysARM32 if you want.

for the graphics issues, I have no idea, and I doubt an ARM64 build will change much.

Maybe you can try the UWP build of RetroArch and see what it does.

On my Raspberry Pi 3B (Win10 ARM64 b17134, WARP only, no GPU acceleration) GDI/D3D11/D3D12 all worked fine, but the D3D ones are dreadfully slow due to no GPU accel.

D3D9 will not work anytime soon due to no HLSL render support upstream.

1 Like

I thought about the UWP build, however they are only releasing it with AMD64 support and no ARM binaries. For Retroarch to work on WoA, the UWP app is required to be compiled with x86 (32-bit) or ARM64 targets.

So basically I’d love to find a Retroarch ARM64 compiled binary. WoA-compatible ARM64 cores are being built nightly, just no binaries. Seems like one wouldn’t go down that path of building those cores if the code wasn’t being developed. :grinning:

1 Like

I did an ARM64 build (WIN32) of RetroArch for d3d11/12. However i could not find any cores. So i compiled pcsx_rearmed for testing and it is working on my HP Envy X2.

If anyone is interested i can upload the binaries.

1 Like

I am getting OpenGL 1.1 working with GLDirect D3D9 to OpenGL wrapper.

testing build:!AueX0eo4NQeRhOVzbkNwncqlsMUmrg?e=Unkkk0

Hi there, can you indicate us any place where we could get the VC++ ARM32 runtime dlls? google hasn’t been very helpful so far, do I have to install VC++2017 just to get the dlls? :frowning: