Hallo zusammen,
nun bin ich alles andere als ein Freak, aber ich will einmal versuchen zu erklären, wie es bei mir geklappt hat. Dabei sollte berücksichtigt werden, dass ich von der c´t-vdr4 ausgehe. Insbesondere bei der Anpassung der sources.list für die Quellpakete eurer Distribution müsstet ihr euch selber einmal umschauen.
Im Wesentlichen arbeite ich nach der Anleitung im vdr-WIKI und weiteren Quellen hier im Thread. Ich hoffe einmal, dass es an dieser Stelle ok ist, wenn ich daraus zitiere. Falls nicht, lösche ich die Sache wieder.
Bevor ich es vergesse: Ein großes Dankeschön muss an dieser Stelle natürlich an Wastl gehen, ohne den das alles nicht möglich gewesen wäre.
Also:
Ich gehe einmal davon aus, dass ihr als root auf eurem System eingelogt seid.
Zuerst muss die sources.list im Verzeichnis /etc/apt um die Adressen für die Quellen der installierten Pakete erweitert werden. In meinem Fall (vdrdevel von TomG und Tobi) sieht das so aus:
Zitat
deb-src http://e-tobi.net/vdrdevel-experimental sarge base backports addons vdr
deb-src http://e-tobi.net/vdr-experimental sarge base backports addons vdr
Anschließend ein "apt-get update" nicht vergessen.
Benötigte Pakete installieren:
ZitatAlles anzeigen
apt-get install libgd-dev
apt-get install wget
apt-get install vdrdevel-dev
apt-get install vdrdevel-plugin-graphlcd
apt-get build-dep vdrdevel-plugin-graphlcd
Ordner für die Quellen anlegen:
Zitat
cd /root
mkdir graphlcd_serdisplib
cd graphlcd_serdisplib
Benötigte Quellen downloaden und Serdisplib-Bibliothek installieren:
ZitatAlles anzeigen
wget http://mesh.dl.sourceforge.net…ib/serdisplib-1.96.tar.gz
tar -xvzf serdisplib-1.96.tar.gz
cd serdisplib-1.96
./configure
make all
make install
cd ..
apt-get source vdrdevel-plugin-graphlcd
Makefiles des GraphLCD-Plugins bearbeiten:
ZitatAlles anzeigen
cd vdrdevel-plugin-graphlcd-0.1.1
vi ./Makefile
...
# uncomment this for dynamic linking
STATIC_DRIVERS=1
### Allow user defined options to overwrite defaults:
--> Hier muss noch rein: INCLUDE_SERDISPLIB=1
-include $(VDRDIR)/Make.config
ifdef INCLUDE_SERDISPLIB
DEFINES += -DINCLUDE_SERDISPLIB
endif # INCLUDE_SERDISPLIB
...
Und noch einmal:
ZitatAlles anzeigen
cd drivers
vi Makefile
...
INCLUDES += -I$(VDRDIR)/include
OBJS = device.o drivers.o fct.o port.o simlcd.o gu140x32f.o ...
--> Hier muss ebenfalls rein: INCLUDE_SERDISPLIB=1
-include $(VDRDIR)/Make.config
ifdef INCLUDE_SERDISPLIB
DEFINES += -DINCLUDE_SERDISPLIB
...
Wo wir schon einmal im Verzeichnis drivers sind, sollten hier folgende 3 Dateien wie folgt geändert werden:
graphlcd-0.1.1/drivers/serdisp.c
nach:
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,94))
} else if (strcasecmp("LSU7S1011A", drivername) == 0) {
dsizex = 96; dsizey = 32;
#endif
folgendes hinzufuegen:
ZitatAlles anzeigen
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,95))
} else if (strcasecmp("TLX1391", drivername) == 0) {
dsizex = 128; dsizey = 128;
} else if (strcasecmp("TLX1391_FS6", drivername) == 0) {
dsizex = 128; dsizey = 128;
#endif
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,96))
} else if (strcasecmp("HP12542R", drivername) == 0) {
dsizex = 128; dsizey = 64;
} else if (strcasecmp("LPH7508", drivername) == 0) {
dsizex = 100; dsizey = 64;
#endif
in graphlcd-0.1.1/drivers/drivers.h
nach:
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,93))
kDriverSerDispERICSSONT2X = 103,
#endif /* SERDISP_VERSION */
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,94))
kDriverSerDispLSU7S1011A = 104,
#endif /* SERDISP_VERSION */
folgendes hinzufuegen:
ZitatAlles anzeigen
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,95))
kDriverSerDispTLX1391 = 105,
kDriverSerDispTLX1391FS6 = 106,
#endif /* SERDISP_VERSION */
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,96))
kDriverSerDispHP12542R = 107,
kDriverSerDispLPH7508 = 108,
#endif /* SERDISP_VERSION */
in graphlcd-0.1.1/drivers/drivers.c
nach:
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,93))
{"ericssont2x", 101, 33, kDriverSerDispERICSSONT2X},
#endif /* SERDISP_VERSION */
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,94))
{"lsU7s1011a", 96, 32, kDriverSerDispLSU7S1011A},
#endif /* SERDISP_VERSION */
folgendes hinzufuegen:
ZitatAlles anzeigen
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,95))
{"tlx1391", 128, 128, kDriverSerDispTLX1391},
{"tlx1391_fs6", 128, 128, kDriverSerDispTLX1391FS6},
#endif /* SERDISP_VERSION */
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,96))
{"hp12542r", 128, 64, kDriverSerDispHP12542R},
{"lph7508", 100, 64, kDriverSerDispLPH7508},
#endif /* SERDISP_VERSION */
In derselben Datei muss noch nach
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,94))
case kDriverSerDispLSU7S1011A:
return new cGraphLCDDriverSerDisp(setup, "LSU7S1011A");
#endif /* SERDISP_VERSION */
folgendes einfuegen:
Zitat
#if (SERDISP_VERSION_CODE >= SERDISP_VERSION(1,96))
case kDriverSerDispHP12542R: return new cGraphLCDDriverSerDisp(setup, "HP12542R");
case kDriverSerDispLPH7508: return new cGraphLCDDriverSerDisp(setup, "LPH7508");
#endif /* SERDISP_VERSION */
Kompilieren und Installieren des GraphLCD-Plugins:
Zitat
cd ..
dpkg-buildpackage -tc
dpkg -i ../vdrdevel-plugin-graphlcd*.deb
Abschließend sollte man noch, wenn das Display am ersten Parallelport angeschlossen ist, folgendes in die Datei
\etc\vdrdevel\plugins\graphlcd.conf
oder
\etc\vdr\plugins\graphlcd.conf
eintragen:
Zitat
-c hp12542r -d 0x378
Wenn beim nächsten Neustart noch nichts auf dem Display erscheint, solltet ihr nicht frustriert sein: man muss es noch im OSD-Menü (Menü --> Einstellungen --> Plugins --> graphlcd... ) aktivieren. Die Standardeinstellung ist- glaube ich- aus.
Dann wünsche ich noch gutes Gelingen!
Gruß,
DrSat