VDR unter openSuSE 12.1 mit HD und VDPAU: geht! (Erfahrungsbericht)

  • Hallo zusammen,


    nachdem ich bisher immer nur bei Problemen gepostet habe, dachte ich: Lässt auch mal vom erfolg hören!
    Ich habe den Weihnachtsurlaub geopfert, um meinen schon länger dienenden VDR HD-fähig zu machen. Nach einigen Tagen "harter" Arbeit ging es dann tatsächlich ganz leidlich.


    Ich bin schon länger SuSE-Fan und wollte bei dieser Distribution bleiben (ich kenne mich da etwas aus, es soll auch was anderes als VDR laufen, etc). Das System bestand hardwareseitig aus einem ASUS-Mainboard mit onboard-ATI-Grafik, 2GB RAM und ein AMD Athlon 64 X2 6000+, einer Samsung-Platte mit 1TB und 5400 UPM plus SSD mit 32GB für System, boot und swap sowie natürlich einer Hauppage 2.1 FF-Karte.


    Kürzlich habe ich das Update von 11.4 auf 12.1 hinter mich gebracht (noch mit FF und ohne HD!). Dadurch hat sich die Zeit, bis der VDR zur Verfügung stand, von 1:30 Minuten auf 0:35 Minuten verringert - ich führe das auf die Umstellung von SysV-Init auf systemd zurück. :thumbup:


    Nachdem ich wie manch anderer für HDTV lange auf die TT 6400 spekuliert hatte, habe ich mich nach Weihnachten für die flexible und hoffentlich zukunftsfähigere Lösung entschieden und kurzfristig eine Gainward GF520 (wegen der geringen Leistungsaufnahme, 1GB, passiv gekühlt, ca. 40€) und die DVB-S2-Karte TeVii S480 Rev. 2.1 (Doppeltuner für ca. 80€) bestellt.


    Die Wartezeit (nur 2 Tage) habe ich u.A. damit verbracht, den VDR auf 1.7.22 zu bringen, da wohl HD mit VDR 1.6 nicht gut geht. Als SuSE-Nutzer wollte ich möglichst nahe an der Standard-Distribution und deren Mechanismen bleiben. Aber es gibt nun mal kein fertiges Pakte für den VDR 1.7 (es gibt zwar jemanden, der ihn im Buildservice bauen lässt, aber diese Version bekam ich die xineliboutput nicht zum Laufen). Also habe ich ihn aus den Sourcen erstellt. Vorher habe ich den VDR 1.6 deinstalliert (Achtung: evtl. vorher Konfigurationsdateien sichern (remote.conf, setup.conf, Startskripte /usr/sbin/runvdr und /etc/init.d/vdr , /etc/sysconfig/vdr ... !)


    Als Erstes kam die Grafikkarte, so dass ich mich nun von den ATI-Treibern verabschieden musste und die nvidia (closed-Source)-Treiber installierte (zunächst für den KDE-Desktop, die VDR-Ausgabe lief zunächst noch über die FF-Karte). Die onboard-ATI-Grafikkarte habe ich im BIOS deaktiviert. Der nvidia-Treiber zeigte mir nun den KDE-Desktop in unlesbarer Schrift (vielleicht 3 Punkte!). Mit einigem Probieren gelang es mir schließlich, die Schriftgrößen auf ein erträgliches Maß zu stellen.


    Insgesamt habe ich mich an der Anleitung orientiert:
    http://www.vdr-wiki.de/wiki/index.php/Kategorie:openSUSE_VDR_DVB-S2_HD_mittels_Xine_und_VDPAU
    Außerdem habe ich die "media_build" DVB-Treiber installiert, da ich nicht sicher war, ob die TeVii vom Kernel unterstüzt wird. Wäre vielleicht mal einen Versuch ohne wert...


    Mittels aplay -l und mehreren Versuchen von aplay -D:hw:x,y /usr/share/sounds/alsa/test.wav konnte ich außerdem schon mal identifizieren, welcher Soundausgang denn nun im HDMI-Kabel und beim Fernseher landet. Dazu musste ich noch mit alsamixer den Kanal un-muten.


    Und schon kam auch die DVB-Karte und nun gings los. xineliboutput aus den Sourcen übersetzt. Braucht aber eine neuere xine-lib, als SuSE hat und vor allem wollte ich ja die VDPAU-Unterstützung - die ist in SuSE auch nicht aktiv. Also musste ich zunächst eine aktuelle libxine bauen. Das im Wiki angegebene Repository scheint nicht mehr zu existieren. Ich fand aber Beiträge, die mit diesen Sourcen erfolgreich waren: http://hg.debian.org/hg/xine-lib/xine-lib-1.2-vdpau. Ich habe nun 2 xinelibs: Die originale Version in /usr/lib64 und die VDPAU-fähige in /usr/local/lib64.


    Das xineliboutput-Plugin ließ sich dann nach Anleitung installieren, allerdings musste ich configure wie folgt aufrufen:
    ./configure --enable-musepack=no --prefix=/usr/local
    damit der Build funktioniert und die richtige xinelib angezogen wird.


    Nach einigem Drehen an der Konfiguration lief dann das erste Mal der HD-VDR zunächst unter KDE!


    Im weiteren habe ich mich um den automatischen Start (analog zu openSuSE 1.6-VDR) gekümmert.


    Probleme, die ich auf "unschöne" Weise im runvdr gelöst habe (Verbesserungsvorschläge willkommen!):
    Die Firmware der Karte braucht lange zum Laden. Ich schaue dazu in dmesg nach, wann beide Karten initalisiert sind und warte gegebenfalls mit dem Start des vdr-Service:

    Code
    while [ $(/bin/dmesg | /usr/bin/grep -c "TeVii S660 USB successfully initialized and connected.") -lt "2" ]; do
       logger --priority 3 --tag runvdr "TeVii S660 USB not initialized yet, waiting 2 seconds"
       sleep 2
    done


    Um sicherzustellen, dass vdr und Konsorten die "richtige" xinelib anziehen, ändere ich den LD_LIBRARY_PATH:

    Code
    export LD_LIBRARY_PATH=/usr/local/lib64/xine/plugins/2.0:/usr/local/lib64


    Mein VDR ist nur der "kopflose" Service. Als Client starte ich vdr-sxfe auf einer eigenen virtuellen Konsole mittels xinit:

    Code
    if [ "$VDR_SWITCHVT" = yes ]; then
                doswitch=-s
        fi
        nohup /usr/bin/chroot --userspec=vdr:video / /usr/bin/xinit ~vdr/.xinitrc -- :1 vt$VDR_VTNUMBER &


    In ~vdr/.xinitrc steht folgender Code, der auch bei Absturz des vdr-sxfe oder versehentlichem Drücken der Escape-Taste wieder einen VDR erscheinen lässt:

    Bash
    #!/bin/bash
    export HOME=~vdr
    cd
    while true; do
      sleep 2
      /usr/local/bin/vdr-sxfe --hud --video=vdpau --audio=alsa:hw:1,7 --fullscreen --display=$DISPLAY --post tvtime:method=use_vo_driver --reconnect --syslog xvdr://localhost:37890
    done


    Damit ist der VDR nach dem Hochfahren vollformatig am Laufen und reagiert auf die Tasteneingaben wie von jeher gewohnt. Bei Interesse kann ich die kompleette runvdr anhängen.


    Leider hat das jetzige System noch 2 Nachteile beim Radiohören:

    • Bei Radiosendern stürzt vdr-sxfe ab, wenn irgendeine Visualisierung im xineliboutput eingestellt ist. Also Visualisierung aus (VDR OSD:Einstellungen/Plugins/xinelipoutput/Audio). Das scheint aber ein bekanntes Problem zu sein. :( Und das Radioplugin ließ sich nicht übersetzen (oder ich habe nicht die aktuellste Version gefunden).
    • Um Radio zu hören, muss der Fernseher laufen, da der Ton nur über HDMI bei TV landet udn dieses den Ton nur an den Verstärker weitergibt, wenn es an ist. Die Soundkonfiguration, um gleichzeitig den Ton analog direkt an den Verstärker auszugeben, habe ich noch nicht hinbekommen... Vielleicht erledigt sich das Problem eines Tages durch Anschaffung eines aktuelles Verstärkers mit HDMI-Eingängen ;D

    Die Temperatur der Grafikkarte lese ich ab und an per "watch --i=1 DISPLAY=:1 nvidia-settings -tq gpucoretemp" aus. Bei Radio oder SD liegt sie bei etwa 40°C, bei HD dagegen bei knapp 60°C. Ich hoffe, das ist noch ok. Leistungsaufnahme des Gesamtsystems habe ich noch nicht gemessen...


    Ich erkenne manchmal noch ein Ruckeln bei HD (Wiedergabe und Live) etwa eine halbe Sekunde nach einem Szenenwechsel mit großem Bildunterschied. Es scheint, als ließe sich dieses Problem durch "cpufreq-set -g performance" lösen, aber ich will eigentlich meinen Prozessor nicht dauernd hoch takten...


    Komischerweise ruckeln auch SD-Aufnahmen beim Abspielen in kurzen Abständen - wenn auch nur leicht. Vielleicht bin ich auch ein bißchen überemfindlich...


    Trotzdem ist der WAF entgegen meiner Befürchtungen wieder auf altem Niveau (nachdem er nach Weihnachten einen merklichen Durchhänger hatte) - oder sogar besser: schließlich gibt es jetzt endlich die Lindenstraßen-Aufnahmen in HD! :lovevdr

    Wohnzimmer-VDR 1.7.22 mit xineliboutput und VDPAU: Silentium T2 ECO 80 Gehäuse, AMD Athlon X2 64 6000+, Samsung HD103 5400rpm & SSD 32GB, Tevii 480 und Gainward GF520 passiv an Toshiba 40'', SuSE 12.1.

  • @ papa_uwe: Ich habe erst ein ähnliches System aufgebaut auch auf Suse 12.1.
    Bei deiner Cpu sollte nichts rucklen, selbst wenn die nur auf powersave läuft.


    Ich hatte nämlich auch Ruckler ( Graka GT220 Intel E 4300) .
    Manchmal kurze Standbilder und vor allem auch beim Öffnen des OSD.


    Seit ich auf diese xine_lib gewechselt habe läuft der VDR richtig gut.
    In dem Git tut sich gerade xine-lib mässig viel, es lohnt sich immer wieder mal reinzuschauen - und zu testen.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

  • Ich habe jetzt nochmal xinelib und xineliboutout aktualisiert und jetzt ruckelt es nur noch ganz selten. Vielleicht probier ich demnächst noch mal die andere Quelle.


    Auffällig ist aber, dass beim Playback von Platte öfter Ruckler auftreten als live. Kann es sein, dass die Platte zu langsam ist? Es ist eine Samsung HD103 (5400rpm), die ich per hdparm -M 128 auf "leise" geschalten habe. DIe Platte ist natürlich vdr-typisch ziemlich voll ;)

    Wohnzimmer-VDR 1.7.22 mit xineliboutput und VDPAU: Silentium T2 ECO 80 Gehäuse, AMD Athlon X2 64 6000+, Samsung HD103 5400rpm & SSD 32GB, Tevii 480 und Gainward GF520 passiv an Toshiba 40'', SuSE 12.1.

  • Hallo, mich würde deine Einstellung hier interessieren:

    Code
    video.output.vdpau_enable_buggy_xcb_workaround:0


    Unter 12.1 läuft der VDR bzw xineliboutput bei mir nur wenn ich dies aktiviere.
    Mit 11.3 läuft es mit obiger Einstellung.


    Ruckler hatte ich Anfangs nur ab und an beim Öffnen des OSD, die sind seit den aktuellen Optimierungen von Durchflieger (df-extensions) behoben.


    mfg Rudi

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

  • Die Einstellung mit vdpau_enable_buggy_xcb_workaround habe ich nirgends drin.
    OSD läft bei mir besser, seit ich vdr-sxfe mit --hud=opengl starte.

    Wohnzimmer-VDR 1.7.22 mit xineliboutput und VDPAU: Silentium T2 ECO 80 Gehäuse, AMD Athlon X2 64 6000+, Samsung HD103 5400rpm & SSD 32GB, Tevii 480 und Gainward GF520 passiv an Toshiba 40'', SuSE 12.1.

  • Die Einstellung mit vdpau_enable_buggy_xcb_workaround habe ich nirgends drin.

    Ist bei mir in der Datei /etc/vdr/plugins/xineliboutput/config drin.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

  • Hallo rudirabbit: Ne, die ist bei mir auch da nicht drin.Ich habe die von irgendwo im Forum kopiert und dann etwas angepasst. Ich häng die Datei mal, vielleich hilfts...

  • Hallo papa_uwe:
    Der komplette Abschnitt mit Erklärungen schaut bei mir so aus :

    Code
    # vdpau: Use lock display synchronization for some vdpau calls (workaround for buggy libX11/xcb)
    # bool, default: 1
    video.output.vdpau_enable_buggy_xcb_workaround:0


    Wenn du den Eintrag nicht hast, wird die Default Einstellung also 1 genommen.
    Mit dieser Einstellung läuft der VDR auf Suse 12.3.
    Ich verstehe das so, wenn eine 1 drinsteht ist der workaround aktiv, somit muss bei Suse 12.3 die libX11/xcb buggy sein.
    Wenn du den Eintrag erstellst und den workaround abschaltest, macht der VDR richtig Probleme. (war zumindest bei mir unter 12.3 so)


    Es ist halt etwas seltsam da dies unter der älteren Distrie 11.3 nicht so ist, also ist dort die libX11/xcb nicht fehlerhaft.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

  • Zitat


    Kürzlich habe ich das Update von 11.4 auf 12.1 hinter mich gebracht (noch mit FF und ohne HD!).


    papa_uwe
    Ich habe ebenfalls vor von 11.4 auf 12.1 zu updaten.
    Aus welcher Quelle hast Du den DVB Treiber erfolgreich kompiliert? (Du schreibst "media build treiber")


    Gruß
    gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!