Skip to content

Port to Windows ARM64 (MSVC)#30

Open
marcialvieira wants to merge 1 commit intofriedrich:masterfrom
marcialvieira:windows-arm64-port
Open

Port to Windows ARM64 (MSVC)#30
marcialvieira wants to merge 1 commit intofriedrich:masterfrom
marcialvieira:windows-arm64-port

Conversation

@marcialvieira
Copy link
Copy Markdown

  • Add win32_compat.h/cpp for POSIX compatibility layer
  • Add tun_dev_win32.c with overlapped I/O for TAP-Windows
  • Rename time.h to hans_time.h to avoid system header conflict
  • Add CMakeLists.txt for Visual Studio 2026 ARM64 build
  • Fix TAP reader thread initialization order (start after SET_MEDIA_STATUS)"

- Add win32_compat.h/cpp for POSIX compatibility layer
- Add tun_dev_win32.c with overlapped I/O for TAP-Windows
- Rename time.h to hans_time.h to avoid system header conflict
- Add CMakeLists.txt for Visual Studio 2026 ARM64 build
- Fix TAP reader thread initialization order (start after SET_MEDIA_STATUS)"
@friedrich
Copy link
Copy Markdown
Owner

Hello @marcialvieira! This is quite a substantial change. Could you clarify whether any of this was generated using AI tools? If so, what level of review and testing was applied?

Also, did you consider alternatives like MSYS2?

@marcialvieira
Copy link
Copy Markdown
Author

Hi @friedrich, thanks for reaching out for clarification instead of closing the PR!

The bulk of these changes are casting adjustments, with the only logic additions being tun_dev_win32 and win32_compat for MSVC compatibility. I used Claude Code to assist with the MSVC migration, as my current hybrid setup involves a Snapdragon Windows client connecting to an Intel Ubuntu server.

I've provided the binary for transparency and auditing. So far, I’ve only performed basic tests like light browsing, but I’m curious to move on to more exhaustive stress testing with rsync to monitor for potential stability issues or MTU-related packet loss. Looking forward to your thoughts!

@marcialvieira
Copy link
Copy Markdown
Author

I actually wasn't aware of MSYS2's ARM64 support; thanks for the heads-up! I'll definitely look into it, as it seems like it would have been a much smoother path than the MSVC and Claude Code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants