Voodooalert+x264 Logo
US+UK Flagge DE+AT Flagge
Sprache wechseln:
 

x264 Benchmark Kompilier- & Installationsanleitung für Oracle Solaris 11.2

Oracle Solaris Logo

Systemvoraussetzungen

Um den x264 Benchmark auf Oracle Solaris 11.2 übersetzen und installieren zu können, muß zuerst einmal eine gewisse GNU Basissoftware vorliegen. Zudem möchte ich die Installation einer grafischen Benutzeroberfläche empfehlen, falls noch nicht vorhanden. Dies ist zwar nicht unbedingt nötig, kann die Arbeit aber doch erleichtern. Dazu wäre sicherzustellen, daß der Rechner einen funktionierenden Internetzugang besitzt, wonach die folgenden Befehle als Benutzer root auszuführen sind. Der erste pkg Befehl ist nur vonnöten, wenn vorab erst noch eine grafische Benutzeroberfläche installiert werden soll, wonach man dann auch noch neustarten müßte:


Um den Bau der Software noch weiter zu vereinfachen möchte ich empfehlen, den Pfad /usr/local/bin in den Suchpfad aufzunehmen, was auf Oracle Solaris 11.2 nicht Standard ist. Unsere Software wird nämlich mit dem Prefix /usr/local installiert werden. Den Suchpfad kann man entweder für das aktive Terminal temporär setzen (folgender erster Befehl), oder auch permanent (folgender zweiter Befehl). Sollte man sich für die permanente Lösung entscheiden, muß man sich noch neu einloggen, hier genügt es, das Terminalfenster zu schließen und neu zu öffnen. Diese Einstellung ist benutzerspezifisch, muß also für normale Benutzer und root jeweils separat angewendet werden:

Yasm auf x86 Maschinen

Dieser Schritt ist ausschließlich auf Maschinen mit Prozessoren mit x86 Architektur nötig. Bei einer Installation auf SPARC Systemen kann yasm übersprungen werden, da der Assembler nur dazu da ist, hochoptimierten x86 Code für Befehlssätze wie Intel SSE/2/3/4 oder AMD LZCNT/SSE4a zu bauen.

Um hochoptimierten Code auf x86 zusammensetzen zu können, übersetzen wir uns also den yasm Assembler selbst. Zuerst aber wäre er einmal herunterzuladen:

Danach entpackt man das Archiv mittels tar -xzvf ./yasm-1.3.0.tar.gz, wechselt in das neu erstellte yasm-Verzeichnis und kann direkt mit Konfiguration und Bau beginnen. yasm ist bereits sehr gut für Solaris vorbereitet, diese Angelegenheit gestaltet sich also relativ einfach:

yasm sollte nun im System gefunden werden und ausführbar sein (nachweisbar mittels yasm --version), womit wir zum Bau von libav und x264 fortschreiten können.

Die Benchmark-Software selbst

Um x264 benutzen zu können, brauchen wir die Decodingfilter von libavcodec (kurz libav) und den x264 Encoder selbst, der im Verlauf der Installation gegen libav linked wird. Weiters natürlich das Benchmarkvideo, das als Input verwendet wird, Downloadmirror zum Download des letzteren sind am Ende [Benchmarkergebnisliste] verfügbar.

Der Einfachheit halber nehmen wir hier an, daß die Dateien nun in /export/home/user/x264src/ liegen. Weiters nehmen wir an, daß der yasm Assembler vorliegt und auffindbar ist. Auf der Konsole wechseln wir also in dieses Verzeichnis, und beginnen mit libav. Entpackt wird das Archiv mit tar -xzvf <filename.tgz>, wonach es einen libav Ordner gibt. In diesen Ordner wechsle man nun, und beginne mit den notwendigen Modifikationen und dem Ausführen der entsprechenden Scripts:

Zuerst müssen die passenden Umgebungsvariablen gesetzt werden. Diese gelten nur für die aktive Terminalsession, schließt man das Fenster also, müssen diese Befehle in einem neuen Terminalfenster auch erneut ausgeführt werden. Diese Variablen müssen sowohl für den Bau von libav, wie auch x264 gesetzt sein:
Nun starten wir den entsprechenden Konfigurationsvorgang für den libav Quellcode wie folgt (Der Opus Codec ist in modernem libav auf mehreren UNIX Systemen defekt, einschließlich Solaris, wir deaktivieren selbigen also):

