Page 1 of 1

Possible to build for Windows ARM64?

Posted: Fri 07 Jan, 2022 5:23 pm
by mijk
I understand there's ARM support now. I've built PCem for Ubuntu ARM64 but the question now is if it's possible for Windows ARM64?

Re: Possible to build for Windows ARM64?

Posted: Wed 02 Feb, 2022 11:03 pm
by GeoffreyMcJefferson
It would be dope if we could get this running on a Raspberry Pi.

Re: Possible to build for Windows ARM64?

Posted: Wed 27 Apr, 2022 3:38 pm
by driver1998
aaa.jpg
aaa.jpg (302.07 KiB) Viewed 4174 times
;)

https://github.com/sarah-walker-pcem/pcem/pull/138

Re: Possible to build for Windows ARM64?

Posted: Wed 27 Apr, 2022 7:18 pm
by aitus95
driver1998 wrote: Wed 27 Apr, 2022 3:38 pm aaa.jpg
;)

https://github.com/sarah-walker-pcem/pcem/pull/138
What is the best cpu you can emulate on this system? I would be curious to know how the latest snapdragon works with PCem

Re: Possible to build for Windows ARM64?

Posted: Sun 08 May, 2022 6:25 pm
by mijk
Very great work driver1998! Do you have a compiled version for download?

Re: Possible to build for Windows ARM64?

Posted: Mon 09 May, 2022 12:19 pm
by unreal9010
I see it was committed to development branch on GitHub.
Thank you for your effort. I'm pretty sure it will be of use for people who use ARM64.

Re: Possible to build for Windows ARM64?

Posted: Fri 13 May, 2022 1:47 pm
by mijk
(driver1998)
If you have Windows ARM64 machines:

Install MSYS2
Enable clangarm64 repo: uncomment clangarm64 in /etc/pacman.conf
pacman -Syuu
pacman -S mingw-w64-clang-aarch64-toolchain mingw-w64-clang-aarch64-wxWidgets mingw-w64-clang-aarch64-SDL2 mingw-w64-clang-aarch64-openal mingw-w64-clang-aarch64-cmake mingw-w64-clang-aarch64-ninja
Open a clangarm64 shell msys2_shell.cmd -clangarm64
cd /path/to/pcem/source
cmake -G "Ninja" -DMSYS=TRUE

(mijk)
You can run ninja and then ninja install but it will install to C:\Program Files (x86)\PCem\bin without any of the DLL's needed. I confirmed it's an ARM64 binary. I personally ran the exe and dealt with each DLL error and copied them in place. Obviously this isn't the best course of action but I'm not sure how else to go about it.

TLDR;
It works!