Ich habe einen VDR auf Basis eines Intel Atom-Boards und einer Nvidia-Karte aufgebaut: ASUS AT5NM10-I [1] mit Zotac GeForce GT 430 [2]. Die Ausgabe soll mit VDPAU und xineliboutput-plugin erfolgen, die Karte sitzt im PCI-Slot (nicht PCIe, den hat das Board nicht). Soweit funktioniert das System auf Basis von Debian squeeze und den e-tobi.net-Quellen ganz passabel. Das folgende, schwerwiegende Problem ergibt sich jedoch:
Wann immer sich im OSD etwas tut, z.B. wenn man es aufruft, einen Menüpunkt wechselt oder sich beim Abspielen einer Aufnahme die Sekundenanzeige aktualisiert, gibt es einen spürbaren Hänger von ca. 1/2 Sekunde (halbe Sekunde). Das TV-Bild stockt währenddessen natürlich auch, was das OSD derzeit unbenutzbar macht: nicht einmal die aktuelle Kanal-Info läuft ruckelfrei.
Um das Problem abzugrenzen: Es sind ansonsten keine Ruckler erkennbar, d.h. zum einen keine "Mikroruckler" während der Wiedergabe ohne OSD, zum anderen auch keine Ruckler jeglicher Art, wenn das OSD geöffnet, aber statisch ist. Das OSD erscheint halbtransparent, das klappt soweit also auch.
Ich habe bereits die verschiedenen Parameter für --hud bei vdr-sxfe ausprobiert. Bei normaler Composite-Ausgabe (ohne Angabe von --hud) kommt es zu obigem Phänomen. Bei --hud=xshape ergibt sich das gleiche Problem, aber zusätzlich bleiben weiße Reste im OSD stehen. Bei --hud=opengl ist das OSD an sich in Ordnung, es ist flüssig, sieht super aus und lässt sich ohne Ruckler bedienen. Allerdings verschwindet hier immer das komplette TV-Bild, wenn irgendein OSD aktiv ist! D.h. damit lässt sich leider auch nichts anfangen. (Das gleiche Problem ergibt sich bei Angabe des Paremeters --opengl dauerhaft: kein TV-Bild zu sehen, Ton funktioniert aber.) Eine Verwendung des Plugins xine-lib anstelle von xineliboutput erzeugt leider keine Besserung: hier ruckelt die Ausgabe dauerhaft, solange ein OSD sichtbar ist (ansonsten aber ebenfalls flüssig mit VDPAU).
Weiß jemand, worauf diese Symptome hindeuten könnten? An sich klappt ein ruckelfreies OSD, wie --hud=opengl demonstriert. Auch mit der Konkurrenz-Software mythtv erhalte ich ein ruckelfreies, halbtransparentes OSD bei VDPAU-Ausgabe. Die Hardware selbst sollte also durchaus leistungsfähig genug sein, ein OSD beim VDR zu bewältigen. Ich tippe daher auf ein Software-Problem. Bei Composite-Ausgabe steigt während der Hänger die CPU-Last des Prozesses vdr-sxfe auf Maximum, fällt dann aber sofort wieder ab. Bei --hud=opengl gibt es keine Hänger, dementsprechend sind hier auch keine Auslastungsspitzen vorhanden.
Ein Umstellung der OSD-Ausgabe bei xineliboutput (d.h. Umschalten zwischen software und hardware), ergibt keine Besserung. Lediglich ein starkes Reduzieren der OSD-Auflösung lindert das Problem, behebt es aber nicht endgültig. Selbst auf PAL-Auflösung sind noch deutliche Ruckler zu bemerken (vllt. 100 ms bei jeder Aktualisierung), und das Menü ist auf dem 1920x1080-Fernseher schon nicht mehr wirklich ansehnlich. Wenn sich die Composite-Ausgabe nicht realisieren lässt, wie verhindere ich bei --hud=opengl, dass das TV-Bild immer verschwindet, sobald ein OSD auftaucht?
Ich bin über jeden Hinweis dankbar!
afran.
[1] http://geizhals.at/deutschland/495821
[2] http://geizhals.at/deutschland/652586
EDIT: Inzwischen habe ich das Problem mit einem Distributionswechsel umgangen. Details siehe Beitrag 5.