Hello,
The keyman program installs, but no Keyman keyboards operate on Windows 11 ARM64 computers (not even the current Microsoft Surface Pro 11). Is there a way to compile it to ARM64?
Thank you.
Actually, I now see that is planned for version 18, so I’ll look forward to testing that:
- epic/arm-windows As Windows on ARM64 becomes more popular, we plan to include support for ARM64 in Keyman Engine for Windows.
https://blog.keyman.com/2023/09/keyman-roadmap-september-2023/
Also, some background on ARM64EC that may make the porting from amd64 easier:
http://www.emulators.com/docs/abc_arm64ec_explained.htm
With the new ARM64EC build target in Visual Studio, you can easily rebuild an x64 application as ARM64EC in a matter of minutes . This is thanks to the incremental porting that is made possible by the tight coupling of ARM64EC and the x64 emulator, allowing you to port individual functions and leave others unported while still having a runnable working application each step of the way.
@techvslife, thanks for the interest. We have been doing some groundwork for this – it’s a little more complicated for Keyman than just recompiling, because we have to run native architecture DLLs for keystroke processing – that means running x86, x64, ARM, and ARM64 hosts on ARM64 systems, as processes can run in any of these subsystems, and then the DLLs need to be in sync with each other. But we know how to do it; it’s just detail work to get right.
You can follow progress here: spec(windows): arm64 support · Issue #11902 · keymanapp/keyman · GitHub. Note that we have not scheduled the majority of the work on this until later this year – we have several other work items that need to be addressed first.
Marc, That’s great to hear! I’ll follow the progress and start testing it out once some arm64 beta becomes available. (Windows on Arm may or may not take off, but if it does, it will be this year, with Microsoft dropping Intel cpu’s in favor of ARM/Qualcomm for its 2024 consumer laptop and tablet line. fyi, arm32 has been deprecated by both MS and Apple for some time, so I’d say only arm64 support is needed.) --Manuel
Except some apps are still arm32 (I think we discovered Microsoft.Photos was, although I am not 100% sure that was it?). Once we have arm64 and x64, then arm32 should be pretty easy as it follows the same pattern.
Good point, you’d want keyman to work inside any existing arm32 apps. fyi, going forward, it looks like there are no supported arm32 apps on windows. Microsoft Photos is arm64 (I just checked). In the Microsoft Store, formerly arm32 apps either have been replaced or are now being replaced by arm64 apps (or x64 if no native arm yet):
https://www.reddit.com/r/surfaceprox/comments/1cyf3mq/windows_24h2_no_longer_supports_arm32_executables/
Back in 2021, Microsoft decided to end development for arm32 in its Windows App SDK:
https://github.com/microsoft/WindowsAppSDK/discussions/406
There are some people running the old surface rt arm (arm32), but even extended support by Microsoft ended on that, so you’d be dealing with devices that might have security and other bugs. It sounds like you’re planning to add arm64 before arm32 and that makes sense to me.
Yep, thanks for the additional info. I can’t remember which app I saw in Task Manager was listed as “ARM” now. The plan for arm32 would be to add it if it is as simple as it seems to be – we have to do the legwork for arm64, so duplicating that for arm32 should be almost copy-paste of the relevant configurations.
We already do multi-architecture with x86/x64, so it’s just an extension of that.
FWIW, we are running on an RPI as that was the cheapest option for development. Would be nice to have a Surface laptop or something like that but about 10x the price!
This topic was automatically closed after 14 days. New replies are no longer allowed.