ACM Premium Audio

Installation von Roon unter Linux

Übersicht

 

Für Linux sind zwei Pakete verfügbar: Roon Bridge und Roon Server. Es gibt keinen wirklichen Grund, Roon Server und Roon Bridge auf demselben Rechner laufen zu lassen, da beide den gleichen Zugriff auf Audiogeräte bieten. Dennoch sollte dies keine Probleme verursachen.

 

Roon Server für Linux läuft auf x86_64 Plattformen. Roon Bridge für Linux läuft auf x86_64 und armv7hf und armv8 Plattformen. In allen Fällen ist es unser Ziel, Versionen von Linux-Distributionen zu unterstützen, die etwa bis Anfang 2014 zurückreichen, aber es kann Ausnahmen geben. Distributionsspezifisches Feedback ist willkommen.

 

Die besten Erfahrungen haben wir mit Ubuntu 15.10 und aktuellen Arch-Maschinen gemacht, aber wir haben auch Ubuntu-Versionen bis zurück zu 14.04 sowie Fedora 22 und 23 getestet. Die Arm-Builds sind für relativ aktuelle Geräte mit Hard-Float-Fähigkeit wie den Raspberry Pi 2, iMX6-basierte Produkte wie CuBox und Wandboard, Allwinner A20s, Odroid C2s, Allwinner H3s, etc. gedacht. Abhängig vom genauen Anwendungsfall können sie auch auf schwächerer Hardware laufen.

 

Schauen Sie sich unbedingt Audio On Linux an, um einige hardwarespezifische Hinweise zu erhalten, wenn Sie diesen Weg gehen wollen.

 

Herunterladen

 

Easy Installer

 

Verwenden Sie den Easy Installer, der die Roon Bridge mit den von uns empfohlenen Einstellungen und ohne großen Aufwand installiert. Laden Sie die einfachen Installationsskripte unten herunter (empfohlen):
Roon Server (x64) [4]
Roon Bridge (x64)[5]
Roon Bridge (x86 32bit)
Roon Bridge (armv7hf)[6]
Roon Bridge (armv8)[8]

 

Manuelle Installation

 

Laden Sie das Paket herunter und installieren Sie es manuell nach Ihren Wünschen. In beiden Fällen müssen Sie vor der Installation von `RoonServer` oder `RoonBridge` die erforderlichen Abhängigkeiten installieren.

 

Pakete für manuelle Installationen (siehe unten):

 

Roon Server (x64)[1]
Roon Bridge (x64)[2]
Roon Bridge (x86 32bit)
Roon Bridge (armv7hf)[3]
Roon Bridge (armv8)[7]

 

Abhängigkeiten

 

ffmpeg oder avconv (nur Roon Server)

ffmpeg“ oder ‚avconv‘ müssen installiert und in Ihrem ‚PATH‘ verfügbar sein. Der Roon Server startet nicht, wenn er das eine oder das andere nicht findet. Sie brauchen nur das eine oder das andere, nicht beide. Wenn beide vorhanden sind, verwendet Roon Server `ffmpeg`. Unter Debian, Ubuntu und anderen Distributionen, die `apt-get` für die Paketverwaltung verwenden, wird im Allgemeinen einer der folgenden Befehle diese Abhängigkeit erfüllen: Für `ffmpeg`:

$ sudo apt-get install ffmpeg

 

Für `avconv`:
$ sudo apt-get install libav-tools

 

Wenn Ihre Distribution keine der beiden Optionen unterstützt und Sie sich nicht trauen, eines dieser Dinge aus dem Quellcode zu bauen, können Sie immer noch eine statisch gelinkte Kopie von `ffmpeg` hier herunterladen und in `/usr/local/bin` als letzten Ausweg einfügen.

 

libasound2 (1.0.27+ erforderlich, 1.0.29+ empfohlen)

 

Roon ist abhängig von ALSA, der Advanced Linux Sound Architecture. Die meisten Distributionen haben ein Paket namens `alsa-lib` oder `libasound2`, das diese Abhängigkeit erfüllt. Um Native DSD-Wiedergabe zu unterstützen, benötigen Sie einen Kernel, der Ihr Gerät unterstützt (siehe hier – möglicherweise müssen Sie Ihren Kernel patchen), sowie ALSA 1.0.29+. Wir haben Roon nicht mit älteren ALSA-Bibliotheken getestet – vielleicht funktionieren sie, vielleicht nicht.

 

cifs-utils (nur Roon Server)

 

Wenn Sie Roons Netzwerkordner-Funktion nutzen wollen, muss der Befehl `mount.cifs` in Ihrem `PATH` verfügbar sein. Im Allgemeinen kommt dieser Befehl aus einem Paket namens `cifs-utils`.

 

