Ich muss leider sagen dass ich mit vielen vielen Segfaults zu kämpfen habe. Das zu 100% reproduzierbare segfault bekomme ich wenn ich ins Menü gehe und dann auf die Programmguide gehe. Sofort bricht mein VDR das mit segfault ab.
Gruss
Merlin
Ich muss leider sagen dass ich mit vielen vielen Segfaults zu kämpfen habe. Das zu 100% reproduzierbare segfault bekomme ich wenn ich ins Menü gehe und dann auf die Programmguide gehe. Sofort bricht mein VDR das mit segfault ab.
Gruss
Merlin
ZitatOriginal von MerlinElMago
Ich muss leider sagen dass ich mit vielen vielen Segfaults zu kämpfen habe. Das zu 100% reproduzierbare segfault bekomme ich wenn ich ins Menü gehe und dann auf die Programmguide gehe. Sofort bricht mein VDR das mit segfault ab.
Gruss
Merlin
Hi,
habe ich auch festgestellt :(, wann hast du es aktualisiert, ich habe heute Vormittag einen Bugfix commited
Grüße
horchi
/EDIT Wenn du es getestet hast melde dich bitte kurz damit ich weiß ob ich weiter suchen muss. Bei mir läuft es seit heute Vormittag stabil.
Zu allererst einmal bitte ich um Entschuldigung dass ich erst jetzt dazu komme mich diesem Problem zu widmen.
Wo gibt es denn ein GIT oder CVS repository wo ich mir die neueste Version herunterladen kann? Ich habe zugriff auf den Download Deiner Seite, aber da steht dass das Ding das letzte mal am 16 De. upgedatet worden ist.
Gruss
Merlin
Hi,
das gibt es bei sourceforge.net:
svn co https://vdr-graphtft.svn.sourc….net/svnroot/vdr-graphtft vdr-graphtft
ich bin davon ausgegangen, das du bereits einen SVN Snapshot verwendest, den von dir beschriebenen Fehler konnte ich nur mit diesem nachvollziehen, mit dem letzten Release auf meiner HP (vom 16.) kann ich es nicht reproduzieren.
Grüße
horchi
So, gerade ausprobiert und funktioniert 100%ig.
Vielen Dank
Gruss
Merlin
Hallo,
hab hier so ein Touch-TFT, was ich gerne mal ausprobieren möchte. Graphtft läuft soweit. Hab ein Bild auf dem TFT.
mit cat/proc/bus/input/devices erhallte ich u.a. folgende Ausgabe:
I: Bus=0003 Vendor=0eef Product=0001 Version=0100
N: Name="USB Touchscreen 0eef:0001"
P: Phys=/input0
S: Sysfs=/class/input/input5
U: Uniq=
H: Handlers=mouse1 event5 ts1
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=3
Wird das Teil überhaupt unterstützt?
In den Plugineinstellungen hab ich unter Device /dev/input/event5 eingetragen. Kalibrieren geht nicht. Position wird nicht angezeigt.
evtest /dev/input/event5 zeigt folgendes an:
Input driver version is 1.0.0
Input device ID: bus 0x3 vendor 0xeef product 0x1 version 0x100
Input device name: "USB Touchscreen 0eef:0001"
Supported events:
Event type 0 (Reset)
Event code 0 (Reset)
Event code 1 (Key)
Event code 3 (Absolute)
Event type 1 (Key)
Event code 330 (Touch)
Event type 3 (Absolute)
Event code 0 (X)
Value 0
Min 0
Max 2047
Event code 1 (Y)
Value 0
Min 0
Max 2047
Testing ... (interrupt to exit)
Alles anzeigen
jedoch reagiert auch auf kein Touch.
Was kann ich den tun?
Gruß
Steevee
Hi Steevee,
USB Touchscreen 0eef:0001 müsste ein eGalax Display sein.
Zitataus http://cateee.net/lkddb/web-lk…SCREEN_USB_COMPOSITE.html
vendor: 0eef ("D-WAV Scientific Co., Ltd"), product: 0001 ("eGalax TouchScreen")
Diese Displayart ist, soweit ich weiß, die am meisten genutzte und wird bereits erfolgreich eingesetzt.
Sagt "lsusb" was genaueres?
Wie evtest fragt graphTFT die einkommenden Werte am event Device ab.
Solange evtest Dir nichts zurückliefert brauchst Du an graphTFT nicht weiter zu schrauben.
Es hört sich für mich eher nach einem System- oder Hardwareproblem an.
Anders ausgedrückt wage ich zu behaupten, dass wenn evtest Werte liefert, graphTFT auch funktionieren wird.
Ich würde einen gesondertern Thread, welcher auch die Systemprofis anspricht, für sinnvoller und erfolgversprechender halten als das hier im graphTFT Thread anzugehen.
Versuchst Du es mit easyVDR oder LinVDR?
Schau doch mal im Syslog oder messages ob es event. Hinweise auf Fehler gibt.
In dem Thread http://www.vdrportal.de/board/thread.php?threadid=58919 habe ich schon mal etwas gelesen, was Deiner Beschreibung entspricht. Dort stand das hier in den messages:
ZitatAlles anzeigenMar 2 17:13:04 mardec kernel: usb 3-1: USB disconnect, address 5
Mar 2 17:13:10 mardec kernel: usb 3-1: new low speed USB device using uhci_hcd and address 6
Mar 2 17:13:10 mardec kernel: usb 3-1: string descriptor 0 read error: -32
Mar 2 17:13:10 mardec kernel: usb 3-1: string descriptor 0 read error: -32
Mar 2 17:13:10 mardec kernel: usb 3-1: string descriptor 0 read error: -32
Mar 2 17:13:10 mardec kernel: usb 3-1: configuration #1 chosen from 1 choice
Mar 2 17:13:10 mardec kernel: usb 3-1: string descriptor 0 read error: -32
Mar 2 17:13:10 mardec kernel: input: USB Touchscreen 0eef:0001 as /class/input/input28
Es gab damals aber leider keine Lösung dazu. Es ging dann irgendwann einfach.
Gruß
data
hi,
ich komme mit der aktuellen version des plugins nicht klar, benutze es mit framebuffer
wenn ich ein normales make all im plugin verz. mache wird zwar erkannt das es ffmpeg gibt aber die verwendeten aufrufe für die das einbinden der header files beim kompilieren scheinen nicht zu funktionieren, wenn ich diese von hand auf der kommandozeilel aufrufe dann kommt auch ein ergebnis zurück und wenn ich das manuell in das makefile eintrage compiliert das plugin aber sobald ich vdr mit dem plugin starte schmiert es ohne kommentar ab sobald osd kommen würde (das bild das graphtft startet sehe ich noch, im log ist nichts das auf eine fehler hindeutet, er läd das plugin, findet die skins, ...)
habe suse 10.2, ffmpeg ist aus dem svn von ende april
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -g -ggdb -O0 -c -DUSE_DVLFRIENDLYFNAMES -DUSE_GRAPHTFT -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"graphtft"' -DHAVE_IMAGE_MAGICK -DHAVE_IMLIB -DWITH_SYSINFO -DWITH_TCP_COM -DWITH_TOUCH -DHAVE_DFB -DPLAN_FFMPEG_INC -DHAVE_FFMPEG -DHAVE_SWSCALE -I/usr/src/v4l-dvb/linux/include -I../../../include -I/usr/src/v4l-dvb/linux/include -I. -I./imlibrenderer -I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer -I./dfbrenderer -I./imlibrenderer/dmyrenderer `pkg-config libgtop-2.0 --cflags` `directfb-config --cflags` `pkg-config libavcodec --cflags` -o display.o display.c
In file included from ./dfbrenderer/dfbrenderer.h:26,
from display.c:39:
./imlibrenderer/fbrenderer/mpeg2decoder.h:23:23: error: avcodec.h: Datei oder Verzeichnis nicht gefunden
und von hand die config abfragen sieht so aus:
pkg-config libavcodec --cflags
-I$(PREFIX)/include/libavcodec -I$(PREFIX)/include/libavutil
pkg-config libavcodec --libs
-pthread -L$(PREFIX)/lib -lavcodec -lz -la52 -lfaac -lfaad -lmp3lame -lx264 -lxvidcore -ldl -ltheora -lvorbisenc -lavutil -lvorbis -lm -logg
wenn ich das so ins makefile einsetze kann er aber $(PREFIX) nicht auflösen, beim testen habe ich dann selbst /usr eingetragen
irgend eine idee was hier schief läuft und warum das plugin dann ohne kommentar abstürzt? (die ffmpeg libs liegen auch mit korrektem datum unter /usr/lib
Hi,
zu dem PREFIX habe ich das hier beim googeln gefunden:
S: Linux 2.6.22-14-generic #1 SMP i686 GNU/Linux
ffmpeg revision #: 12931
In generated pkg-config files there's a bug
this bug the same in all package config files.
prefix=/usr/local
exec_prefix=${prefix}
libdir=$(PREFIX)/lib
includedir=$(PREFIX)/include
When I do "pkg-config libavcodec --libs" it outputs
Output: "-pthread -L$(PREFIX)/lib -lavcodec -lz -la52 -lfaac -lfaad -lgsm
-lmp3lame -lx264 -lxvidcore -ldc1394_control -ldl -lraw1394 -ltheora -lvorbisenc
-lavutil -lvorbis -lm -logg"
As you see -L option is wrong.
Solution:
Putting prefix in braces fixed the bug.
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Alles anzeigen
leider nur im google-cache die Seite scheint es nicht mehr zu geben. pkg-config sollte keine runden Klammern um die Variablen machen, das kann so nicht aufgelöst werden. Vermutlich ein Problem mit in der Datei "libavcodec.pc".
Zu dem Crash sobald du es manuell einträgst, passiert das nur im Menü, wenn ja ist es ggf. das selbe Problem wie bei Merlin dann hilft die Version aus dem SVN (siehe oben).
horchi
Hallo
zu meinem Problem...
ZitatAlles anzeigenOriginal von data
...
USB Touchscreen 0eef:0001 müsste ein eGalax Display sein.
...
Wie evtest fragt graphTFT die einkommenden Werte am event Device ab.
Solange evtest Dir nichts zurückliefert brauchst Du an graphTFT nicht weiter zu schrauben.
Es hört sich für mich eher nach einem System- oder Hardwareproblem an.
Anders ausgedrückt wage ich zu behaupten, dass wenn evtest Werte liefert, graphTFT auch funktionieren wird.
Ich würde einen gesondertern Thread, welcher auch die Systemprofis anspricht, für sinnvoller und erfolgversprechender halten als das hier im graphTFT Thread anzugehen.
Versuchst Du es mit easyVDR oder LinVDR?
...
Gruß
data
Ich hab jetzt einen neuen Tread aufgemacht, da es ja wohl kein graphtft-problem ist. Antworten bitte da rein.
Testen tu ich mit easyVDR. Das LinVDR ist auch hier nur noch Auslaufmodell...
Gruß
Steevee
die probs mit dem falsch deklarierten inhalten für pkg-config lagen in der version von ffmpeg die ich hatte
habe jetzt mal die aktuelle ffmpeg ausgechecked aber da gabs dann auch wieder probleme mit pfaden in anderen *.h files sei`s drum, die include probleme habe ich beseitigt
was ich aber in deinem makefile einfügen musste war die deklaration für includes der libswscale (für libavcodec ist es drin warum nicht für swscale?)
ABER das eigentliche problem bleibt, das plugin reißt vdr beim start ins grab ohne das man irgendwas im log sieht
merlin hatte ja scheinbar wenigstens segfaults im log, bei mir startet das plugin in vdr soweit korrekt (was die log einträge angeht) aber sobald der startbildschirm von graphtft durch die eigentliche anzeige (was grade läift) ersetzt werden soll semmelt vdr ab
ffmpeg ist im moment ein frische version und auch graphtft (rev.18)
hättest du einen vorschlag wie ich den fehler weiter eingrenzen kann?
PS: das mit den ffmpeg includes ist echt ätzend, in anderen programmen und plugins (z.b. reelbox) wird auch noch auf die include/ffmpeg verwiesen, wenn man die ohne mod´s weiterverwenden woll kommt man um symlinks für das verzeichnis nicht herum und wenn dann eine anwendung aus dem vorhanden sein des "alten" verz. auf die version von ffmpeg schließen will gibs wieder probleme
Hi,
kannst du bitte einmal einen BT posten?
Grüße
horchi
hi,
meinst du sowas?
(gdb) run
Starting program: /usr/local/src/VDR170_neu3/vdr -s /etc/vdr/vdrpoweroff.sh -c /etc/vdr -E /etc/vdr -v /video0 -L /usr/local/src/VDR/PLUGINS/lib -t /dev/tty8 -w 160 -Preelbox -Pgraphtft
Failed to read a valid object file image from memory.
[Thread debugging using libthread_db enabled]
[New Thread -1211758896 (LWP 21016)]
[New Thread -1234015344 (LWP 21031)]
[New Thread -1242408048 (LWP 21032)]
[Thread -1242408048 (LWP 21032) exited]
[Thread -1234015344 (LWP 21031) exited]
[New Thread -1234015344 (LWP 21034)]
[New Thread -1242408048 (LWP 21035)]
[New Thread -1256195184 (LWP 21037)]
[New Thread -1264587888 (LWP 21038)]
[New Thread -1282409584 (LWP 21043)]
[New Thread -1290802288 (LWP 21047)]
[New Thread -1301292144 (LWP 21052)]
[New Thread -1309684848 (LWP 21053)]
[New Thread -1318077552 (LWP 21054)]
[New Thread -1326470256 (LWP 21055)]
[New Thread -1334862960 (LWP 21056)]
[New Thread -1343255664 (LWP 21057)]
[New Thread -1351648368 (LWP 21058)]
[New Thread -1360041072 (LWP 21071)]
[New Thread -1371317360 (LWP 21077)]
[New Thread -1379710064 (LWP 21078)]
[New Thread -1388102768 (LWP 21079)]
[New Thread -1399841904 (LWP 21118)]
[New Thread -1408234608 (LWP 21119)]
[New Thread -1418728560 (LWP 21123)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1371317360 (LWP 21077)]
0xb675579d in IDirectFBSurface_Construct () from /usr/lib/libdirectfb-0.9.so.25
(gdb) bt
#0 0xb675579d in IDirectFBSurface_Construct () from /usr/lib/libdirectfb-0.9.so.25
#1 0xb6e73123 in DFbRenderer::text (this=0xb3bfff68, text=0x87086c4 "05.01. 00:05",
font_name=0xb3ece1cc "graphTFT", size=24, align=2, x=580, y=65, r=52, g=162, b=159, width=210,
height=40, lines=0, dots=0, skipLines=0) at dfbrenderer/dfbrenderer.c:689
#2 0xb6e2dbf4 in cDisplayItem::drawText (this=0xb3f6d328, aText=0x870a0cc "05.01. 00:05", y=65,
height=40, clear=1, skipLines=0) at dspitems.c:1018
#3 0xb6e33fdb in cDisplayText::draw (this=0xb3f6d328) at dspitems.c:1372
#4 0xb6e2efb1 in cDisplayItem::refresh (this=0xb3f6d328) at dspitems.c:945
#5 0xb6e42adf in cGraphTFTDisplay::display (this=0xb53ff748, sectionName=@0xae435328)
at display.c:2106
#6 0xb6e43261 in cGraphTFTDisplay::Action (this=0xb53ff748) at display.c:761
#7 0x08110fb3 in cThread::StartThread (Thread=0xb53ff754) at thread.c:261
#8 0xb7f8d112 in start_thread () from /lib/libpthread.so.0
#9 0xb7d552ee in clone () from /lib/libc.so.6
Alles anzeigen
Hallo,
kriege die themes einfach nicht zum laufen... logfile sagt, dass
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
aber, die png(s) sind da, wo sie erwartet werden:
linux:/etc/vdr/plugins/graphTFT/themes/avp # dir /etc/vdr/plugins/graphTFT/themes/avp/backgrounds
total 3228
-rw-rw-r-- 1 root root 256031 Aug 2 09:34 alien.png
-rw-rw-r-- 1 root root 514789 Sep 25 21:59 bg-clock-avp.png
-rw-rw-r-- 1 root root 143828 Sep 7 15:18 bg-menu-avp.png
-rw-rw-r-- 1 root root 460 Aug 4 20:08 bg-message.png
-rw-rw-r-- 1 root root 73213 Sep 7 17:04 bg-music-morone_800x600.png
-rw-rw-r-- 1 root root 157737 Sep 7 15:10 bg-replay-avp.png
-rw-rw-r-- 1 root root 263948 Sep 7 16:58 bg-sysinfo-avp.png
-rw-rw-r-- 1 root root 259878 Sep 6 21:32 bg-tv-avp.png
-rw-rw-r-- 1 root root 565685 Nov 18 16:17 calibrate-avp.png
-rw-rw-r-- 1 root root 272615 Sep 7 17:02 ende_avp.png
-rw-rw-r-- 1 root root 4568 Sep 7 14:44 filmspule.png
-rw-rw-r-- 1 root root 16626 Dec 10 19:20 filmspule_tr.png
-rw-rw-r-- 1 root root 324157 Nov 1 13:16 message_avp.png
-rw-rw-r-- 1 root root 11908 Aug 7 09:24 note.png
-rw-rw-r-- 1 root root 6695 Nov 4 2006 spectrum.png
-rw-rw-r-- 1 root root 6844 Aug 6 12:13 spectrum_avp.png
-rw-rw-r-- 1 root root 276119 Sep 7 17:02 start_avp.png
-rw-rw-r-- 1 root root 5169 May 28 2007 volume.png
-rw-rw-r-- 1 root root 50167 Oct 27 21:50 volume_avp.png
Mußte schon vorher in der mpeg2encoder2.c den absoluten pfad der hwscale.h einfügen, damit es durchgeht...obwohl alles da ist, wo es sein sollte (/usr/include/ffmpeg bzw. /usr/include/libswscale).
Danke für Hilfe!!!
ZitatOriginal von ruebenbauer
[...] aber, die png(s) sind da, wo sie erwartet werden....
Da steht steht ja auch nicht "not found" sondern "could not be loaded" !
Das heist wohl, dass irgend etwas dagegen spricht *.png files zu laden...
Wie sieht denn Dein Makefile aus?
Hallo C-3PO
vielen danke für Deine Antwort
#***************************************************************************
# Group VDR/GraphTFT
# File Makefile
# Date 31.10.06
# This code is distributed under the terms and conditions of the
# GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
# (c) 2006-2008 Jörg Wendel
#***************************************************************************
# ----------------------------------------------------------------------------
# User defined Makefile options for the graphtft plugin
# Change the parameters as necessary.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# like to support a touch screen ?
#WITH_TOUCH = 1
# ----------------------------------------------------------------------------
# You will need ffmpeg (libavcodec) for dvb/fb-devices and for softmpeg,
# so install it
ifeq (exists, $(shell pkg-config libavcodec && echo exists))
HAVE_AVCODEC = 1
else
$(warning ******************************************************************)
$(warning 'libavcodec' not detected! 'HAVE_AVCODEC = 1' woll not compiles in)
$(warning -> dvb-devices, fb-devices and the X frontend not supported)
$(warning ******************************************************************)
endif
# ----------------------------------------------------------------------------
# imlib2 needed to enable support for dvb- and fb-devices.
# imlib2 also needed for graphtft-fe (WITH_X_COMM)
ifeq (exists, $(shell pkg-config imlib2 && echo exists))
HAVE_IMLIB = 1
# WITH_X_COMM = 1
else
$(warning ************************************************************************************)
$(warning 'imlib2' not detected! 'HAVE_IMLIB = 1 + WITH_X_COMM = 1' will not be compiled in...)
$(warning -> dvb-devices, fb-devices and the X frontend not supported)
$(warning ************************************************************************************)
endif
# ----------------------------------------------------------------------------
# ImageMagick.
ifeq (exists, $(shell pkg-config ImageMagick++ && echo exists))
HAVE_IMAGE_MAGICK = 1
INCLUDES += $(shell pkg-config --cflags ImageMagick++)
else
$(warning *********************************************************************************)
$(warning 'ImageMagick{,++}' not detected! 'HAVE_IMAGE_MAGICK = 1' will not be compiled...)
$(warning -> communication wit the x frontend work at a slow rate)
$(warning *********************************************************************************)
endif
# ----------------------------------------------------------------------------
# Use ffmpeg swscale API instead of deprecated functions.
# Needed for newer ffmpeg versions wich don't supports img_convert any more.
ifeq (exists, $(shell pkg-config libswscale && echo exists))
HAVE_SWSCALE = 1
else
$(warning *********************************************************************************)
$(warning 'libswscale' not found)
$(warning -> trying to compile with (depricated) scale method of libavcodec)
$(warning *********************************************************************************)
endif
# ----------------------------------------------------------------------------
# For direct framebuffer directfb lib is needed
ifeq (exists, $(shell pkg-config directfb && echo exists))
HAVE_DFB = 1
else
$(warning *********************************************************************************)
$(warning 'directfb' not detected! 'HAVE_DFB = 1' will not be compiled...)
$(warning -> directfb output not supported)
$(warning *********************************************************************************)
endif
# ----------------------------------------------------------------------------
# For System Information Sysinfo you need libgtop2
ifeq (exists, $(shell pkg-config libgtop-2.0 && echo exists))
HAVE_GTOP = 1
else
$(warning *********************************************************************************)
$(warning 'libgtop-2.0' not detected! 'HAVE_GTOP = 1' will not be compiled...)
$(warning -> most parts of sysinfo not supported)
$(warning *********************************************************************************)
endif
# ----------------------------------------------------------------------------
# Use fastmemcpy with cpuaccel.
#HAVE_FAST_MEMCPY = 1
# ----------------------------------------------------------------------------
# Fix for using pvr350 framebuffer device.
#HAVE_PVRFB = 1
# ----------------------------------------------------------------------------
# libsoftmpeg needed only for Pbp (not running in the moment!).
#HAVE_SOFTMPEG = 1
# ----------------------------------------------------------------------------
# END of user defined part
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# The name of the plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
PLUGIN = graphtft
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char\* VERSION *=' $(PLUGIN).h | awk '{ print $$6 }' | sed -e 's/[";]//g')
## compiler options:
#CXXFLAGS += -Wextra -pedantic
### The directory environment:
DVBDIR = ../../../../DVB
VDRDIR = ../../..
LIBDIR = ../../lib
TMPDIR = /tmp
### Allow user defined options to overwrite defaults:
-include $(VDRDIR)/Make.config
-include Make.config
### The version number of VDR (taken from VDR's "config.h"):
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
### Includes and Defines (add further entries here):
INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include -I. -I./imlibrenderer \
-I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer \
-I./dfbrenderer -I./imlibrenderer/dmyrenderer $(GTOP_INC)
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
ifdef HAVE_IMLIB
LIBS += `imlib2-config --libs`
ifdef HAVE_IMAGE_MAGICK
LIBS += `Magick++-config --libs`
DEFINES += -DHAVE_IMAGE_MAGICK
endif
DEFINES += -DHAVE_IMLIB
HAVE_AVCODEC = 1
endif
ifdef HAVE_GTOP
GTOP_INC = `pkg-config libgtop-2.0 --cflags`
GTOP_LIB = `pkg-config libgtop-2.0 --libs`
DEFINES += -DWITH_SYSINFO
LIBS += $(GTOP_LIB)
endif
ifdef WITH_X_COMM
DEFINES += -DWITH_TCP_COM
endif
ifdef WITH_TOUCH
DEFINES += -DWITH_TOUCH
endif
ifdef HAVE_DFB
INCLUDES += `directfb-config --cflags`
LIBS += `directfb-config --libs`
DEFINES += -DHAVE_DFB
endif
ifdef HAVE_SOFTMPEG
DEFINES += -DHAVE_SOFTMPEG
LIBS += -lsoftmpeg
HAVE_AVCODEC = 1
endif
ifdef HAVE_AVCODEC
AVCODEC_INC = `pkg-config libavcodec --cflags`
ifeq (plain, $(shell pkg-config libavcodec --cflags | grep -q "ffmpeg" && echo plain))
DEFINES += -DPLAN_FFMPEG_INC
endif
ifeq (plain, $(shell pkg-config libavcodec --cflags | grep -q "libavutil" && echo plain))
DEFINES += -DPLAN_FFMPEG_INC
endif
INCLUDES += $(AVCODEC_INC)
LIBS += `pkg-config libavcodec --libs`
DEFINES += -DHAVE_FFMPEG
ifdef HAVE_SWSCALE
DEFINES += -DHAVE_SWSCALE
LIBS += `pkg-config libswscale --libs`
endif
endif
ifdef HAVE_PVRFB
DEFINES += -DPVRFB
endif
CXXFLAGS += -g -ggdb -O0
### The object files (add further files here):
COMMONOBJS = $(PLUGIN).o dspitems.o transfer.o display.o \
i18n.o setup.o osd.o scan.o theme.o common.o sysinfo.o \
touchthread.o
ifdef HAVE_FAST_MEMCPY
COMMONOBJS += memcpy.o cpu_accel.o
DEFINES += -DHAVE_FAST_MEMCPY
endif
ifdef HAVE_IMLIB
IMLIBOBJS = imlibrenderer/imlibrenderer.o \
imlibrenderer/fbrenderer/fbrenderer.o \
tcpchannel.o \
imlibrenderer/dvbrenderer/player.o \
imlibrenderer/dvbrenderer/dvbrenderer.o \
imlibrenderer/dvbrenderer/mpeg2encoder.o \
imlibrenderer/dvbrenderer/quantize.o \
comthread.o renderer.o
endif
ifdef HAVE_SOFTMPEG
IMLIBOBJS += imlibrenderer/fbrenderer/mpeg2decoder.o
endif
ifdef HAVE_DFB
DFBOBJS = dfbrenderer/dfbrenderer.o dfbrenderer/cache.o
endif
### Implicit rules:
%.o: %.c
$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $<
# Dependencies:
MAKEDEP = g++ -MM -MG
DEPFILE = .dependencies
$(DEPFILE): Makefile
@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(COMMONOBJS:%.o=%.c) $(IMLIBOBJS:%.o=%.c) $(DFBOBJS:%.o=%.c) > $@
-include $(DEPFILE)
### Internationalization (I18N):
PODIR = po
LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c)
xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --msgid-bugs-address='<vdr@jwendel.de>' -o $@ $(wildcard *.c)
$(I18Npo): $(I18Npot)
msgmerge -U --no-wrap -F --backup=none -q $@ $<
i18n: $(I18Nmo)
@mkdir -p $(LOCALEDIR)
for i in $(I18Ndirs); do\
mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\
done
### Targets:
all: libvdr-$(PLUGIN).so i18n
@cp libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION)
alli: libvdr-$(PLUGIN).so i18n
libvdr-$(PLUGIN).so: $(COMMONOBJS) $(IMLIBOBJS) $(DFBOBJS)
$(CXX) $(CXXFLAGS) -shared $^ $(LIBS) -o $@
dist: clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
@cp -a * $(TMPDIR)/$(ARCHIVE)
@tar cjf $(PACKAGE).tar.bz2 -C $(TMPDIR) $(ARCHIVE)
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@echo Distribution package created as $(PACKAGE).tar.bz2
clean:
@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
@-rm -f $(COMMONOBJS) $(IMLIBOBJS) $(DFBOBJS) $(DEPFILE) *.so *.tar.bz2 core* *~
@rm -rf .libs
(cd graphtft-fe; make -s clean)
TDEF += -DLOCDIR=\"$(LOCDIR)\"
test: test.c scan.c scan.h imlibrenderer/imlibrenderer.c common.c renderer.c
g++ $(INCLUDES) $(CXXFLAGS) $(TDEF) $(LIBS) imlibrenderer/imlibrenderer.c \
renderer.c common.c scan.c test.c \
~/vdr/tools.c \
~/vdr/i18n.c \
~/vdr/thread.c \
-lrt -o $@
libtoptest: cpuload-test.c sysinfo.c sysinfo.h common.h
g++ cpuload-test.c sysinfo.c -I. `pkg-config libgtop-2.0 --cflags` `pkg-config libgtop-2.0 --libs` -DWITH_SYSINFO -DWITHOUT_VDR -o $@
Hi ruebenbauer,
Zitatkriege die themes einfach nicht zum laufen... logfile sagt, dass
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
Jan 5 21:04:45 linux vdr: [graphTFT] The image '/etc/vdr/plugins/graphTFT/themes/avp/backgrounds/bg-tv-avp.png' could not be loaded
diese Meldung habe ich erst einmal gesehen, auf dem System (glaube es war gentoo) war die imlib2 ohne PNG, JPG, etc. Unterstützung compiliert bzw.. installiert, ggf. ist es auch bei dir das Problem?
Grüße
horchi
Hi,
ZitatOriginal von IG88
meinst du sowas?CodeAlles anzeigenProgram received signal SIGSEGV, Segmentation fault. [Switching to Thread -1371317360 (LWP 21077)] 0xb675579d in IDirectFBSurface_Construct () from /usr/lib/libdirectfb-0.9.so.25 (gdb) bt #0 0xb675579d in IDirectFBSurface_Construct () from /usr/lib/libdirectfb-0.9.so.25 #1 0xb6e73123 in DFbRenderer::text (this=0xb3bfff68, text=0x87086c4 "05.01. 00:05", font_name=0xb3ece1cc "graphTFT", size=24, align=2, x=580, y=65, r=52, g=162, b=159, width=210, height=40, lines=0, dots=0, skipLines=0) at dfbrenderer/dfbrenderer.c:689 #2 0xb6e2dbf4 in cDisplayItem::drawText (this=0xb3f6d328, aText=0x870a0cc "05.01. 00:05", y=65, height=40, clear=1, skipLines=0) at dspitems.c:1018 #3 0xb6e33fdb in cDisplayText::draw (this=0xb3f6d328) at dspitems.c:1372 #4 0xb6e2efb1 in cDisplayItem::refresh (this=0xb3f6d328) at dspitems.c:945 #5 0xb6e42adf in cGraphTFTDisplay::display (this=0xb53ff748, sectionName=@0xae435328) at display.c:2106 #6 0xb6e43261 in cGraphTFTDisplay::Action (this=0xb53ff748) at display.c:761 #7 0x08110fb3 in cThread::StartThread (Thread=0xb53ff754) at thread.c:261 #8 0xb7f8d112 in start_thread () from /lib/libpthread.so.0 #9 0xb7d552ee in clone () from /lib/libc.so.6
ja genau, Danke. Sorry der späten Antwort, habe im Moment leider super wenig Zeit
Der Crash passiert beim laden des Fonts im directFB Renderer. So kann ich keinen Fehler feststellen, ich verwende selbst nur das X-Frontend, das KDE Plasma Applet und die FB Ausgabe, ich muss sobald ich etwas Zeit habe mal versuchen das directFB Device einzurichten, dann kann ich auch das testen. Habe mit directFB nur noch keine Erfahrung.
Da sich an der Stelle außer dem Font selbst lange nichts geändert hat teste es bitte einmal mit einem anderen Font (nur um das auszuschließen). Dazu einen Font hier hin kopieren:
plugins/graphTFT/themes/avp/fonts/graphTFT.ttf am besten auch unter dem Namen graphTFT.ttf dann musst du im Theme nichts anpassen.
Was war die letzte Version mit der es bei dir funktioniert hat?
Grüße
horchi
@ ruebenbauer,
was verwendest Du denn für eine Distribution?
Hallo,
vielen Dank für die Hilfestellung.
Habe Suse 11.1 installiert und das rpm verwendet.
Danke
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!