RetroArch for Windows RT and Windows 10 ARM (Desktop)

RetroArch Windows ARM32 Desktop

for Windows RT devices, you’ll need a proper jailbreak for your device, and potentially sign the RetroArch exe and core dlls with a test certificate.

winraw input is working, xinput provided but not tested yet (I don’t have xbox controllers handy)

d3d10 and d3d11 display works on Windows 10, but not sure on RT. Use gdi if you encounter black screen/crash.

If cores doesn’t load, grab a copy of MSVC2017 arm redist dlls and copy them to C:\Windows\System32 (or SysARM32 on Windows 10 ARM64).

You can get those dlls here if you have VS2017 installed: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\onecore\arm\Microsoft.VC141.CRT

Tested cores:

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

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

Changes are already upstreamed.

1 Like

Testing build: https://mega.nz/#!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: https://1drv.ms/u/s!AueX0eo4NQeRhOVzbkNwncqlsMUmrg?e=Unkkk0