Open Articulus-Xelmarin opened 2 months ago
Not a bad idea, but not sure how hard it would be to setup. VCMI already works on non-windows arm, but windows-arm may need non-trivial setup.
Currently we have mingw (cross-compiled on Ubuntu host) and msvc builds for Windows. However:
Another problem would be to test resulting build, even if/when we have it. @Articulus-Xelmarin do you have such device?
And there are also CI limits. We'll either need to fix / replace ccache for msvc to reduce msvc CI usage or only build arm-msvc in some conditions, e.g. for daily builds and exclude PR's
Sometimes i wish Microsoft gave up on their spyware OS and left ARM field to linux
Iirc msvc has cross-compiler
I wouldn't work on this until we switch to Conan v2
Yeah, on msvc even x86_64 build were made via cross-compiling using x86 toolset till few years ago
conan-based approach definitely needs migration to v2 first, vcpkg can be done at any moment (although current goal is to replace vcpkg with conan 2)
Another problem would be to test resulting build, even if/when we have it. @Articulus-Xelmarin do you have such device?
I do have an Arm Device, I’ve actually been stuck with it as my primary computing device. It’s a Samsung Galaxy Book Go with a Qualcomm SnapDragon 8CX Gen2 5g Processor.
While the 32 bit build works in the compatibility layer, it does experience performance issues.
Windows 32 bit is somewhat broken right now and has abysmal performance even on native platforms. Most likely would be fixed for 1.6. For now it is better to use 64 bit build if possible.
@Articulus-Xelmarin but why can't you use 64 bit in emulation mode?
BTW it's not that difficult to get a test environment - ms provides iso that can be installed / run in a vm
@Articulus-Xelmarin but why can't you use 64 bit in emulation mode?
BTW it's not that difficult to get a test environment - ms provides iso that can be installed / run in a vm
I’ve ran both the 64 bit and 32 bit versions in the compatibility layers. This was to test whether there was a performance difference. As per the guy above, I did notice that the 32 bit version was running slower. I will be switching back to the 64 bit version.
As an end user of VCMI, I have observed the increasing adoption of ARM64 architecture, particularly within the Windows ecosystem. Devices such as the Microsoft Surface Pro X and other ARM-powered laptops are growing in popularity due to their improved energy efficiency and performance.
However, the current lack of native ARM64 support for VCMI forces users to rely on emulation, which often results in reduced performance, increased resource consumption, and a less-than-ideal gaming experience. By providing a native ARM64 build, VCMI could take full advantage of the architecture's capabilities, delivering a smoother and more efficient experience for ARM64 users.
Key Benefits:
Expanding Access for ARM64 Windows Users: A native ARM64 build would allow users of devices like the Surface Pro X to run VCMI without the performance penalties associated with emulation, expanding the project's reach to this growing segment of Windows users.
Improved Performance and Efficiency: Native ARM64 support would optimize VCMI's performance, allowing it to run more efficiently on ARM64 Windows devices. This would lead to better frame rates, lower power consumption, and an overall improved user experience.
Future-Proofing the Project: As more ARM64 Windows devices are released, a native build would ensure that VCMI remains compatible and relevant to the evolving hardware landscape, supporting the long-term viability of the project.
Potential for Community Growth: By supporting ARM64, the project could attract new developers and contributors who use or are interested in ARM64 devices, potentially driving future improvements and innovation.
Thank you for considering this feature request. I look forward to any updates or discussions about the potential for ARM64 Windows support.