Hi,
nachdem ich die letzten Tage damit zugebracht habe, mir wohl jeden Beitrag über graphTFT durchzulesen und versucht habe rauszukriegen, warum das eine funktioniert und das andere nicht, habe ich mich jetzt entschlossen, ein HowTo zu verfassen. Vielleicht hilft es ja dem ein oder anderen.
1. Voraussetzungen
a) Funktionierende Entwicklungsumgebung
Auf die Besonderheiten von gcc < 3.XX wird hier nicht eingegangen. Meine "erfolge" fussen auf gcc-3.4
b) Es wird selber compiliert. Ohne Paketverwaltung oder "Debianisierung"
c) vdr-1.4 oder größer...
d) Alle Quellpakete befinden sich nach dem Download in /tmp, aber noch "verpackt"
2. Quellen
Folgende Quellen habe ich verwendet:
a) graphtft-0.0.8
b) Die Patches von Tobi
c) Last but not least ffmpeg
3. Auspacken
a) VDRDIR ist der Pfad zu den Sourcen von vdr
b) FFMPEGDIR ist der Pfad zu den Quellen von ffmpeg (ich habe hier Version 0.4.9 eingesetzt, da ich keinen Download für Version 0.4.8 gefunden habe)
c) CONFDIR ist der Pfad zu den vdr-Konfigurationsdateien
cd /tmp
tar xvfz patches.tar.gz
rm patches/01_Makefile-fPIC-fix.dpatch
cd $VDRDIR/PLUGINS/src # Definition unter 3.a)
tar xvfj /tmp/vdr-graphtft-0.0.8.tar.bz2
ln -sf graphtft-0.0.8 graphtft
cd graphtft
for i in /tmp/patches/[01]*
do
cat $i | patch -p1
done
sed -i -e s/VDRVERSION/APIVERSION/g Makefile
Alles anzeigen
Update: Die Sache mit der for-Schleife stimmt so nicht. Es gibt einen Patch, welcher auf die vdr-Sourcen angewendet werden muss. Korrigiere ich heute abend...Update Ende
So jetzt ist der erste Schritt getan. Ab hier muss "nur noch" das Makefile entsprechend konfiguriert werden. Leider bin ich auch dabei ein bisschen gestolpert.
Hier also das Makefile in Kurzform (bereinigt um die Kommentare, die DEFS allein sollten ja für sich sprechen):
FFMDIR = $FFMPEGDIR # Definition unter 3.b)
#IMLIB = ../../../../imlib2
HAVE_IMLIB = 1
#HAVE_DFB = 1
#HAVE_SOFTMPEG = 1
#HAVE_FAST_MEMCPY = 1
#HAVE_PVRFB = 1
DEBUG=1
Zusätzlich musste ich bei den Includes noch was hinzufügen:
INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include -I. -I./imlibrenderer -I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer -I./dfbrenderer -I/usr/include/ffmpeg
Ansonsten habe cih immer Stress mit dem include von avutils.h bekommen. Hätte der gcc zwar finden müssen, hat er aber nicht. Also halt auf diese Tour.
4. Compilieren
Jetzt sind wir schon auf der Zielgeraden:
cd ../../..
make plugins
cp PLUGINS/lib/libvdr-graphtft* $CONFDIR/lib/
Fertig.
Jetzt bleiben nur noch triviale Aufgaben für den geneigten Leser:
5. Konfiguration und Anpassung runvdr
Gemäß dem README des Plugins jetzt das Standard-Theme installieren (oder halt das Theme der Wahl), anschließend noch den Aufruf des vdr in der runvdr (oder wie auch immer Euer vdr gestartet wird) anpassen.
Wenn ich das jetzt so lese, frage ich mich ernsthaft, warum ich ein paar Tage auf dieses thema verschwendet habe. Ist doch wirklich nicht SO schwer. Aber alleine der Kampf, sich durch die entsprechenden Riesenthreads zu quälen, ist hinreichend mühsam.
Feedback und Anmerkungen gerne erbeten, dann erweitere / pflege ich dieses Howto weiter. Sofern das gewünscht ist.
Darüberhinaus möchte ich mich -neben dem obligatorischen Dank an Klaus für den vdr- sowohl beim Ersteller des Plugins (kenny, hoffe es geht Dir besser) als auch bei den tapferen Kämpfern in der zweiten Reihe bedanken, die die Pflege des Plugins ehrenamtlich und keiner offiziell übernommen haben und somit durch die beigebrachten Patches das alles ermöglichen.
Danke!
rael