Danach ist das Makefile zu editieren, weil das System ansonsten den falschen Installer verwenden wird. Man editiere also mit einem Texteditor seiner Wahl das Makefile und suche nach folgendem Block:

ifdef AVPROGS
install: install-progs install-data
endif

Vor diesem Block füge man folgendes ein, und speichere die Datei anschließend:

INSTALL="/usr/bin/ginstall"

Nun bauen und installieren wir die libav Suite:

Damit wäre libav fertig installiert, und wir können uns den letzten Brocken vorknöpfen, x264 selbst. Bevor man beginnt sollte man durch Aufruf von export eventuell noch sicherstellen, daß die Umgebungsvariablen CFLAGS, CXXFLAGS und LDFLAGS nach wie vor gesetzt sind. Nun entpacken wir x264 wie folgt: tar -xjvf last_x264.tar.bzw, wonach es einen x264 Ordner gibt, in welchen wir wechseln. Zuallererst wäre das Script configure abzuändern, man suche den folgenden Block:

sunos*|solaris*)
  SYS="SunOS"
  define HAVE_MALLOC_H
  libm="-lm"
  if cc_check "" /usr/lib/64/values-xpg6.o; then
    LDFLAGS="$LDFLAGS /usr/lib/64/values-xpg6.o"
  else
    LDFLAGS="$LDFLAGS /usr/lib/values-xpg6.o"
  fi
  if test -x /usr/ucb/install ; then
    INSTALL=/usr/ucb/install
  elif test -x /usr/bin/ginstall ; then
    # OpenSolaris
    INSTALL=/usr/bin/ginstall
  elif test -x /usr/gnu/bin/install ; then
    # OpenSolaris
    INSTALL=/usr/gnu/bin/install
  fi
  HAVE_GETOPT_LONG=0
  ;;

Diesen Block ersetzen wir komplett durch:

sunos*|solaris*)
  SYS="SunOS"
  define HAVE_MALLOC_H
  LDFLAGS="$LDFLAGS -lm -lxnet -lresolv /usr/lib/values-xpg6.o"
  INSTALL=/usr/bin/ginstall
  HAVE_GETOPT_LONG=0
  ;;

Nun können wir die Konfiguration einmal ausführen, indem wir das Script wie folgt aufrufen:

Sollte alles geklappt haben, können wir mit dem Bau fortfahren:
Nun kann man die Funktion durch x264 --version prüfen. Funktioniert das, und zeigt das Binary an, daß es gegen libswscale und libavformat linked ist, dann hat alles sauber funktioniert. Nun kann man folgendes Benchmarkscript herunterladen:

Diese Datei launchbenchmark.sh kopieren wir nun in einen für den Benchmark gedachten Unterordner, den wir ggf. anlegen: mkdir -p /export/home/user/x264benchmark. In diesem Ordner sollte auch das Inputvideo elephantsdream_source.264 landen.
Nun kann man den Benchmark im Prinzip ausführen, hierzu gebe man einfach folgendes ein, während man im Ordner /export/home/user/x264benchmark sitzt und nachdem man geprüft hat, daß das Script auch ausführbar ist (chmod +x ./launchbenchmark.sh):

Das könnte dann zum Beispiel so aussehen (Klicken, um zu vergrößern):

Oracle Solaris 11.2 Screenshot

Nach Ablauf des Tests ist das Ergebnis neben dem String "Real" abzulesen.

Je nach Maschine kann das jetzt durchwegs mehrere Stunden, in extremen Fällen auch Tage, Wochen oder Monate dauern. Bei Problemen mit dieser Anleitung oder weiteren Fragen zum x264 Benchmark auf Oracle Solaris 11.2 bitte einfach im [entsprechenden Forumsthread] nachfragen.

[Zurück zur x264 Benchmark Ergebnisliste]

[Anleitung kommentieren]