ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.18k stars 2.26k forks source link

Support for WinARM64 #12210

Open JeffersonQin opened 3 years ago

JeffersonQin commented 3 years ago

As ARM has become an increasingly popular architecture, I consider that the release for WinARM64 is also important. Machines like Surface Pro X needs this binary.

smoogipoo commented 3 years ago

This probably highly depends on Un4seen BASS supporting WinARM64. But doesn't it run via x86/64 emulation anyway?

JeffersonQin commented 3 years ago

Indeed, now microsoft only support the emulation of x86, and the x64 emulation is not supported yet.

JeffersonQin commented 3 years ago

This probably highly depends on Un4seen BASS supporting WinARM64. But doesn't it run via x86/64 emulation anyway?

Also, the emulation can cause severe loss of performance, which is fatal for music games.

sr229 commented 3 years ago

.NET 6.0 should allow ARM binaries, in which case, the only blocker is BASS, which I hope will gain support.

JeffersonQin commented 3 years ago

.NET 6.0 should allow ARM binaries, in which case, the only blocker is BASS, which I hope will gain support.

Well, I found that BASS has already had the support for ARM64: http://www.un4seen.com/forum/?topic=16665.0

image

And also, as far as I know, .NET 5 has already supported the WinARM64 architecture. Anyway, thanks for replying.

smoogipoo commented 3 years ago

Ah interesting, I completely glossed over the UWP link because I didn't think it'd have ARM binaries in there. Seems like something that can be done then.

sr229 commented 3 years ago

.NET 6.0 should allow ARM binaries, in which case, the only blocker is BASS, which I hope will gain support.

Well, I found that BASS has already had the support for ARM64: http://www.un4seen.com/forum/?topic=16665.0

image

And also, as far as I know, .NET 5 has already supported the WinARM64 architecture. Anyway, thanks for replying.

.NET 5.0 and below only supports x86 on macOS. .NET 6.0 introduces native ARM64 support beyond Windows and Linux as this is the one that ships with Apple M1 Silicon support.

I say we refrain porting this to Windows ARM64 for now because as much as possible we'd want a higher audience reach so converting to .NET 6.0 at around November would be the best time to do this port.

smoogipoo commented 3 years ago

@sr229 This doesn’t relate to macOS ARM. The two are different binaries. Fact of the matter is, you can publish with the win-arm64 moniker in .NET 5 already, so support can be added at any point. It just needs someone to do it.

I’m locking this thread because this doesn’t need discussion.