openziti / desktop-edge-win

Provides a Ziti client for Windows
Apache License 2.0
35 stars 13 forks source link

Test ARM support on Windows VM in Parallels #532

Open dovholuknf opened 2 years ago

dovholuknf commented 2 years ago

When running MacOS on Apple silicon, there are no "amd64" versions of windows available per user @jcox on discourse. see https://openziti.discourse.group/t/ziti-desktop-edge-on-windows-11-arm-vm-on-macbook-pro-m1-max-pro/431/3

If possible, provision a windows VM on Apple silicon and test with ZDEW

aidan-casey commented 1 year ago

@dovholuknf - I have a Windows VM running on Apple Silicon. Seems I start getting errors the minute I attempt to add an identity.

Would it be helpful to make logs as verbose as possible and post them here?

dovholuknf commented 1 year ago

Hi @aidan-casey! @scareything might have more to say about this. I don't have parallels but he does and he is the primary dev on the ziti-edge-tunnel.

@scareything - would having the logs from aiden be helpful at all?

scareything commented 1 year ago

Hi @aidan-casey. Thanks for your interest! Logs certainly wouldn't hurt. Without those it's hard to know what you're running into, so please attach (or DM) when you can. It would also help to know more about how you're building the executable. Are you building a native arm binary, or are you building an x86_64 binary and relying on windows binary emulation?

I'll mention that building ziti-edge-tunnel for windows/arm is a little sketchy right now, mainly because our cmake configuration assumes windows/x86_64 when fetching wintun and lib sodium dependencies. FYI I'm also on an m1 Mac and I run a windows 11 VM on it (also with parallels) for some of my windows-specific ziti-edge-tunnel development. I build with visual studio and I copy arm builds of the aforementioned dependencies into the build tree to get a working build. We could fix up our cmake configs to make windows/arm builds less fussy, but until now I thought I was the only one who was doing it. :)

scareything commented 1 year ago

added build configuration for windows/arm64 to dependencies:

aidan-casey commented 1 year ago

Full disclosure, I am relying on binary emulation, which is likely the root issue here. My guess is an ARM build would solve the problems I am seeing, but I have not had an opportunity to test that theory.

I'll mention that building ziti-edge-tunnel for windows/arm is a little sketchy right now, mainly because our cmake configuration assumes windows/x86_64 when fetching wintun and lib sodium dependencies.

This makes total sense and I should have thought about that.

Would love to see a Windows ARM version become part of the build process!