glibc

 

Wir zielen auf `glibc`-Versionen ab, die bis zur Version 2.14 zurückreichen. Wenn Sie eine alternative libc verwenden und Ihre libc Binärkompatibilität mit glibc 2.14 oder höher beansprucht, wären wir daran interessiert zu hören, wie es bei Ihnen läuft.

 

Aktueller Linux-Kernel

 

Wir testen mit aktuellen (4.x) Kerneln. Es ist wahrscheinlich, dass auch ältere Kernel funktionieren werden. Eine Reihe relevanter ALSA-Arbeiten wurde um 3.19 herum eingefügt. Wenn Sie also weiter zurückgehen, könnten Sie Probleme bekommen, wenn Sie beabsichtigen, Audiogeräte mit DSD-Unterstützung zu betreiben.

 

Firewall-Einstellungen

 

Beachten Sie, dass Multicast- und Broadcast-Verkehr in der Firewall erlaubt sein muss. Weitere Informationen finden Sie in diesem Beitrag: https://community.roonlabs.com/t/android-roon-remote-looses-connection-to-core-daily/61650/46

 

Der Easy Installer (empfohlen)

 

Der Easy Installer ist ein einfacher Weg, um Roon Server oder Roon Bridge unter Linux mit den von uns empfohlenen Einstellungen zu installieren. Das Installationsprogramm erkennt fehlende Abhängigkeiten und/oder Kompatibilitätsprobleme, bevor es versucht, das Paket zu installieren. Wenn Sie auf Kompatibilitätsprobleme stoßen, lesen Sie bitte den Abschnitt Abhängigkeiten weiter oben. Unsere empfohlenen Einstellungen sind:


Installation in `/opt/RoonBridge` oder `/opt/RoonServer`
Die Daten werden in `/var/roon/RoonBridge` oder `/var/roon/RoonServer` gespeichert
Die Anwendung wird als `root` ausgeführt
Die Anwendung wird sofort gestartet und wird beim Booten automatisch neu gestartet

 

Wir haben dieses Installationsprogramm auf mehreren aktuellen Distributionen getestet, darunter:

 

Arch (aktuell)
Fedora 23
Ubuntu 15.10

 

Roon-Server x86_64


$ curl -O -L https://download.roonlabs.com/builds/roonserver-installer-linuxx64.sh
$ chmod +x roonserver-installer-linuxx64.sh
$ sudo ./roonserver-installer-linuxx64.sh

 

Roon-Bridge x86_64


$ curl -O -L https://download.roonlabs.com/builds/roonbridge-installer-linuxx64.sh
$ chmod +x roonbridge-installer-linuxx64.sh
$ sudo ./roonbridge-installer-linuxx64.sh

 

Roon Bridge armv7hf


$ curl -O -L https://download.roonlabs.com/builds/roonbridge-installer-linuxarmv7hf.sh
$ chmod +x roonbridge-installer-linuxarmv7hf.sh
$ sudo ./roonbridge-installer-linuxarmv7hf.sh

 

Roon Bridge armv8


$ curl -O -L https://download.roonlabs.com/builds/roonbridge-installer-linuxarmv8.sh
$ chmod +x roonbridge-installer-linuxarmv8.sh
$ sudo ./roonbridge-installationsprogramm-linuxarmv8.sh

 

Speicherort der Protokolldatei


Wenn Sie das einfache Installationsprogramm verwendet haben, finden Sie die Protokolldateien in `/var/roon/RoonServer/Logs`, `/var/roon/RAATServer/Logs` und `/var/roon/RoonBridge/Logs`.

 

Deinstallation von


Sie können die Schritte des einfachen Installationsprogramms rückgängig machen, indem Sie es mit dem Befehlszeilenparameter „uninstall“ ausführen. Zum Beispiel:


$ sudo ./roonbridge-installer-linuxarmv7hf.sh uninstall

 

Manuelle Installation (Fortgeschrittene)

 

Manuelle Installationen sind etwas aufwändiger, und es ist nicht schwer, eine fehlerhafte oder schlecht funktionierende Installation zu erhalten. Wir werden versuchen, diese so gut wie möglich zu unterstützen, aber wir empfehlen, dass Leute, die noch keine erfahrenen Linux-Benutzer sind, die einfache Installation wählen.

 

Roon Server und Roon Bridge werden jeweils als eigenständiges Tarball-Paket geliefert. Das Layout und die Prozeduren, die mit jedem Paket verbunden sind, sind die gleichen, daher werden wir Roon Server als Beispiel verwenden.


Privilegien


