## Proton Audio Time Stretch

### Generic (Java) Version

#### Tested systems and how to install (click to expand / collapse):

Linux

Note: on most Linux systems, the DEB or RPM installer available at https://www.tachyon-sonics.com/proton can be used. This version is only required if

- You need to use a Java Runtime Environement (JRE) version 8, 9 or 10 (the DEB and RPM installers require at least Java 11)
- You want to use a JRE that has been installed manually
- You want to use a portable version of the application
- You want to use a headless version (by installing a headless JRE and using the command-line version of Proton)

First, a Java Runtime Environment (JRE) such as "openjdk-jre" must be installed.

On Debian-based systems (including Ubuntu):

    sudo apt install openjdk-17-jre

"17" can be replaced with another version. 8 is the minimum supported version, 11 is the recommended minimum version.

On Fedora:

    sudo dnf install java-17-openjdk

"17" can be replaced with another version. 8 (actually 1.8.0 on Fedora) is the minimum supported version, 11 is the recommended minimum version. "dnf" can be replaced by "yum" on old systems.

If no JRE is installed, or only a version lower than 8, Proton will not run.

Proton can then be started on most Linux distributions by double-clicking on the file proton-audio-time-stretch.sh and choosing "Run". Else, open a terminal from the Proton's directory, and type `./proton-audio-time-stretch.ch` to start it.

- If you installed the version 8 of the openjdk-jre, you must first edit the proton-audio-time-stretch.sh file and comment out the line starting with `ADD_OPENS` by adding a "`#`" in front of it.
- If you installed a custom Java Runtime Environment, you may need edit the proton-audio-time-stretch.ch file and modify the value of the `JAVA_CMD` variable to specify the full path of the `java` binary.

The following systems have been tested (other systems similar to those might also work):

- Debian 11, x86 (Intel 32 bit)
- Debian 11, arm64 (also known as aarch64)
- Debian 11, armhf
- Debian 11, ppc64, ppc64el
- Debian 11, s390x
- Debain 11, riscv64
  - You need at least openjdk version 17 to get JIT compilation (tested with openjdk-22-jre)
  - As of writing, the latest openjdk does not support sv57 mode yet, so you need kernel <= 5.17, or a <= sv48 board
- Raspberry PI 2 (armhf, 32 bit)
- Banana Pi BPI-F3 / Armbian (riscv64)
- Debian 11, amd64
- Linux Mint 64 (Intel 64 bit)
- Debian 12, loong64 (tested with Java 21 (glibc2.34) from https://www.loongnix.cn/zh/api/java/)
- Loongnix 20.5 (loongarch64)
- Command-line version only:
  - Debian 11, sparc64, 5.x kernel (requires a jre version <= 14 to get JIT compilation). GUI might work but is unstable.
  - Debian 11, ppc32 (using Oracle Java Embedded 8u6-fcs-b23, the last supported version for ppc32). The IBM JRE from here might also work (with GUI) on some systems.

While Proton might also work on other architectures, on some architectures the openjdk-jre lacks a JIT compiler. As a result Proton is too slow to be usable. For instance:

- mipsel, misp64el
- sparc, ia64, m68k, ...
- etc.

To check if the openjdk-jre comes with a JIT, check the description of the package. It should mention "Hotspot JIT" and not "Hotspot Zero".
Windows 11 on ARM64

Notes:

- There is now an .msi installer available for Windows 11 on ARM64, available at https://www.tachyon-sonics.com/proton, in "Download an alternative version". The .msi installer comes with its own JRE for ARM64. There is no need to use this generic version, unless you want to do your own custom installation.
- Although Proton works on ARM64-based Windows, it still requires a mouse and a keyboard. It is in no way a special tablet-version of the application.

Download and install the OpenJDK version 11 (or later) for Windows ARM from https://docs.microsoft.com/en-us/java/openjdk/download (choose version 11 or greater, Windows, and be sure to scroll down to AArch64; do not choose x64).

If you installed the OpenJDK with the `.msi` installer, Proton can then be started by double-clicking on the file proton-audio-time-stretch.bat.

If you used the `.zip` (portable version) to install the OpenJDK, you must first edit the proton-audio-time-stretch.bat file. Replace "`javaw`" by the full path of the binary (adding double-quotes if the path contains spaces).

Note: the Windows 64-bit version of Proton (for Intel processors) works out of the box on Windows ARM64 through emulation. However, using this generic version and an OpenJDK specifically for Windows ARM, the application runs natively, and about 5 times faster.

Windows Vista

Install Java version 8 (the latest version still working on Vista) from https://www.java.com/en/download/ (choose 32-bit or "x86").

Proton can then be started by double-clicking on the file proton-audio-time-stretch-compat.bat.

Note: this might also work on Windows XP if you install an early version of Java 8 (early versions were still compatible with XP).

ReactOS

Install Java version 8 (the latest version working with ReactOS). You may need to choose a revision older than the last one (the last one may no longer be compatible due to missing dlls). Choose a version for Windows 32-bit (x86). This was tested with jdk-8u171, on ReactOS 0.4.14.

Proton can then be started by double-clicking on the file proton-audio-time-stretch-compat.bat. The "About" menu will detect a "Windows NT" machine ;-).

