MonoGame / MonoGame.Dependencies

The MonoGame binary dependencies submodule.
38 stars 51 forks source link

Added Windows ARM64/ARM64EC Binaries #166

Closed airtaxi closed 4 months ago

airtaxi commented 4 months ago

Related this Issue I've added binaries needed for supporting win-arm64 RID for DesktopDX and MGCB

mrhelmut commented 4 months ago

Thank you very much, although we are not using this repository anymore. We moved toward one repository per dependency, which automatically builds the dependency from source (and validate them to make sure that they work for all expected architectures).

You can check that for the following dependencies:

And the validation is done at the build script level:

We would also require SDL and OpenAL to cover all windows scenarios. Another lib that we're still missing with that new structure is mojoshader.

airtaxi commented 4 months ago

Hello, thank you for letting me know the new details about supporting win-arm64 RID for MonoGame.

If this repository won't be used anymore and each library's repository will be its own dependency, I'll focus on each library and try to automate ARM64 builds.

EverbornSaga commented 4 months ago

Hi, thanks for doing this. Are there any instructions on how to use these binaries?

airtaxi commented 4 months ago

Actually, I was planning to contribute by modifying the source code to use the binaries in the MonoGame repository once this PR is merged. However, as mentioned above, it seems that this repository is no longer in use.

EverbornSaga commented 4 months ago

Does them there's nothing that can be done or is it just a matter of merging to the new repo?

Sorry for all the questions. I'm new to MonoGame and I bought this to surface specifically to work on this project. Just trying to find a solution that will get my project to build

airtaxi commented 4 months ago

Hello, if you want to try build MonoGame on ARM64 device, you can refer this issue's comment That would make building x64 targeted MonoGame project possible.

But if you want to build MonoGame for ARM64 devices, it's possible with binaries below: win-arm64.zip But you still need to copy the dll files into published/builded directory of project.

I've automated that process by adding below ItemsGroups to .csproj file of project.

    <ItemGroup>
        <_ARM64Binaries Include="win-arm64\*.*" />
    </ItemGroup>

    <Target Name="CopyAfterBuild" AfterTargets="Build" Condition=" '$(Platform)' == 'ARM64' ">
        <Copy SourceFiles="@(_ARM64Binaries)" DestinationFolder="$(OutDir)" />
    </Target>
    <Target Name="CopyAfterPublish" AfterTargets="Publish" Condition=" '$(Platform)' == 'ARM64' ">
        <Copy SourceFiles="@(_ARM64Binaries)" DestinationFolder="$(PublishDir)" />
    </Target>

I'd glad if this helps.

EverbornSaga commented 4 months ago

Hello, if you want to try build MonoGame on ARM64 device, you can refer this issue's comment That would make building x64 targeted MonoGame project possible.

But if you want to build MonoGame for ARM64 devices, it's possible with binaries below: win-arm64.zip But you still need to copy the dll files into published/builded directory of project.

I've automated that process by adding below ItemsGroups to .csproj file of project.

  <ItemGroup>
      <_ARM64Binaries Include="win-arm64\*.*" />
  </ItemGroup>

  <Target Name="CopyAfterBuild" AfterTargets="Build" Condition=" '$(Platform)' == 'ARM64' ">
      <Copy SourceFiles="@(_ARM64Binaries)" DestinationFolder="$(OutDir)" />
  </Target>
  <Target Name="CopyAfterPublish" AfterTargets="Publish" Condition=" '$(Platform)' == 'ARM64' ">
      <Copy SourceFiles="@(_ARM64Binaries)" DestinationFolder="$(PublishDir)" />
  </Target>

I'd glad if this helps.

Thanks for this! it solved the image builds but now spritefonts are failing. Is Sharpfont the .dll that handles that? If so, how would I compile that for arm?

airtaxi commented 3 months ago

@EverbornSaga I'm really for the late reply. You can use Sharpfont ARM64 .dlls below: https://github.com/airtaxi/MonoGame.Dependencies-ARM64-Support/tree/master/SharpFont/Windows/ARM64

By the way, I recommend to checkout this wonderful project if you intrested to use fonts in MonoGame.