CrystalHD, Libcrystalhd und Gstreamer Plugin in Ubuntu kompilieren

Da mein neues Wetab ja ein schönes Broadcom CrystalHD Modul drin hat, würde ich das natürlich gerne vollständig in Ubuntu nutzen, was ich nun auch endlich geschafft habe, einschließlich des Gstreamer Plugins u.a. für den Totem Video Player.  8-)

Da ich Ubuntu 10.10 auf dem Wetab nutze, sollte das analog auf anderen Devices funktionieren.

Ubuntu 10.10 bringt ebenfalls ein eher beschissenes crystalHD Modul bereits mit, dieses müssen wir zwangsläufig ersetzen.

Aber zu erst alle Abhängigkeiten installieren:

sudo apt-get install checkinstall git-core autoconf build-essential subversion dpkg-dev fakeroot pbuilder build-essential dh-make debhelper devscripts patchutils quilt git-buildpackage pristine-tar git yasm zlib1g-dev zlib-bin libzip-dev libx11-dev libx11-dev libxv-dev vstream-client-dev libgtk2.0-dev libpulse-dev libxxf86dga-dev x11proto-xf86dga-dev git libgstreamermm-0.10-dev libgstreamer0.10-dev automake

Nachdem das alles installiert und erledigt ist, legen wir los:

git clone git://git.wilsonet.com/crystalhd.git
cd crystalhd/driver/linux
autoconf
./configure
make
sudo checkinstall --fstrans=no

Hierbei kommt ein Fehler, weil wir das Kernel Modul überschreiben wollen. Checkinstall hat uns (je nach gewähltem Namen) das Package erstellt, welches irgendwie .deb heißt (zur not mit ls | grep .deb rausfinden). Dieses installieren wir daher so:

sudo dpkg -i --force-overwrite .deb

Danach geht es weiter mit dem kopieren der Firmware und dem Kompilieren+Installieren von libcrystalhd:

sudo cp ../../firmware/fwbin/70015/* /lib/firmware/
cd ../../linux_lib/libcrystalhd
make
sudo checkinstall --fstrans=no

Jetzt sind wir an einem Punkt, an dem das crystalhd Modul bereits in Youtube(Flash!) funktionieren sollte, sobald wir folgendes machen:

sudo modprobe crystalhd

Damit das Modul immer automatisch geladen wird, fügen wir es ans Ende von /etc/modules an.
(echo crystalhd >> /etc/modules als root).

Prüfen ob es korrekt geladen wurde, kann man mit dmesg | grep crystal, dabei sollte dann sowas rauskommen:

[    5.029199] Loading crystalhd v3.10.0
[    5.029249] crystalhd 0000:02:00.0: Starting Device:0x1615
[    5.029284] crystalhd 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    5.034739] crystalhd 0000:02:00.0: irq 43 for MSI/MSI-X
[    5.276152] crystalhd 0000:02:00.0: setting latency timer to 64

Sobald man nun ein crystalhd-beschleunigbares Video in Youtube/Flash ansieht, erscheint zusätzlich folgende Zeile:

[ 1772.346897] crystalhd 0000:02:00.0: Opening new user[0] handle

Übrigens funktioniert das auch mit 360p,480p und 720p Videos und nicht nur mit 1080p.

Nun wollen wir das ganze natürlich auch in Totem nutzen, daher kompilieren wir kurz noch das Gst-Plugin, Abhängigkeiten dafür haben wir schon installiert. (Das hat ganz schön gedauert bis ich herausgefunden habe wie es genau geht, da es echt viele Config Files usw. in dem Ordner gibt, die in Frage kämen und die Readme Datei alles andere als hilfreich ist.)

 cd ../../filters/gst/gst-plugin/
./autogen.sh
make
sudo checkinstall

Es kann sein das ich Abhängigkeiten vergessen habe, die Fehler sollten aber euch mitteilen was fehlt, zumindest soviel, dass es dann zum Googeln reicht  ;-)

Starten wir nun ein entsprechendes Video in Totem, sollte ebenfalls so ein Output wie oben bei einem Flashvideo in dmesg erscheinen. (Man merkt auch schnell, wenn 1080p Videos plötzlich mit relativ geringer Last flüssig laufen..)

Den ersten Teil hab ich größtenteils aus dem Beitrag von Catscrash in der Wetab-Community übernommen, danke für diese Infos! (Ich habe allerdings den Mplayer weggelassen. Braucht man nicht, wenn Totem es tut.)

Besucht auch die WeTab-Community und The Wetab Blog. Eigentlich die 2 besten Anlaufstellen für “WeTabber”!

Eine Anmerkung noch: Mit VLC geht das leider nicht, da dieser keine GStreamer Plugins nutzt und auch die Entwickler kein Interesse haben, das CrystalHD Modul zu unterstützen. Sehr Schade.  :-(

Achja, Danke an Jarod Wilson für den Treiber bzw. das GIT Repo.

Nach jedem Kernelupdate müsst ihr übrigens das Kernelmodul neu installieren.

Das wars mit meinem ersten Beitrag zum WeTab, ich denke es folgen vllt. noch weitere.

Comments (0)

› No comments yet.

Leave a Reply

Allowed Tags - You may use these HTML tags and attributes in your comment.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Pingbacks (0)

› No pingbacks yet.