I built a windows arm64 version, installed but didn't work

Hi there. I built a windows arm64 version of Joplin. It is built successfully and can be installed on windows arm device. But when I run Joplin, I can see the processes in the task manager (and they are in native arm64), but there is no GUI displayed.

Here's what I did to built it:

  1. install node and enable yarn.
  2. install MSVC C++ arm64 build tools (v142+) in visual studio.
  3. open visual studio's x64-arm64 cross-compilation command prompt.
  4. git clone joplin source code.
  5. run 'set npm_config_arch=arm64'
  6. in the app-desktop's package.json file, edit the target arch to "arm64" so that it will package arm64 installer.
  7. run 'yarn install' in the source code root folder.
  8. run 'yarn add electron-builder --dev' to install electron-builder.
  9. run 'yarn run dist' in app-desktop folder to package the installer.

Is there anything I did wrong, or anything I missed?
I think the native modules will automatically compiled for arm64 stracture by electron-builder, is that right?

Thank you for any help.

Have you solved this problem yet?

Let's hope this will be an option for the future. Even Microsoft doesn't offer x86 processors anymore in its current Surface Pro model.

With the caveat this thread is a year old, I imagine the problem originally was installing a cross compiler toolchain.

At least building the Linux release for ARM64, it's just a case of running the build system on an ARM64 machine. There aren't any tweaks required. The system knows its on ARM64 and so builds for it, you have to go out your way to specify non-native architectures, not native ones.

If the build gets confused due to a mixture of different available STDLIBs and the like, I could see that being a problem.

I think since then, Windows now comes in with a built in ARM64 to X86_64 translator like MacOS, so the need may have diminished slightly.