Wir empfehlen, Roon Server und Roon Bridge als root auszuführen. Unsere distributionsspezifischen Pakete werden auf diese Weise funktionieren, sobald sie veröffentlicht sind. Es steht Ihnen frei, Roon Server/Roon Bridge unter einem anderen Benutzerkonto laufen zu lassen. Wenn Sie dies tun, stellen Sie bitte sicher:
Das Benutzerkonto muss in der Lage sein, Verzeichnisse in `/mnt` zu erstellen, um Netzwerkordner zu mounten. Wir verwenden `mount.cifs`, um die Einhängevorgänge durchzuführen.
Das Benutzerkonto muss Zugriff auf Audiogeräte haben. Oft wird dies durch Hinzufügen des Kontos zur Gruppe `audio` erreicht.
Das Benutzerkonto muss die Erlaubnis haben, seinen `ulimit -n` Wert auf `8192` zu erhöhen.
Das Benutzerkonto muss die Erlaubnis haben, in das Verzeichnis zu schreiben, in dem `RoonServer` installiert ist, damit die Software sich selbst aktualisieren kann.


Aufbau des Pakets


Nachdem Sie das Archiv entpackt haben, werden Sie zwei interessante Skripte darin finden:


RoonServer/
RoonServer/…
RoonServer/check.sh
RoonServer/start.sh

 

Das Skript `check.sh` schaut sich in deinem System um, um zu überprüfen, ob alle benötigten Abhängigkeiten erfüllt sind. Es sollte unter demselben Benutzerkonto ausgeführt werden, unter dem Sie das eigentliche Paket ausführen wollen.

Fehlende Abhängigkeiten können später zu verwirrenden Fehlern führen. Stellen Sie daher sicher, dass `check.sh` erfolgreich ist, bevor Sie eine Supportanfrage stellen.


`start.sh` ist ein langlaufendes Skript, das `RoonServer` oder `RoonBridge` startet und verwaltet. Sie können `RoonServer` oder `RoonBridge` beenden, indem Sie ein `TERM`-Signal an die `PID` des `start.sh`-Skripts senden. Das Paket aktualisiert sich selbst innerhalb seines Installationsverzeichnisses, so wie es auf Mac und Windows der Fall ist.

 

Konfigurieren des Datenspeichers


Standardmäßig erstellt der Roon Server versteckte Verzeichnisse namens `.RoonServer` und `.RAATServer` innerhalb von `$HOME`. Roon Bridge verwendet ebenfalls das `.RAATServer` Verzeichnis. Du kannst Roon Server und Roon Bridge mit der Umgebungsvariablen `$ROON_DATAROOT` anweisen, die Daten an einem anderen Ort abzulegen. Wenn Sie zum Beispiel einen „traditionellen“ Systemdienst unter Unix installieren würden, könnten Sie die Daten von Roon in `/var/roon` ablegen. Sie könnten den Roon Server auf diese Weise starten:
$ ROON_DATAROOT=/var/roon ./start.sh

Wenn Sie sowohl Roon Server als auch Roon Bridge auf einem einzigen Rechner betreiben, müssen beide den gleichen Wert für diese Umgebungsvariable haben.

 

Standardmäßig befinden sich die Protokolle in $HOME/.RoonServer/Logs und $HOME/.RAATServer/Logs. Wenn Sie `$ROON_DATAROOT` angepasst haben, dann befinden sie sich in `$ROON_DATAROOT/RoonServer/Logs` und `$ROON_DATAROOT/RAATServer/Logs`.

 

Konfigurieren des Roon Servers oder der Roon Bridge zum Starten beim Booten


Unsere einfachen Installationsprogramme erledigen dies für Sie. Wenn Sie wissen möchten, wie Sie dies von Hand tun können, schauen Sie in den Skripten nach, die Informationen finden Sie dort. Andernfalls folgen Sie den Anweisungen Ihrer Distribution und beachten Sie, dass `start.sh` ein langlaufendes Skript ist, das Sie zu den entsprechenden Zeiten starten und beenden müssen.

 

[1]: https://download.roonlabs.com/builds/RoonServer_linuxx64.tar.bz2
[2]: https://download.roonlabs.com/builds/RoonBridge_linuxx64.tar.bz2
[3]: https://download.roonlabs.com/builds/RoonBridge_linuxarmv7hf.tar.bz2
[4]: https://download.roonlabs.com/builds/roonserver-installer-linuxx64.sh
[5]: https://download.roonlabs.com/builds/roonbridge-installer-linuxx64.sh
[6]: https://download.roonlabs.com/builds/roonbridge-installer-linuxarmv7hf.sh
[7]: https://download.roonlabs.com/builds/RoonBridge_linuxarmv8.tar.bz2
[8]: https://download.roonlabs.com/builds/roonbridge-installer-linuxarmv8.sh