TeamShinkansen / Hakchi2-CE

Tool that allows you to add more games to your NES/SNES Classic Mini
https://discord.gg/UUvqsAR
GNU General Public License v3.0
1.2k stars 107 forks source link

Support for Windows 10 ARM64 #405

Open adamwinn opened 3 years ago

adamwinn commented 3 years ago

Is your feature request related to a problem? Please describe. The drivers do not install correctly when using Windows 10 ARM. The device has a yellow exclamation mark in the Device Manager

When it installs the drivers, it just abruptly exits after some time. I dont know if there's a success message or anything, but since it just abruptly ends, I think it's crashing behind the scenes. Also, Zadig fails to install them too

I used Windows 10 x64 and the drivers installed fine

Describe the solution you'd like For the drivers to install and work when using Windows 10 ARM

Describe alternatives you've considered Windows 10 for x64 works

Additional context 4mYTVIRh

impeeza commented 3 years ago

I don't know if this help but on the open issue guide there's the next text:

3.3 Windows will sometimes install the incorrect RNDIS driver for the mini, if this happens select it in device manager and manually select the Microsoft Remote NDIS driver.

adamwinn commented 3 years ago

I don't know if this help but on the open issue guide there's the next text:

3.3 Windows will sometimes install the incorrect RNDIS driver for the mini, if this happens select it in device manager and manually select the Microsoft Remote NDIS driver.

So since I submitted this issue, I used my friend's computer with an Intel chip and Windows x64 and was able to flash it successfully. Now when I plug it into my Windows ARM, it's recognized fine.

I could flash it back to factory settings to test the Microsoft Remote NDIS driver but I'm kinda enjoying playing some games lol

DanTheMan827 commented 3 years ago

libWDI itself doesn't support Windows 10 ARM, without that even though hakchi2 ce can run, you'll need another computer to do the initial installation.

https://github.com/pbatard/libwdi/issues/155

matthoosier commented 1 year ago

It looks like pbatard/libwdi#155 just got resolved on Mar 1, 2023.

Maybe it’s possible to do this feature now?

DanTheMan827 commented 1 year ago

@matthoosier its absolutely possible now.

until then, you should be able to use Zadig to install the libusb driver and use hakchi2 ce normally

thanks for bringing this to my attention

matthoosier commented 1 year ago

@DanTheMan827, I’m mainly a Linux developer. Can you play dumb with me and pretend like I don’t have any idea what Zadig is for a second? 😉 How’s it fit into the picture?

impeeza commented 1 year ago

As far I know Zadig allows you to create self signed drivers for several devices.

DanTheMan827 commented 1 year ago

https://github.com/pbatard/libwdi/releases

Run that with the mini connected in FEL mode, and use it to install the driver.

matthoosier commented 1 year ago

Thanks, @DanTheMan827! And when you say “the driver”, which vcproj target do I need to build to get the ARM native build of that? I had a quick look around in the main solution, and didn’t think I saw anything with a name blinking “the driver here!” in neon letters.