AES-XTS-PLAIN – Retest die Zweite

Wenn man Ubuntu 11.04 installiert bekommt man den neuen 2.6.38 Kernel installiert, oder man installiert sich über das Ubuntu-Kernel-Team einen Backport. Was hat das nun mit der AES-XTS-PLAIN Verschlüsselung zu tun. Nunja mit dem 2.6.38 wurde die Mehrkernfähigkeit der Verschlüsseungsalgorithmen entscheidend verbessert.  Hier nun mein kleiner Nachtest:

  • Write Char: ? 1,11 MB/s (aktuell) statt 65,85MB/s (alt)
  • Read Char: 2,5 MB/s (aktuell) statt 29,46MB/s (alt)
  • Write Block: 165,08 MB/s (aktuell) statt 133,81MB/s (alt)
  • Rewrite: 51,91 MB/s (aktuell) statt 33,14MB/s (alt)
  • Read Block: 147,34 MB/s (aktuell) statt 57,13 MB/s (alt)

Fazit: Wie gehabt ist das schreiben zufällige einzelnen Chars extrem langsam. Was dem gut gefüllten Filesystem zugeschrieben werden kann. Was jedoch auffällt ist die enorme Leistungssteigerung in den restlichen Disziplinen. Es kann nun nahezu so schnell gelesen wie geschrieben werden. Was nahezu einer Verdopplung der Lesegeschwindigkeit gleich kommt. Auch die Schreibgeschwindigkeit konnte gesteigert werden, wobei der nicht so hohe Steigerungen zu erreichen sind. Die Leistungssteigerung wird natürlich durch eine höhere Auslastung der CPU erkauft. In meinem Fall werden nun beide CPUs in Beschlag genommen. Das System blieb aber während des Test gut ansprechbar und reagierte ohne Probleme auf eingaben. Also ein reiner Zugewinn an Geschwindigkeit.

Spielen unter Ubuntu

In meinem letzten Beitrag habe ich über sie Einsetzbarkeit von Linux als Systemplattform schwadroniert. Dabei ging ich auch auf das Einsatzfeld des Desktops ein. Das Fazit war, das es noch immer „abenteuerlich“ ist, ein „normales“ Spiel unter Linux zum laufen zu bekommen. Hier mal etwas mehr Details zum Thema Zocken unter Linux (am Beispiel Ubuntu)

Da es bei diesem Thema nur so von Problemen, Schwierigkeiten und Stolpersteinen wimmelt, geh ich sie einfach der Reihe nach durch, so wie sie mir Wiederfahren sind und gehe dann auf die Lösungsansätze ein.

Grafikkarten

