-
Hello everyone, Since both the OpenJDK and JavaFX are available for the ARM64 architecture (aka aarch64) on both Linux and macOS (for those models with "M1" Apple chips), it should be possible to build a version of binjr that runs natively on these platforms (i.e. without needing to go through any kind of translation layer, such as"Rosetta" on macOS). Unfortunately, I don't own the hardware need to test either of these that and the CI provider used to build the releases we upload does not offer aarch64 build agents either. So if anyone out there owns that kind of hardware and wants to help out by testing that binjr's build system works on it, please comments on this thread. I'll publish detailed instructions on how to build binjr below. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 12 replies
-
In order to build an executable distribution for binjr, the only this that is absolutely required is a distribution of the OpenJDK version 17, for the architecture that you are targeting for your binjr build. Please make sure that the $JAVA_HOME variable points to this JDK, in case you have several installed. It is recommended that you use a distribution that bundle Shenandoah GC: if you do not, be carefull to comment out lines that refers to the "-XX:+UseShenandoahGC" "-XX:ShenandoahGCHeuristics=compact", "-XX:ShenandoahAllocationThreshold=20" options in the gradle script. Most OpenJDK vendors include Shenandoah GC in their distributions with the notable exception of Oracle. Distros from Azul or Adoptium will work fine, but so should the ones from Bell, Amazon or SAP, etc... There are additional third party requirements needed to build platform specific installers (msi, pkg, deb, rpm), which are listed here: https://binjr.eu/documentation/getting-started/#build-from-source Then you will need to clone the binjr repo from github: git clone https://github.com/binjr/binjr.git and checkout the branch git checkout arch-ci_test Then, you can try and build the tar.gz bundle (which doesn't require any other dependencies): sh gradlew clean packageAsTar If the build is successful, you should see your freshly baked tarball in the Please reports on your experiences in the thread below, so that I can fix whatever is still amiss. Thanks! |
Beta Was this translation helpful? Give feedback.
-
On paper, my Raspberry Pi 3 B has a aarch64-compatible Cortex-A53 CPU, though I understand aarch32 is used instead by supported distros. Is the target interesting enough to warrant trying to 1) boot an aarch64 Linux distro on it and 2) run both Linux and binjr within 1 GiB or RAM (I guess I could run a a remote Xorg on another box for savings)? |
Beta Was this translation helpful? Give feedback.
I'm hereby happy to report that binjr is perfectly usable (though not incredibly snappy) on a Raspberry Pi 3 Model B running Arch Linux ARM aarch64 :)