Prismatik unter Ubuntu mit Hyperion ersetzen
Prismatik als Kontrollsoftware für mein Lightpack funktioniert nicht einwandfrei. Neben dem blöden Fehler, unter Ubuntu nur unter Unity zu funktionieren – dass der Bug so lange existiert heißt, dass die Software nicht im mindesten gepflegt wird – ist auch die Prozessorauslastung etwas hoch. Sicher hängt das auch mit den Einstellungen zusammen, aber unter 5% hab ich es nicht bekommen. Und genau das ist ja der Punkt: Ohne den grafischen Einstellungsdialog ist Prismatik nicht ordentlich konfigurierbar, es findet sich weder im Internet noch in den Konfigurationsdateien Hilfe.
Hyperion ist besser. Hyperion ist eine Kontrollsoftware für LEDs wie dem Lightpack, die dann von anderer Software gesteuert werden kann. Leider ist die Dokumentation auch nicht wirklich toll, wenn auch erheblich besser als die von Prismatik. Es fehlt die große Übersicht, wie am Ende die LEDs kontrolliert werden können, wenn sie nicht nur unter XMBC und dem RaspberryPi laufen sollen. Daher schreibe ich hier auf, wie das unter Ubuntu und X11 funktioniert: Man lässt hyperiond laufen und benutzt dann einen Grabber für X11 wie boblight-x11, um hyperion zu steuern.
Zuerst hyperion kompilieren, indem man dieser Anleitung folgt:
sudo apt-get install git cmake build-essential checkinstall libqt4-dev libusb-1.0-0-dev python-dev git clone --recursive https://github.com/tvdzwan/hyperion.git cd hyperion cmake -DENABLE_DISPMANX=OFF -DENABLE_SPIDEV=OFF -DENABLE_X11=ON make cp bin/hyperiond /usr/local/bin/ cp bin/hyperion-remote /usr/local/bin/ sudo mkdir -p /opt/hyperion/effects sudo cp effects/* /opt/hyperion/effects/
Update 15.08.2018: Auf meinem jetzigen System lautete der Kompilierungsbefehl so:
cmake -DENABLE_DISPMANX=OFF -DENABLE_SPIDEV=OFF -DENABLE_X11=ON -DENABLE_QT5=ON -DCMAKE_BUILD_TYPE=Release -DPROTOBUF_PROTOC_EXECUTABLE=/usr/bin/protoc -DUSE_SYSTEM_PROTO_LIBS=ON
Ich musste außerdem dev-libs/protobuf kompilieren. Unter Ubuntu wäre das wahrscheinlich libprotobuf-dev und protobuf. Qt4 hatte ich nicht mehr verfügbar.
hyperiond und hyperion-remote liegen nun unter /usr/local/bin/, die Effekte unter /opt/hyperion/effects/, und damit ist hyperions Installation abgeschlossen. Nun kann die Konfiguration beginnen.
Anders als für Prismatik gibt es für hyperion ein ordentliches Konfigurationsprogramm, HyperCon. Das ist java-basiert, also darauf achten, dass mindestens das openjdk-7 installiert ist. Hypercon herunterladen und starten, auf dem Desktop durch Doppelklick, im Terminal mit:
java -jar HyperCon.jar
Ich habe mir dafür ein Skript angelegt:
onli@Fallout:~$ cat bin/hypercon #!/bin/sh cd ~/hypercon/ java -jar ~/hypercon/HyperCon.jar
Legt man die .jar so ab und startet HyperCon über das Skript, kann eine abgespeicherte Konfiguration immer wieder bearbeitet werden. Denn dafür muss die hypercon.dat im momentanen Verzeichnis liegen, man also HyperCon wie das Skript immer vom gleichen Verzeichnis aus starten.
Die Konfiguration ist im Wiki gut dokumentiert und die Optionen größtenteils auch so verständlich. Für die weitere Anleitung ist wichtig, dass der boblightserver aktiviert wird. Diese Konfigurationsdatei unter ~/.hyperion.config.json speichern. Dies ist meine.
Bei mir war das Problem, dass mein Lightpack-Modul falsch verkabelt ist. Anders als normal ist die Nummerierung nicht 1 2 3 4 5 auf der rechten Seite, sondern 3 1 2 4 5, oder so. Es war also ein Heidenaufwand, die richtige Verkabelung zu finden. Das RGB-Testvideo ab 1:02 war dafür sehr hlifreich
Den Boblightserver zu aktivieren ist wichtig, denn: Es ist möglich, dass hyperion einen eigenen X11-grabber hat, das Issue dazu ist geschlossen. Doch wenn dem so ist, ist es nicht auffindbar dokumentiert. Stattdessen werden wir boblight-x11 benutzen, der das glücklicherweise gut und ohne viel CPU-Auslastung erledigt.
Auch Boblight wird kompiliert, dieser Anleitung folgend:
sudo apt-get install libx11-dev libgl1-mesa-dev libxrender-dev libxext-dev portaudio19-dev libavcodec-dev libavformat-dev libswscale-dev libavdevice-dev svn checkout http://boblight.googlecode.com/svn/trunk/ boblight cd boblight ./configure make sudo checkinstall cp conf/lightpack.conf /etc/boblight.conf
Der Schritt mit der Konfiguration ist nicht nötig, das wäre, falls man boblight statt hyperion zur Kontrolle der LEDs benutzen wollte. Aber das jetzt mit vorzubereiten ist sinnvoll, falls hyperion später mal ausfällt.
Jetzt ist alles bereit. Hyperion starten:
hyperiond ~/.hyperion.config.json
Boblight starten:
boblight-X11 -o gamma=1
Die LEDs sollten nun funktionieren, dann können die Befehle in den Autostart.
Statt Prismatiks 6% CPU-Auslastung verbrauchen hyperiond und boblight-x11 auf meinem System jeweils ungefähr 1,5%. Zusammen mit der gewonnen Konfigurationsmöglichkeit und den anderen Möglichkeiten, die hyperion bringt – LED-Effekte beim Start zum Beispiel – ist das wesentlich besser.
Mit Radeon-Profile Takt und Lüfter der Grafikkarte unter Linux kontrollieren
Während der freie Treiber für Radeon-Grafikkarten in Spielen einen Riesensprung gemacht hat, hängt alles drumrum weiterhin Windows um Lichtjahre hinterher. Es gibt keine Programme, um komfortabel die Grafikkarte zu übertakten, keine, um die Lüfter zu kontrollieren, keine um auch nur komfortabel die Informationen der Grafikkarten zu beobachten. Dachte ich. Nur stimmt das nicht mehr.
Das Programm radeon-profile kann nicht übertakten, aber es kann die anderen Dinge: Die Grafikkarte beobachten, kontrollieren, und ab Kernel 4 kann es auch die Lüfter steuern.
Auf der ersten Seite kann zwischen den verschiedenen dpm-Profilen umgestellt werden. DPM unterstützt drei Modi: Batterie, Ausgewogen und Leistung, und für jeden Modus dann nochmal, ob je nach Auslastung automatisch zwischen der hohen oder der niedrigen Taktung ausgewählt wird, oder ob man das selbst setzen möchte.
Im zweiten Tab zeigen Graphen den Nutzungsverlauf der Grafikkarte an, wie warm sie war, mit welchem Takt sie lief, und das mit welcher Spannung. Zusammengenommen wird so schnell klar, ob die Karte so läuft wie sie soll.
Die folgende Lüftersteuerung ist das, was Linux so lange gefehlt hat. Es ist nicht radeon-profile, das die Lüftersteuerung ermöglicht, wenn ich das richtig sehe sind es Patches von Oleg Chernovsky von Anfang des Jahres. Dementsprechend war der Reiter bei mir erst aktiv, nachdem ich für mein Ubuntu 14.04 einen neueren Linux-Kernel installiert hatte – ich wählte relativ zufällig 4.0.9 aus Ubuntus Kernel-PPA, wobei von dort das linux-image, der linux-headers*_all und linux-headers-*-generic* installiert werden muss. Aber radeon-profile stellt eine gute Oberfläche bereit, mit welcher der Lüfter entweder manuell auf eine Geschwindigkeit gesetzt oder ihm eine Fankurve vorgegeben werden kann. Es macht die Funktion zugänglich.
Den vierten Reiter Exec dagegen habe ich nicht verstanden.
Nun fehlt noch die Möglichkeit, AMDs Overdrive zu kontrollieren, und später noch Takt und Spannung freier festzulegen. Das ist sicher etwas, was dieses kleine Programm nicht bewerkstelligen kann, sondern müsste jeweils vom Treiber unterstützt werden. Bin gespannt, wann auch das beim freien Linux-Treiber ankommt.
Radeon-Profile ist nicht neu, aber es hat mehr Aufmerksamkeit verdient. Testet es an, und wenn es gefällt, freut sich der Entwickler sicher über einen Github-Stern.