Dies ist ein mehr oder minder leidiges Thema. Wer es gewohnt ist, mit der aktuellen Grafikkarte zu spielen, die eben erst auf den Markt geworfen wurde, wird nicht viel spielen. Obwohl sowohl NVidia als auch AMD Linuxtreiber zur Verfügung stellen dauert es immer ein wenig bis das Top-Model auch von diesen Treiber unterstützt werden. Aber selbst dann ist der Funktionsumfang und die Einstellmöglichkeiten der Treiber weit hinter dem, was die Windowstreiber bieten. Es gibt zwar auch OpenSource Treiber für beide Grafik-Hersteller, diese haben meist jedoch eine noch hoher Verzögerung was den Support anbelangt und können kaum im 3D Bereich mithalten ((??? zu klären). Fürs spielen ist mal also auf die ClosedSource Treiber angewiesen, wenn die nicht gehen, hat man Pech gehabt.

Verfügbarkeit:

Hat man eine funktionierende 3D Umgebung OpenGL kommt das zweite große Problem: läuft das Spiel überhaupt? Das Feld für die möglichen Antworten teilt sich theoretisch in folgende Quellen auf:

  • Das Spiel liegt compilierbar vor und ist Multiplatformfähig – hier hat man den wenigstens Stress. Selbst wenn es kein Pakete für die eigene Distribution gibt, kann man das Spiel zum laufen bekommen.
  • Das Spiel liegt als Binary für Linux nativ vor – hier hängt es von der Architektur und den vorliegenden Rahmenbedienungen (verwendete libc) ab ob das Spiel läuft.
  • Spiele auf Java/Mono/Flash-Basis – Spiel einfach starten.
  • Spiele die nativ nur unter Wundows laufen – wine installieren und ausprobieren was geht.

Punkt 1-3 bekommen erst in den letzten Monaten Relevanz. Durch das Aufkommen der verschiedener Plattformen (iOS, Android) und einem wachsendem Indi Markt, rückt der Gedankte der nativen MultiPlatformfähigkeit von Spielen mehr in den Mittelpunkt. Das nützt nur alles nichts, alle aktuellen Bestseller sind Windows Spiele oder laufen gar nicht erst auf dem PC.

Wine

Und hier beginnt das Basteln. Als erste Anlaufstelle sollte app.winehq.com sein um zu schauen ob es eine Realistische Chance gibt, dass man das gewünschte Spiel/Anwendung überhaupt zum laufen bekommt. Idealerweise vor dem Kauf machen. Wenn das Wunschspiel dort nicht gelistet ist, kann man sich auf Schwierigkeiten einstellen.

Wine sollte man über das WineUbuntu-Team aus dem Launchpad (https://launchpad.net/~ubuntu-wine/+archive/ppa) installieren, da dies eine der wenigen Applikationen ist, wo man hinter der Entwicklerversion hinterherhecheln darf/muss.

Nach der Installation einmal wincfg im Terminal aufrufen und ggf. zusätzliche Verzeichnisse einbinden.

Wichtiger Hinweis: wine legt das DosDrive C: standardmäßig ins Homeverzeichniss. Wenn man selbiges nicht Sprengen will sollte man den symbolischen Link einfach umbiegen:

cd ~/.wine/dosdevices
mv c: /some/user/defined/path
ln -s /some/user/defined/path c:

Hat man das gemacht kann es losgehen. Spiel installieren, starten, zocken und Spaß haben… theoretisch. Im Problemfall gibt es wenig allgemeine Hilfe. Da wine die Functions-Calls der Anwendungen „umbiegt“ kann alles an Fehler passieren was man sich so vorstellen kann. Auch Dinge die eigentlich nicht möglich sind… 😉

Hier ein paar Lösungsansätze:

  • Die CD wird beim installieren nicht erkannt/ Installieren geht gar nicht: Versuchen aus einer VM heraus das Spiel zu installieren. Anschließen das Verzeichnis raus kopieren und versuchen die Sache so ans fliegen zu bekommen.
  • Der Kopierschutz erkennt die CD nicht/ Kopierschutz verweigert dienst: kurz und knapp – Pech gehabt. Fast alle Kopierschütze haben ein Probleme mit der Fake-Windows-Umgebung. Da hilft nur ein „patch“ aus hebelt
  • Das Spiel startet nicht, stürtzt ab, verhält sich komisch: starte das spiel von der Konsole aus. Wine logt fast alles mit, was schief geht. Schmiert das Spiel ab und es Tauchen „FixMe – ToBe Implemented“ Meldungen auf, ist der Fall klar, da ist eine Funktion noch nicht implementiert. Meist sind die Fehlermeldungen aber kryptischer. Dann kann man google bemühen oder seinen Fall bei winehq posten. Je beliebter das Spiel ist, je schneller wird sich Support einstellen.

Hat man das Spiel erst mal am Laufen und will es sich „bequem“ machen, wird es erst richtig spaßig. Der Markt da draußen ist voll von programmierbaren Zusatztastaturen, Mäusen mit X-Tasten und allerlei Sonderhardware (HOTAS-Sticks usw). Zuerst die gute Nachricht: Fast alle davon werden erkannt und angesteuert. Ob nun mein alter HOTAS Cougar, PCDash oder Tacticalboard. Nun die Schlechte: das nutzt wenig. Meist wird das ganze „programmieren“ unter Windows über den Treiber abgefackelt. Unter Linux werden die Tastencodes ganz normal ausgewertet. Mir ist noch kein praktikabler Weg bekannt, bei dem Tastencode X von Tastatur A etwas anderes macht als von Tastencode X von Tastatur B.

Bei den Mäusen sieht es da schon besser aus. Wenn der XServer prinzipiell die Tastencodes erkennt und weiterreicht, gibt es das Tool btnx um diese Tastencodes in sinnvolle Aktionen umzusetzen. Das funktioniert sehr gut. Bei keinen meiner Logitech-Mäuse musste ich auf eine Tastenfunktion verzichten.

Wenn man solche Sachen wie TrackIR einsetzten will, kämpft man auf ganz verlorenen Posten.

Fazit

So genug gesalbert, hier mein Fazit nach 2 Jahren Linux Einsatz und dem Versuch darunter zu Spielen:

  • Für Spieler die nur mit Maus und Tastatur spielen, lebensfähig sind und auf ein paar Spiele verzichten können, kann ich Linux uneingeschränkt empfehlen.
  • Spieler die eh nur ab zu zu ein paar „simple“ Spielchen spielen wollen, ebenfalls. Flash geht immer 😉
  • Ambitionierte Spieler die entweder fast jedes aktuelle Spiel mitnehmen oder diverse Sonderanforderungen haben, werden ihre liebe Not bekommen. Hier ist ein parallel betriebenes (Gamer)Windows die bessere Wahl.

Ich selbst habe eine „Erfolgsrate“ von 75% vorzuweisen. Nach dem Wechsel auf Linux hab ich meinen Spiele-Konsum ohnehin stark eingeschränkt, daher ist die Rate so hoch. Von 4 Spielen war eins gar nicht zum laufen zu bekommen (ausgerechnet eins, dass eigentlich auf OpenGL setzt):

  • Ein altes Spiel (JaggedAllience2 Wildfire) war mit kniffen zum laufen zu bekommen, seit dem läuft es anstandslos.
  • WoW wird dank „Relevanz“ extrem gut unterstützt. Hier war gar kein Gefrickel notwendig. Leider war das dazu gehörige Tacticalboard nicht sinnvoll zum laufen zu bekommen. Außerdem ist WoW verdammt langweilig geworden.
  • Combat Mission – das besagte OpenGL Spiel… bekomme ich stand heute nicht zum laufen.
  • Eve Online – läuft mit einigen Kniffen sogar im vollen DualScreen – Modus

Bei allen 3D Spielen kann ich alle Shader (sofern vorhanden) aufdrehen und alle GrafikSettings auf Anschlag stellen, die Performance ist ordentlich. Bis auf kleine Bugs gibt es nur ein Manko: ich kann kein AA zuschalten.

AES-XTS-PLAIN – Retest

Nach einer langen Zeit (über einem Jahr) war es mal wieder Zeit zu testen, wie es um die Performance meines NAS bzw dessen Verschlüsselung steht. Leider hat sich zu damals die Plattenconfiguration geändert, so dass man eigendlich die Performance nicht vergleichen kann. Jedoch war damals wie heute nicht der RAID-IO der limitierende Faktor sondern die Cipher-Performance. Wie damals kommt ein RAID5 als Storage-Basis zum Einsatzt. Diesmal nur 1GB statt 250GB Platten. Weiterhin werkelt ein 2.5GHz Intel Core2Duo samt 4GB Ram in dem Server.

Da auf dem Storage schon ein Haufen Daten liegen entfallen leider die Vergleichstest der anderen Cipher, da ein on-the-fly umschlüsseln nicht möglich ist und ich keine Lust hab 8 stunden zu warten um ein Full-Backup einzuspielen.

Nun zu den Testergebnissen von Bonnie++:

  • Write Char: 1,31 MB/s (aktuell) statt 65,85MB/s (alt)
  • Read Char: 2,46 MB/s (aktuell) statt 29,46MB/s (alt)
  • Write Block: 128,57 MB/s (aktuell) statt 133,81MB/s (alt)
  • Rewrite: 38,68 MB/s (aktuell) statt 33,14MB/s (alt)
  • Read Block: 72,18 MB/s (aktuell) statt 57,13 MB/s (alt)

Zusammenfassung: Wie gehabt können Daten scheinbar schnell entschlüsselt als verschlüsselt werden. Was auch auffällt, dass die ersten drei Testwerte sehr viel schlechter sind als beim ersten Test. Das schiebe ich mal auf das initialisierte XFS Filesystem. Das FileSystem ist zu 55% gefüllt. Daher kommt es beim Write zu einer Lückensuche, die damals bei einem frisch aufgesetzten Filesystem nicht nötig war. Bei BlockRead und Rewrite zeigt sich dann, dass es Verbesserung in der Performance der Algorithmen gab. Leider scheint die Parallelisierung des AES-Algoritmus noch nicht wirklich weit voran geschritten zu sein. Ein CPU-Kern langweilt sich immer noch vollständig…

XBMC als PVR/TV-Anwendung

Gestern wurde nun endlich XBMC-Dharma released. Das bedeutet das nun endlich der PVR-Testing Branch sterben kann. Für alle die mit XBMC – TV schauen wollen wird es dann wesentlich einfacher. Da sie nicht mehr auf alternative Launchpad-Quellen oder gar Eigencompilierung angewiesen sind. Zu mindestens was XBMC betrifft.

Die Entwickler von XBMC beschreiten dabei den gleichen Weg, den die ganzen „großen“ PVR-Lösungen auch beschritten haben. Es gibt eine Trennung von Wiedergabe (frontend) und Empfang (backend) des TV-Programms. XBMC Dient dabei nur als Frontend. Eine direkte Unterstützung von TV-Karten oder Video-Recording-Devices gibt es nicht. Dafür ist die PVR-Frontend-Schnittstelle modular gehalten. So das man über Plugins fast jedes erdenkliche Backend anbinden kann. Diese Plugins benötigen jedoch Änderungen im XBMC-Code, so dass es nicht reicht einfach nur das Plugin scharf zu schalten. Es benötigt einen XBMC Build aus den PVR Testing Branch.

Aktuell werden im PVR-Testing fünf Backend-Plugins angeboten. Unterstützt werden jedoch nur drei Backends. Hier eien kurze gegenüberstellung der verfügbraren Technologien:

  • MediaPortal – TVServer: Das ding läuft außer Konkurenz. Da es Windows-Only ist, konnte und will ich es nicht testen. Für WIndows-User die eine Konsole scheuen sicherlich die beste Wahl.
  • MythTv: Eine der ältestens und wohl umfangreichsten MediaPC-Lösungen. Auf der „Haben“-Seite verbucht MythTv einem enormen Funktionsumfang und eine große Community. Für meinen Geschmack ist das Backend aber zu aufgeblasen. Das Backend bietet den vollen Funktionsumfang einer MediaPortal – Lösung. Alles Dinge die man nicht braucht, wenn man XBMC dafür nutzen will. Hinzu kommt, dass das Plugin momentan „gebrochen“ ist. Soll heißen: das Plugin spricht nur mit einer alten version von MythTv und auch dort alles andere als stabil!.
  • VDR: Das VDR Backend kann gleich mit zwei Plugins angesprochen werden. VNSI oder StreamDev. Für beides muss auf VDR Seite jeweils ein Plugin mitcompiliert und aktiviert werden. Wo wir schon beim großen Negativ-Faktor. Man darf/muss alles selber machen. Es gibt noch keine gut gepflegten Packetquellen die VSNI bieten. Ausnahme das PPA des TeamVDR. Allerdings wird dort nur für Karmic angeboten (da kann man tricksen) und sie setzten beim VDR noch auf 1.7.14. Wenn man einen neueren VDR benötigt muss man sich an diese Anleitung halten und den VDR selber bauen. Danach hat man jedoch ein sehr schlankes und robustes backend mit sehr aktiver Entwickler-Community.
  • HTS – TVHeadend: Dieses Backend ist zwischen MythTv und VDR angesiedelt. Mit dem Launchpad-Archive von Lars Op den Kamp hat man eine einfache Installationsart und dazu noch eine unkoplizierte Pflege des Systems. Das Backend liefert gleich einen eigenenes Web-AdministrationsInterface mit (Achtung: Passwörter werden im Klartext gespeichert) samt eigenem Webserver mit. Mit diesem kann man sofort loslegen und alles einrichten. Hat man den VLC installiert kann man auch gleich ohne jegdliches Frontend mal schnell die Streams abrufen.

Aktuell nutze ich TVHeadend. Das Umschalten (Zappen) zwischen den Sendern geht etwas langsamer als bei VNSI, das liegt wohl an dem verwendeten Streaming-Protokoll. Dafür ist das Plugin etwas ausgereifter und die Administration ist komfortabler. Zudem gibt es unter beim Bundle VDR-VNSI-XBMC noch einige kleinere Probleme bei der wiedergabe mancher Sender. Ich habe aber keinen Zweifel das VDR hier nachziehen wird.

Ubuntu Server und der PowerButton

Aus irgendeinem Grund haben sich die Jungs bei Canonical gedacht, es sei uncool einen Server per Powerbutton am Gehäuse runter zu fahren. Ich kann mir zwar kaum einen Grund vorstellen, wofür das nützlich sein kann. IT-Personal das stolpert und durch Zufall den Button drückt, hat auch meist Kaffee in der Hand … *G*

Um das Problem zu beheben einfach:

sudo aptitude install acpid

Ubuntu – Suspend to Disk nach SWAP-Wechsel

Wer bei seinem Ubuntu-System in die Verlegenheit kommt die SWAP-Partition zu wechseln (z.B. Vergrößerung, Wechsel der HDD gesamt) wird Feststellen, dass danach kein Suspend to Disk (Hibernate/Ruhezustand) mehr funktioniert. Das System wird zwar in den S4 Zustand versetzt, beim booten meckert der Kernel aber irgendwas von „das eine IntiRam-Signatur gefunden wurde aber nicht genutzt werden konnte“. Danach wird das System normal gestartet…

um das Problem zu lösen muss man unter /etc/initramfs-tools/conf.d/resume die UUID der neuen SWAP angeben und ein dpkg-reconfigure hinterher schicken.

sudo dpkg-reconfigure initramfs-tools

Danach will der Hibernate-Modus auch wieder 😉

Media-PC (HTPC) marke Eigenbau.

Seit nunmehr zwei Monaten schraube ich an einem MediaPC/HTPC auf basis LucidLync, XBMC und VDR. Es gibt zwar einen Haufen spezialisierter Distributionen wie mythTV, yaVDR, GeexBox usw. Oder man kauf gleich eine spezielle Box beim Hardwarehändler seiner Wahl. Ich hab mich für den Eigenbau entschieden. Beginnen möchte ich mit der Hardware. Verbaut habe ich folgendes:

  • Asus AT3IONT: Atom 330: Ein lüfterloses „all in one“ Motherboard mit einem PCI-E Port. Einziger negativpunkt: Der RAM-Controller kann nur mit 32Bit adressieren. Soll heißen, man hat zwar einen 64 Bit Chip, kann 4GB stecken, es werden aber nur 3GB angesprochen (auch mit PAX)
  • Lian Li PC-C39B: Zu diesem Chassis hab ich eine gespaltene „Meinung“. Auf der einen Seite ist das Chassis qualitativ hochwertig verarbeitet, sieht schick aus und das Design ist LianLi-typisch gut durchdacht. Auf so engen Raum hab ich noch nie so frei Hardware einbauen können., ohne mir dabei die Finger zu verbiegen. Der Haken an dem Chassis ist die mitgelieferte Fernbedienung. Es handelt sich dabei um eine RF-Fernbedienung (TSBX-2404). Was an sich genial ist, da man keine Sichtverbindung zum Empfänger braucht. Es braucht auch keinen LIRC, da der Receiver Tastencodes sendet, dummerweise auch welche mit 2Byte, die der XServer nicht verarbeiten kann. Richtig doof kommt aber der Verbauort. Man merkt, dass das Case früher mit einer IR Fernbedienung ausgeliefert wurde. Es wurde eine kleines Acryl-Fenster auf der Front vorgesehen, wohinter der Receiver montiert ist. Blöd nur, dass RF-Signale sich für Acryl nicht interessieren. Schon eher für ein vollständig geschlossenes Alu-Case. Mann nennt so was in der Physic auch Faradayscher Käfig. Die Folge: die Reichweite sinkt auf unter 2 Meter, ist lagebedingt und es macht keinen Spaß das Gerät zu bedienen.
  • IR – Adapter: Als Ersatz für den verbauten RF – Controller hab ich mir einen RC6 IR-Controler verbaut.
  • Logitech Harmony One: Eine teure Fernbedienung. Logitech halt. Aber Logitech Like richtig schick, richtig praktisch. Über Umwege (Concordance) auch unter Linux programmierbar.
  • Thermaltake Litepower 350W. Sehr leises Netzteil nicht zu hören.
  • CZ Agility2 E 2,5″ SSD 60 GB: Will SSDs haben 3 Vorteile: sie sind Lautlos, extrem schnell (diese hier 250MB/s read), brauchen kaum Strom. Letzteres ist bei Festrechner uninteressant. Der Rest macht die Dinger echt praktisch. Booten in 3 Sek (nach BIOS) und absolut keine Geräuschkulisse
  • Seagate ST3250311SV 250GB: für Mitschnitte oder lokalen Cache (dazu später mehr) braucht es etwas mehr Platz.

Als Distribution kommt Ubuntu 10.04 Lucid Lynx zum Einsatz. Allerdings mit Einschränkungen. Anfangs versuchte ich mein Glück mit dem NetbookRemix. Es stellte sich jedoch bald herraus, dass einfach sehr viel mit installiert wird, was man auf einem HTPC einfach stört, ihn bremst oder anderweitig unbrauchbar ist. Zu nennen währe da der Auto-Mount sammt Notification. Dieser brachte immer XBMC in den Background. Alles in allen war es einfacher, alles komplett selber aufzusetzen als den UNR abzuspecken. Ich hab mit der Alternate-InstallCD ein reines KonsolenSystem installiert (im BootMenu F4 drücken und dann „Nur Konsole“). Dieses System ist innerhalb von einer Sekunde einsatzbereit (Login-Prompt). Als erstes brauch man den NoDM. Das ist eine „Display-Manager“ der zum Ziel hat, kein DisplayManager zu haben 😉 Kurz es gibt keinen Loginsreen. Es wird einfach eine Default-Session mit einem vordefinierten Nutzer gestartet und doe .xsession datei ausgeführt. Alles ohne Passwort. Bei der Installation wird gleich der XServer mitinstalliert und man hat eine „grafische Oberfläche“ . Nun noch den NVidia-Treiber installiert (kostet beim boot ca 1 Sek). Anschließend nach dieser Anleitung XMBC und VDR installiert.

Danach noch HAL, LIRC und DBUS nachinstallieren und schon hat man ein Funktionierendes MediaCenter mit XBMC und VDR. Und man muss gestehen XBMC ist ein extrem schicker Eyecandy…

Ein hinweis noch, sollte XBMC den HTPC nicht herrunter fahren könne, muss man sich noch dieses Kniffes betätigen damit das auch funktioniert.

Logitech Harmony One