Keine Hardware-Beschleunigung bei VMWare und openSUSE Linux

Beim Start meiner virtuellen Maschinen unter openSUSE 13.2 mit dem VMWare-Player 6.0.6 habe ich immer folgende Meldung bekommen:

Hardware graphics acceleration is not availabe.

As a result, this virtual machine may experience very low graphics performance. Follow the instructions provided by your graphics card vendor or Linux distribution in order to update your computer’s OpenGL drivers.

Mein Rechner hat eine integrierte Intel HD Graphics 3000 und läuft mit MESA 10.3.7. Aber nicht das Updaten der MESA Treiber löst das Problem, sondern ein Editieren der *.vmx Datei mit einem beliebigen Texteditor. Am Ende fügt man einfach folgendes hinzu:

mks.gl.allowBlacklistedDrivers = „TRUE“

[Quelle: http://mysteriouscable.blogspot.de/2014/07/as-result-this-virtual-machine-may.html]

Und schon ist die Meldung weg 🙂

Performanceproblem VMWare / Windows 7 / KDE (openSUSE 13.2) gelöst

Das Windows, das bei meinem Rechner dabei war, betreibe ich unter VMWare. Der Rechner selbst läuft unter Linux.

Leider hatte ich ziemliche Performance-Probleme beim Wechsel zwischen der VM und den anderen laufenden Programmen. Alleine auf einen anderen virtuellen Desktop zu wechseln, auf dem nur ein einziges Programm lief, hat gefühlt ewig gedauert und das System komplett lahm gelegt.

An sich fühlte sich das an, als würde das komplette RAM Inhalt auf die Festplatte ausgelagert. Wobei das eigentlich kaum möglich ist. Der Rechner hat 8 GB und die VM nur 4 GB. Da sollte eigentlich Luft sein. Von daher war mir immer schleierhaft, warum das so ein Problem ist. Zumal ich mir auch sicher bin, dass früher™ das Problem nicht so extrem in dieser Form bestanden hat.

Heute habe ich dann zufällig gemerkt, dass diese totale Systemüberlastung sogar auftritt, wenn ich mittels Alt+F2 unter KDE die Eingabezeile zum Schnellstart von Programmen einblende. Und die kann nun wirklich nicht viel Speicher fressen. Ein „top“ hat mir verraten, dass der Window Manager „kwin“ – zusätzlich zum VMWare Player – dann jede Menge CPU braucht. Und darüber bin ich drauf gekommen, wo das Problem liegen könnte.

Es sind die sogenannten „Arbeitsflächen-Effekte“! Also die Animationen beim Wechsel zwischen virtuellen Desktops, beim in den Vordergrund-Bringen von Fenstern etc. Und in der Tat, auf älteren Rechnern hatte ich die meist nicht aktiviert, deswegen hatte ich das Problem dort nicht.

Die gute Nachricht ist, man muss die nicht komplett deaktivieren, man kann sie mit der Tastenkombination Shift+Alt+F12 auch temporär deaktivieren bevor man VMWare startet. Und mit derselben Kombination wieder aktivieren, wenn VMWare beendet ist. Problem gelöst 🙂KDE Arbeitsflächen-Effekte

Wake-On-Lan mit Opensuse 13.1

Ich habe seit kurzem ein Cubieboard2[1] zuhause, auf dem meine ownCloud läuft. Und da ich nun einen permanent laufenden Rechner habe, dachte ich mir, ich richte meinen großen PC so ein, dass ich den zur Not auch mal remote hochfahren kann. Um z.B. tagsüber von unterwegs schonmal einen größeren Download anzuschmeissen, damit der fertig ist, wenn ich nach Hause komme. Und weil ich doch ein bisschen rumprobieren musste, fasse ich hier einfach mal alles kurz zusammen.

Als erstes muss man die richtigen Einstellungen im BIOS treffen. Mein Mainboard ist ein ASUS P8H67-M LX/SI, wo man im erweiterten Modus erst das APM Menü öffnen muss.
APM Menü in den erweiterten BIOS Einstellungen

Und dort aktiviert man dann „Einschalten durch PCIE“.
Wake-On-Lan aktivieren (PCIE)

Danach kommt die Einrichtung des Betriebssystems an die Reihe. Bei mir läuft Opensuse 13.1. Im Netz habe ich zwar recht schnell die nötige Einstellung per ethtool gefunden, doch das alleine hat nicht geholfen, der Rechner liess sich nicht aufwecken. Etwas weitere Recherche lieferte dann noch den Hinweis, über das SysFS das Wakeup für das entsprechende Gerät grundsätzlich zu aktivieren. Demzufolge habe ich dann diese beiden Zeilen ans Ende der /etc/init.d/boot.local geschrieben:

ethtool -s enp5s0 wol g;
echo enabled > /sys/class/net/enp5s0/device/power/wakeup

Wobei „enp5s0“ der Name des Netzwerkinterfaces ist (sonst üblicherweise „eth0“). Das „g“ im „ethtool“ Kommando bedeutet übrigens, dass das Aufwecken über ein sog. Magic Paket passiert.

Auf meinem Cubieboard habe ich mir dann folgende ausführbare Datei als /usr/local/bin/wake-desktop angelegt (die MAC Adresse gibt’s via „ifconfig enp5s0“)

#!/bin/bash
if [ $EUID -gt 0 ]; then
exec sudo „$0“
fi
etherwake -D bc:ae:c5:e1:8a:d9

und meinen User in die /etc/sudoers eingetragen

brack    ALL=NOPASSWD: /usr/local/bin/wake-desktop

Und nun kann ich mich z.B. von meinem Fairphone aus auf das Cubieboard einloggen (ich nutze JuiceSSH) und den Rechner aufwecken.

PC aufwecken per JuiceSSH

Anmerkungen:
[1]: über die Einrichtung des Cubieboards und der ownCloud darauf will ich auch noch bloggen, das kommt aber erst später. An dieser Stelle nur kurz der Hinweis, dass ich dieses Debian Wheezy (7.5) Image installiert habe und die fertigen ownCloud Pakete vom Opensuse Build Service nutze

Problem beim Zusammenspiel ownCloud, zNotes und Windows/Linux

Seit einiger Zeit nutze ich ownCloud 5.x für meine private Cloud. Kalender und Kontakte funktionieren soweit ganz gut.

Irgendwann habe ich angefangen auch Notizen synchronisieren zu wollen. Und zwar zwischen einem Rechner mit Windows 7 auf Arbeit und dem Rechner zuhause mit openSUSE 12.3. Dabei bin ich im Netz darauf gestoßen, zNotes zu benutzen, weil das für beide Plattformen verfügbar ist.

Passt soweit ganz gut, nur gibt es regelmäßig ein Problem: ändere ich auf dem Linux-Rechner was, synchronisiert sich der Windows-Rechner wie erwartet.
Ändere ich aber auf dem Windows-Rechner, habe ich auf dem Linux-Rechner immer zu allen Notizen einen Konflikt.
Da ich nie gleichzeitig ändere, kann ich gefahrlos die Konflikt-Dateien löschen. Es ist aber schon ziemlich nervig.

Leider habe ich noch keine Lösung gefunden. Ich hoffe, die kann ich hier irgendwann nachreichen…

Erstes gekauftes ebook

Heute sollte es also soweit sein, ich hab‘ mein erstes ebook gekauft. Zu Testzwecken fand ich es ganz praktisch, dass Empört Euch! nur 3,99 EUR kostet und ich eh darüber nachgedacht hatte, mir das zu kaufen.

Zuerst habe ich versucht, das Ganze unter Linux zu realisieren. Als erstes braucht man Adobe Digital Editions. Leider sagt einem die Seite, dass das eigene System nicht den Anforderungen (Windows oder Mac) entspricht. Zum Glück gibt es ganz unten einen Link „Installation Tech Note“, dort findet man einen direkten Download-Link für die Windows EXE.

Auf meinem Rechner habe ich Wine 1.3.13 installiert, damit tut ein einfacher Doppelklick auf die EXE. Installiert und gestartet soll man erst einmal eine Adobe-ID einrichten, damit man DRM geschütztes Material später auch auf mehreren Geräten lesen kann. Gut, das schnell nachgeholt und den Computer autorisiert.

Jetzt geht es daran, das Buch zu kaufen. Alles ganz easy im normalen Bestellprozess. Bei Bookzilla bekommt man am Ende den Hinweis, dass der Download in Kürzen unter den eigenen Downloads auftaucht. Also den Link geklickt und „Öffnen mit: Digital Editions“ ausgewählt. Das Programm öffnet sich, lädt das Buch runter und man kann los lesen.

Doch hier scheint unter Linux erstmal Schluss zu sein. Um das Buch auf den Reader zu übertragen, soll man den per USB anstöpseln, Digital Editions würde den erkennen und auch um Autorisierung bitten. Aber bei USB ist bei Wine offenbar Schluss. D.h. auf dem Linux-Rechner lesen geht, nicht aber das Übertragen an den Reader.

Also das ganze Spiel auf meinem Win-Laptop wiederholt, das Buch erneut heruntergeladen, … , nichts 😦
Kann gut sein, dass es Probleme gab, weil nach langer Zeit der Nicht-Nutzung erst einmal eine Update-Orgie anstand. Also mal Reboot und nochmal gucken.
Im zweiten Anlauf hat es dann funktioniert: Reader anstöpseln und Digital Editions präsentiert automatisch die Autorisierung des Geräts, welches dann auch im linken Bereich des Programms angezeigt wird. Dann funktioniert auch Drag’n’Drop des Buches auf den Reader.

Tja, mir wäre aber trotzdem lieber, dass das auch unter Linux funktioniert…

Wie ich meine erste DVD gemacht habe

Nun war es soweit: man machte mich auf den nicht-kommerziellen Film „The Hunt For Gollum“ aufmerksam. Sehr interessant. Aber ich schaue ungern längere Videos am PC. Also wollte ich mich endlich mal damit auseinandersetzen, wie man aus solch einem freien Video eine DVD fürs Wohnzimmer macht. Dank der Download-Helper Extension von Firefox war es auch kein Problem, den Film im Flash-Format auf die Platte zu bekommen. Doch wie sollte es nun weitergehen?

Schnell stieß ich auf „tovid“, was mir als sehr gangbare Lösung erschien, wenn ich mich nicht mit tausenden Kommandozeilen-Parametern selbst auseinander setzen wollte.

tovid -pal -dvd -force -full 
  -in TheHuntForGollum.flv -out TheHuntForGollum_DVD

Dies erzeugt TheHuntForGollum_DVD.mpg, aber noch ohne Untertitel. Diese galt es separat herunterzuladen als TheHuntForGollum.srt und per „spumux“ hinzuzufügen.

spumux -s0 -m dvd -P subtitles.xml 
   TheHuntForGollum_DVD_with_subtitles.mpg

Dazu muss man eine Datei „subtitles.xml“ erstellen, die wie folgt aussieht:


Hierbei muss sich der Font im Verzeichnis „~/.spumux“ befinden. FPS, Width und Height entsprechen dem PAL Format. Das character set musste ich explizit angeben, sonst wären die Umlaute korrupt gewesen. Schön wäre es, ohne diese manuell erstellte XML-Datei und diesen Zwischenschritt auszukommen.
tovid selbst besitzt auch die Möglichkeiten, Untertitel einzublenden, diese werden aber Teil des Videos und lassen sich nicht ausblenden. Das wäre eine Variante, wenn’s weniger Arbeit sein soll.

Da es weiterhin ein Making Of und ein Special Effects Video gibt, habe ich diese auch runtergeladen und mit tovid konvertiert (diesmal ohne Untertitel).

Dann sollte daraus noch eine DVD entstehen. Dabei brauche ich nicht unbedingt ein tolles Menü. Automatisch generiert geht das mit „todisc“:

LANG="en_EN.UTF-8" todisc -pal -menu-title "The Hunt for Gollum" 
  -files TheHuntForGollum_DVD_with_subtitles.mpg 
         BeHindTheScenes.mpg SpecialEffects.mpg 
  -titles "The Hunt for Gollum" 
          "Behind the scenes" "Special effects" 
  -out The_Hunt_for_Gollum

Das LANG=“en_EN.UTF-8″ ist nötig, da das Skript intern mit printf arbeitet und bei anderer locale der Dezimaltrenner die weitere Verarbeitung verhindert.

Danach kann man den Film nochmal prüfen

xine "dvd:/./The_Hunt_for_Gollum"

oder gleich brennen

makedvd -burn "./The_Hunt_for_Gollum"