jack2 icon indicating copy to clipboard operation
jack2 copied to clipboard

Add support for Windows ARM (Snapdragon X)

Open unholyeyebrows opened this issue 1 year ago • 1 comments

Summary

It would be great to provide packages for native Windows on ARM (Snapdragon X). Is this possible?

Basic example

Provide an installer which provides the Jack system compiled natively for Windows on ARM. This would tie in nicely with Bitwig 5.3 which supports both Windows on ARM and Jack.

Motivation

Provide native support for the increasing number of music makers using Snapdragon X laptops / tablets.

unholyeyebrows avatar Jan 01 '25 06:01 unholyeyebrows

+1 for this

I tried building the JACK server for Windows Arm64 with Clang and a client with MSVC and found they are incompatible with each other. This is because the Clang build disables structure packing in systemdeps.h#L127 while the MSVC build does not (as it uses the PRE_PACKED_STRUCTURE define).

So before this can work, it needs to be defined whether or not structs should be packed on Windows Arm. I'd suggest adding && !defined(_WIN32) to that check in systemdeps.h in order to enable packing as this will allow x86 clients to connect to an Arm server.

With this, it seems to work for me, but needs more testing as I've only tested the dummy server so far (have to build a server with PortAudio support yet).

enzo1982 avatar Dec 07 '25 22:12 enzo1982