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

Do a windows arm64ec build #7830

Open
baconpaul opened this issue Oct 29, 2024 · 9 comments
Open

Do a windows arm64ec build #7830

baconpaul opened this issue Oct 29, 2024 · 9 comments
Labels
Feature Request New feature request

Comments

@baconpaul
Copy link
Collaborator

baconpaul commented Oct 29, 2024

A windows arm64 ec build in pipelines should be possible.

Some issues

  1. CLAP and Standalone are way easier than VST3, which uses juce for assembly of folder and module info and doesn't cross compile yet Path to arm64ec on windows baconpaul/airwin2rack#163 - go to juce 8.0.4 to fix this

  2. LUAJIT seems like it could be scary. We need to cross compile on win like we do on mac. but looks like they wont get there so we may need x86 luajit. test that

  3. Inno needs to change the architecture flag https://jrsoftware.org/ishelp/index.php?topic=setup_architecturesallowed

  4. Might as well do a pure arm as well as arm64ec build for our friends using bitwig

But I have clap-info working and looks like I might have air win clap working soon and hardware is on the way so figured I would open an issue so interested parties could follow

@baconpaul baconpaul added the Feature Request New feature request label Oct 29, 2024
@unholyeyebrows
Copy link

Count me in for testing. Good luck!

@baconpaul
Copy link
Collaborator Author

Thanks. I’ll probably do shorrcidcuit before surge so will tag you on that issue when I open it too.

baconpaul added a commit that referenced this issue Oct 31, 2024
These diffs allow surge to build arm64ec standalone and clap in a way that works. Loads of caveats though which I will outline in #7830 

---------

Co-authored-by: Paul Walker (Baconpaul) <[email protected]>
@baconpaul
Copy link
Collaborator Author

OK got a surge release build working on my arm device today. But some gotchas

  • I dont' have a build in the pipelines yet
  • CLAP and Standalone only. Still no VST3 fix
  • But most importantly, we discovered that the ARM strategy we used for mac and linux won't work for ARM64EC/MSVC so the code still has large number of emulated instructions in critical regions. Fixing this is a 'huge pain in the ass' (roughly) because of the 'convenience' of ARM64EC defining sse2 instructions as jump points to the emulator, so we can't actually use simde in the way we have.

So a lot to think about here and shortcircuit both. A lot.

@baconpaul
Copy link
Collaborator Author

Beta for surge in in zip form only for arm64ec now in nightky https://github.com/surge-synthesizer/surge/releases/tag/Nightly

no lua. Ensemble effect bypassed. But using neon intrinsics

@unholyeyebrows
Copy link

Just installed the CLAP and it looks and works great so far. Will play around with it this weekend.

Thankyou!

@baconpaul
Copy link
Collaborator Author

Wonderful!

over the next two weeks I’ll work on those omissions

I also updated shortcircuit with our new arm64ec friendly simde strategy so you may want to update that too

@unholyeyebrows
Copy link

Well good luck - I hope the problems aren't too great to overcome. I'll put a post later in the Reaper forum linking to your betas in case we can get some more folks testing them out. Thanks again!

@baconpaul
Copy link
Collaborator Author

Thanks.

I got the two effects sorted this morning. Our big ARM shift meant MSVC no longer dumps core when compiling. Should have a PR soon.

LUA might be tricky but definitely involves some thought.

But fixing the VST3 is sort of my next plan of attack then trying to get flac and mp3 working on shortcircuit

Testers always welcome! Join on discord or post here indeed. Thanks.

@baconpaul
Copy link
Collaborator Author

LuaJIT/LuaJIT#1096

linking to that issue for LUAJit support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request New feature request
Projects
None yet
Development

No branches or pull requests

2 participants