# Installation instructions

## Windows

Download and run the setup program at <https://www.jjazzlab.org/en/download>, which embeds everything you need.

{% hint style="warning" %}
If you get a **Windows Smart Screen** alert

<img src="https://1057949908-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQE7B7yjVY3xzlsorS4%2F-MSPCjX2Peyah6_FyWdW%2F-MSPCtdeUAM2A-soA9HW%2FWin10SmartScreen.png?alt=media&#x26;token=65a0060e-80e5-48a6-a3d2-187b98bed790" alt="" data-size="original">

Windows Smart Screen blocks the program NOT because it is a malware (it is NOT!), but just because JJazzLab is new, so Windows security servers don't have enough statistics to evaluate its "security reputation".

Once enough users will have successfully downloaded and installed it, Windows Smart Screen will not block the program anymore.

You can find more explanations in this [good article](https://www.digitalcitizen.life/what-smartscreen-filter-how-does-it-work).
{% endhint %}

{% hint style="info" %}
If you don't have admin rights on your computer, choose **Install for me only** during setup
{% endhint %}

## MacOS

You need to manually install FluidSynth first.

#### 1/ install [FluidSynth](https://github.com/FluidSynth/fluidsynth/wiki/Download) (>=2.2.&#x30;**, but avoid 2.4.4 which has a bug**)

I strongly recommend via [Homebrew](https://brew.sh/): `brew install fluidsynth`

#### 2/ Download a JJazzLab package and install it

*Mac computers with Apple Mx processor:*

Download the .pkg file at <https://www.jjazzlab.org/en/download> and open it.

{% hint style="danger" %}
If you get a **security alert**

To open the .pkg file anyway, go to your computer **Systems settings/Privacy & Security**, scroll-down to the **Open anyway** button corresponding to the JJazzLab package, as explained in this [**Apple online doc**](https://support.apple.com/en-us/102445).
{% endhint %}

*Mac computers with Intel x64 processor:*

.pkg files are not always supported on old MacOS versions, so we propose a .zip file, a basic solution but compatible with many MacOS versions.

* Download the .zip file at <https://www.jjazzlab.org/en/download> and extract it (open file with Finder)
* Execute file `bin/jjazzlab` to start JJazzLab.

{% hint style="danger" %}
If JJazzLab does not start, **make sure that files** `bin/jjazzlab` and `jdk/bin/java` have **read** and **execution** permission ('`xr`'), as shown below: ![](https://1057949908-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQE7B7yjVY3xzlsorS4-887967055%2Fuploads%2FHZLXyZSUrTwZ9RtKB6Bo%2F2024-01-03%2011_38_13-Ubuntu22LTS%20%5BRunning%5D%20-%20Oracle%20VM%20VirtualBox.png?alt=media\&token=7dbf00b6-dc0a-49ed-b6d6-8cda8c9be4d0)<br>

To fix file permissions: `chmod a+rx bin/jjazzlab jdk/bin/java`
{% endhint %}

## Linux

{% hint style="danger" %}
If FluidSynth makes some "crackling" noise, make sure your Linux is optimized for audio applications: <https://jackaudio.org/faq/linux_rt_config.html>
{% endhint %}

### Using deb/rpm packages

JJazzLab packages are only proposed in selected formats (.deb, .rpm, ...).

Download the relevant package for your distro at <https://www.jjazzlab.org/en/download>, then open it with the relevant package manager (examples below) :

```bash
sudo apt-get install ./jjazzlab_4.0.2-1_amd64.deb
```

```sh
sudo gdebi install ./jjazzlab-4.0.2-0.x86_64.deb
```

```bash
sudo zypper install ./jjazzlab-4.0.2-0.x86_64.rpm
```

{% hint style="success" %}
JJazzLab packages declare a dependency on an appropriate FluidSynth package. So the package manager should automatically install it if it's not already present on your system.
{% endhint %}

### Using the tar.xz package

The `.tar.xz` package should work on any Linux distro (x64).

1. Install FluidSynth (**>=2.2.0, but avoid 2.4.4 which has a bug**) manually: <https://github.com/FluidSynth/fluidsynth/wiki/Download>
2. Download at <https://www.jjazzlab.org/en/download> and extract the JJazzLab .tar.xz file, e.g\
   `tar -xf JJazzLab-4.0.2-linux-x64.tar.xz`
3. **Make sure** **that all extracted files** have **read permission** ('`r`'), and that `bin/jjazzlab` and `jdk/bin/java` have **execution permission** ('`x`'), as shown below: ![](https://1057949908-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQE7B7yjVY3xzlsorS4-887967055%2Fuploads%2FHZLXyZSUrTwZ9RtKB6Bo%2F2024-01-03%2011_38_13-Ubuntu22LTS%20%5BRunning%5D%20-%20Oracle%20VM%20VirtualBox.png?alt=media\&token=7dbf00b6-dc0a-49ed-b6d6-8cda8c9be4d0)\
   To add read+execution permissions: `chmod a+rx bin/jjazzlab jdk/bin/java`
4. Run`bin/jjazzlab`

#### Special case: `libfluidsynth.so.3` in a non-standard directory

On Linux, JJazzLab uses FluidSynth via its shared library `libfluidsynth.so.3` (or `libfluidsynth.so`). The file is expected to be in one of the standard directories:\
`/usr/lib/x86_64-linux-gnu, /usr/lib, /usr/lib64, /usr/local/lib, /lib`

If you successfully installed FluidSynth (**>=2.2.0, but avoid 2.4.4 which has a bug**) but JJazzLab can't load FluidSynth, it's possible that `libfluidsynth.so.3` was installed in a non-standard directory. Once you found the file location (for example in `/tmp/lib/libfluidsynth.so.3`), you can tell JJazzLab where to find it:

* In the JJazzLab installation directory, edit file `etc/jjazzlab.conf`
* Add `-J-Dfluidsynthlib.path=/tmp/lib/libfluidsynth.so.3` at the end of the `default_options` variable
* Start JJazzLab

{% hint style="danger" %}
JJazzLab embeds its own Java Runtime Engine. You don't have to deal with Java at all. Trying to use a different JRE/JDK will certainly generate problems.
{% endhint %}

### Using flatpak

{% hint style="danger" %}
The Flatpak package is **NOT** a JJazzLab official package, it is kindly provided by a JJazzLab user. Therefore **we do not provide support for it**. If you encounter problems, please try the other packages proposed on this page.
{% endhint %}

<https://flathub.org/apps/org.jjazzlab.JJazzLab>
