Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[F.Rq.] Port to Windows on AArch64 (a.k.a. ARM a.k.a. WoA) #2731

Open
jonshipman opened this issue May 6, 2021 · 10 comments
Open

[F.Rq.] Port to Windows on AArch64 (a.k.a. ARM a.k.a. WoA) #2731

jonshipman opened this issue May 6, 2021 · 10 comments
Labels
Enhancement For feature requests or possible improvements re: Multiplatform Relating to the Linux and macOS ports (Mono Framework, and eventually .NET Core)

Comments

@jonshipman
Copy link

Looking over the project, a successful transition from .Net Standard 2.0 and Framework 4.8 into .Net Core 5.0 and dropping WinForms in favor of UWP would allow successful porting into WoA.

@YoshiRulz YoshiRulz added Enhancement For feature requests or possible improvements re: Multiplatform Relating to the Linux and macOS ports (Mono Framework, and eventually .NET Core) labels May 6, 2021
@YoshiRulz
Copy link
Member

YoshiRulz commented May 6, 2021

We won't be replacing WinForms when moving to .NET 5. If we do ever switch to another UI framework, it will probably be MAUI, which I assume will have ARM support.

edit 2021-07-16: WinForms in .NET 5 can now run natively in Windows on ARM.

edit 2024-12-01: With Microsoft's push for ARM this year, I believe Win11 includes a Rosetta equivalent, so the x64 version can be used.

see also #1415

@nattthebear
Copy link
Contributor

Waterbox core support for Arm is theoretically possible, but a big ask of its own. Are we tracking that here too?

@jonshipman
Copy link
Author

Looking through BizHawk source, it should be theoretically possible as well. First I'm reading about MAUI though, that sounds like a more plausible refactor path, as UWP would require a compete rewrite (as far as the WinForms components) in terms of needing to start a new VS project and copy code over.

@InfamousKnight
Copy link

bump for a more simple approach, you can try box64. It essentially emulates x86_64 architecture on arm. I don't think anyone tested bizhawk yet with it.

@InfamousKnight
Copy link

InfamousKnight commented Feb 4, 2023

I tested this in box64. What hasher function is being used here?

@YoshiRulz
Copy link
Member

YoshiRulz commented Feb 4, 2023

What are you referring to? I don't see any mention of a hash function in box64's docs.

@InfamousKnight
Copy link

InfamousKnight commented Feb 4, 2023

I'm referring to this. ptitSeb/box64#506 It's on the bottom of the page.

@YoshiRulz
Copy link
Member

Oh, the libbizhash error you posted in #1430 (comment). CPP already told you:

[...] even managed cores may use unmanaged x86-64 code (mostly blip_buf for audio resampling), and loading a rom means going through hashers which means loading in a x86-64 library, which will not work.

It's meant to fall back to an managed implementation if the CPU it's running on doesn't support accelerated instructions, but of course the detection code is also x86 so it can't run. You could build it for ARM, properly or with stubs, or have EmuHawk catch the lib load error and treat it as though the unmanaged call returned false.

@InfamousKnight
Copy link

Does anyone know how we can use mkbundle to run bizhawk? With this, we can run bizhawk without mono installed.

@YoshiRulz
Copy link
Member

YoshiRulz commented Mar 17, 2023

RTFM.

Please only use this thread to discuss Windows AArch64 support, which with .NET Framework 4.8.1 may end up being quite simple. (future humans: go to https://github.com/dotnet/core/issues/7709 for docs.) For Linux, I won't be supporting anything other than Mono for the time being, but if anyone is having trouble with Mono on AArch64 then I'll help where I can.

@YoshiRulz YoshiRulz changed the title [Feature Request] WoA ARM64 Support (transition to .NET 5.0 and UWP). [F.Rq.] Port to Windows on AArch64 (a.k.a. ARM a.k.a. WoA) Nov 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement For feature requests or possible improvements re: Multiplatform Relating to the Linux and macOS ports (Mono Framework, and eventually .NET Core)
Projects
None yet
Development

No branches or pull requests

4 participants