GhostBSD (FreeBSD) x64

Install a Java Runtime Environment (JRE) version 11 or greater. The package name is typically `openjdk11-jre` ("`11`" can be replaced by with a more recent version if available).

For the Mini Player to work, you also need to install the `alsa-lib` and `alsa-plugins` packages (other FreeBSD versions may need `libasound` instead). They are not installed automatically when installing the JRE. Without these libraries, Proton will be able to load, transform and save audio files, but it won't be able to play them.

Proton can then be started by double-clicking on the file proton-audio-time-stretch.sh and choosing "Run". Or open a terminal from the Proton's directory, and type `./proton-audio-time-stretch.ch` to start it.

Solaris 10 / 11 (and OpenSolaris variants)

Download and decompress the Java Runtime Environment version 11 for Solaris. It can be found at Azul Java Downloads. The Adoptium OpenJDK can also be used but the only available version is Java 8.

Use a text editor to modify the proton-audio-time-stretch.sh file:

- Modify the line starting with `JAVA_CMD`. Put the full path of the "java" binary. It should be in the "bin" folder of the Java you downloaded and decompressed.
- If using Java 8 (Adoptium):
  - Comment out the first line starting with `JAVA_OPTS` (the `-XX:MaxRAMPercentage` option is not supported on Solaris). Uncomment the next one with `JAVA_OPTS` to have `JAVA_OPTS="-Xss1m -Xmx1g"`. The "`-Xmx1g` part can be changed to allocate more or less RAM, for example `-Xmx512m` for 512 MB or `-Xmx2g` for 2 GB.
  - Comment out the line staring with `ADD_OPENS` (these options are for Java 11, they are not supported on Java 8).

Proton can then be started by double-clicking on the file proton-audio-time-stretch.sh and choosing "Run". If the file opens in a text editor, open a terminal from the Proton's directory, and type `./proton-audio-time-stretch.ch` to start it.

Note: Only Solaris 10 and 11 on Intel (x64) have been tested. This might also work with Solaris 10/11 on sparcv9. Solaris 9 and below do not work as the available Java versions are too low.

Proton should work out of the box on OpenSolaris variants for Intel 64 bit, provided that Java 11 or greater is installed (tested using OpenIndiana (`pkg install openjdk17`) and Tribblix (`zap install-overlay java`)).

IBM AIX (ppc64)

Download and install/decompress a Java Runtime Environement for AIX, either from Adoptium or from IBM (Semeru).

Only AIX 7.2 was tested. Note that it already comes with a JRE version 8 which is sufficient to run Proton.

You may need to modify the proton-audio-time-stretch.sh file:

- If using a JRE version 8, comment out the line staring with `ADD_OPENS` (these options are for Java 11, they are not supported on Java 8).
- If the "`java`" command is not in the `PATH`, or is not the desired version, modify the line starting with `JAVA_CMD`. Put the full path of the "`java`" binary (for example `"/opt/ibm-semeru-open-17-jre/bin/java"`).
- To use as a command-line only (without GUI), comment out the line starting with `SPLASH_OPTS`, and uncomment the one starting with `CMD_OPTS`.

To start Proton from a terminal, cd to the Proton's directory and type `sh ./proton-audio-time-stretch.sh`.

Haiku 64-bit

Install a Java Runtime Environment using HaikuDepot. Both "openjdk17_jre" and "openjdk11_jre" (in "All packages") have been tested. Haiku r1-beta4 (64-bit) was used.

Use a text editor to modify the proton-audio-time-stretch.sh file:

- Modify the line starting with `JAVA_CMD`. Put the full path of the "java" binary. It is usually "/system/lib/openjdk17/bin/java" or "/system/lib/openjdk11/bin/java".
- By default, 75% of the RAM is allocated for Proton. To change that, you may want to comment out the first line starting with `JAVA_OPTS` (by adding a "`#`" in front of it) and uncomment the next one with `JAVA_OPTS` to have `JAVA_OPTS="-Xss1m -Xmx1g"`. The "`-Xmx1g` part can be changed to allocate more or less RAM, for example `-Xmx512m` for 512 MB or `-Xmx2g` for 2 GB.

You should then be able to launch Proton by double-clicking on the proton-audio-time-stretch.sh file.

The following issues are known on Haiku:

- The keyboard shortcuts do not work.
- There is no native look&feel.
- Does not work reliably on 32-bit Haiku. The command-line version works though.