readme
April 9, 2025, 4:05pm
17
Just linking the Parallels/ARM thread to this one, as this definitely belongs here and is valuable information:
Looks like @u7angel has had success running the regular stable version emulated in Parallels, as well as an actual ARM build which only was waiting for a Stride PR which was merged 2 weeks ago:
master
← vvvv:feature/win-arm64
opened 09:03PM - 16 Feb 25 UTC
# PR Details
Allows to develop and also run games on `win-arm64`.
Needs MS… VC v143 - VS2022 C++ ARM64 build tools (Latest)
- The used versions of those dependencies are often rather dated and didn't build out of the box on win-arm64 / Visual Studio 2022, minimal patches had to be applied. Need to push/document those separately.
- As far as I understood PVRTexLib is delivered as binary only and there's no win-arm64 - therefor added a check to not load it at all. In the end it's only needed by the asset compiler, which in turn is platform neutral. However when invoking it on a arm64 machine, the `dotnet path/to/asset/compiler` will launch it in arm64. If there would be some option to launch it in x64 we wouldn't have any issues with asset compiling. Still the editor might have issues, since its running in process?
- Removed the FreeImageNET load - it's not used anywhere in code
- Fixes some PInvoke signatures in DxtWrapper
The game studio also runs on arm64, but one must set the runtime identifiers in Stride.GameStudio/Editor/Assets.Presentation accordingly. Would be nice to add an arm64 version to the installer, but different topic I'd say.
## FFmepg
checkout.bat says to use n3.3.3 tag however I didn't manage to get it to build. Was therefor using release/3.4 as a base.
Basically had to cherry-pick two commits from main branch in regards to arm64.
A quick test with importing a video asset and playing it later in the game worked.
https://github.com/azeno/FFmpeg/tree/win-arm64
## FreeImage
- Added a checkout.bat file which will also apply the needed fixes
## Recast
Guessed the commit by comparing the checked in header files to those in the original repo. Added the used commit-id to checkout.bat file.
## Needed PRs in other repos
- https://github.com/stride3d/BulletSharpPInvoke/pull/5
- https://github.com/stride3d/NativePath/pull/2
- https://github.com/stride3d/freetype/pull/1
## Related Issue
#2397
## Types of changes
- [ ] Docs change / refactoring / dependency upgrade
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
## Checklist
- [x] My change requires a change to the documentation.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
- [ ] **I have built and run the editor to try this change out.**
It seems @Elias was actively following up on this recently, as more things happened around this. He probably knows when/if there’s some ETA of this :)
3 Likes