[gelöst] SoftHdDevice --> Verständnisfrage

  • OK, ich sehe schon das wird nix werden ...


    Aber ich gebe ja nicht auf !


    Wie würde ich XBMC am gescheitesten einbinden ?

    Code
    vdr-plugin-xvdr

    oder über das Externalplayer-Plugin ?


    Ich hätte halt gerne eine FB genutzt, nicht zu kompliziert in der Konfiguration, Ressourcenschonend und es sollte funktionieren.
    XBMC habe ich angetestet auf meinem Rechner: Läuft soweit gut.


    Eigentlich benötige ich das auch nur eher selten zum Abspielen von DVD`s.


    Alternativ geht auch aus XBMC heraus den VDR starten, aber dann wäre ich wohl bei yaVDR, oder ?


    Vor allem habe ich bereits ein laufendes System aufgesetzt und da würde ich gerne auch weiter machen (klingt jetzt vielleicht stur).

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Alternativ geht auch aus XBMC heraus den VDR starten, aber dann wäre ich wohl bei yaVDR, oder ?


    Nein, das können eigentlich fast alle aktuellen VDR-Distributionen.


    Wie würde ich XBMC am gescheitesten einbinden ?
    vdr-plugin-xvdr
    oder über das Externalplayer-Plugin ?


    :umleitung
    Das sind zwei Paar Schuhe - das vdr-plugin-xvdr ist neben vdr-plugin-vnsiserver eine Möglichkeit um die TV-Funktionen in XBMC über den VDR zu realisieren. Das Externalplayer-Plugin ist dazu gedacht ein Programm aus dem VDR heraus aufzurufen. So machen es viele, in yaVDR nutzen wir Upstart-Jobs um den Wechseln zwischen VDR-Frontend und XBMC zu realisieren. Das kann man aber mit beliebigen Start-Systemen erreichen (ich hab das noch für systemd unter Arch Linux umgesetzt), die Funktionsweise ist ja immer die gleiche.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • OK, habe ich verstanden.


    Also würde ich über das externalplayer-plugin meinen Wunsch realisieren.
    Dieses stellt die Ausgabe des VDR`s soweit ich das verstanden habe für den Augenblick in dem das externe Programm geöffnet ist, in den Hintergrund.


    Für die FB benötige ich dann wahrscheinlich wohl eine zweite FB-Konfig, oder ?


    Trotzdem ist XBMC eigentlich ein bisserl heftig für nur Abspielen von DVD`s.


    Theoretisch könnte ich doch eigentlich den internen Medienplayer vom VDR dann auch über das Externalplayer-Plugin so aufrufen: "vdr-sxfe"
    Ist nicht wirklich das was ich haben will, aber wäre eine Krücke.


    Grrrrr, warum nicht einfach wenn es auch kompliziert geht :)

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Hallo,
    da ich auch Probleme hatte eine gute Konfiguration mit automatischen Start vom Softhddevice in Vollbild zu bekommen hab ich mir was drum rum gebastelt.
    Das Problem bestand darin das ich beim Softhddevice als Parameter -f (für Fullscreen) übergeben habe. Das hat aber leider so gut wie nie funktioniert.
    Ab und zu war der X-Server so spät da, das das Plugin gar nicht zum X-Server verbunden hat. Und ganz oft wurde das Plugin im Vollbild gestartet, wechselte dann aber nach 5s in den Fenstermodus (ich nehme mal an weil dann erst der Nutzer angemeldet wurde).


    Darum ist der Startablauf jetzt bei mir so:
    Es wird ganz normal ein X (lightdm mit lxde) beim Booten gestartet (wie früher beim vdr-sxfe).
    Das Softhaddevice-Plugin wird im Vollbild gestartet (aber ohne eigenen X-Server)
    Im /etc/init.d/vdr habe ich beim Start einen Test eingefügt, der jede Sekunde testet ob der X-Server schon gestartet und auch ein User angemeldet ist. Es wird aber max. nur 20s wartet, damit auch bei einem Startfehler des X zumindest der VDR startet und aufnimmt).
    Sollte beim Starten des VDR auf den X-Server gewartet werden müssen, wird nachdem der X-Server gefunden wurde noch mal zusätzlich 5s gewartet, damit die Nutzeranmeldung des am X-Server automatisch angemeldeten Nutzers definitiv beendet ist.
    Wenn der X-Server schon läuft (z.B. bei einen vdr restart) wird gar nicht gewartet.


    Durch das Handling ist sicher gestellt das das softhddevice-Plugin sich immer zuverlässig zum X-Server verbinden kann und auch immer richtig im Vollbild startet.


    Für die Medienwiedergabe verwende ich auch XBMC. Zum Umschalten verwende ich ein kleines Script, welches über 2 Fernbedienungskommandos gesteuert wird.
    Das Script deaktiviert beim Umschalten zum XBMC das Softhddevice und die Fernbedienung des VDR's (schließlich soll ja XBMC dann die Fernbedienung verwenden). Beim zurück wechseln vom XBMC (auch über das Script) wird die Fernbedienung und das Softhddevice wieder aktiviert.
    Da das Umschalten so per Fernbedienung geht und sich das XBMC auch mit der Fernbedienung steuern lässt, ist das alles schön komfortabel. Im VDR muss nur noch das lifeguard-plugin oder ein extra Shutdown-Script eingerichtet werden, welches prüft ob nicht gerade das XBMC läuft (damit der VDR nicht einfach aus macht).


    Ich hänge dir die notwendigen Dateien mal hier mit an.
    Hier noch ne kleine Erklärung zu den Dateien:
    checkxserverrunning -> in /usr/local/bin (muss ausführbar sein) -> testet ob X läuft und jemand angemeldet ist
    inituser.sh -> in /usr/local/bin (muss ausführbar sein) -> das script muss beim Start der X-Server ausgeführt werden (ruft nur xhost +, war bei cdr-sxfe ja auch so)
    softhddevice-tv -> in /usr/local/bin (muss ausführbar sein) -> ruft softhddevice-ausgabe mit richtigen Parametern (wird von lirc gestartet)
    softhddevice-xbmc -> in /usr/local/bin (muss ausführbar sein) -> ruft softhddevice-ausgabe mit richtigen Parametern (wird von lirc gestartet)
    lircrc -> in /etc/lirc -> darin steht bei welcher Taste (bei mir User1 und User3) welches Script gestartet wird
    vdr -> in /etc/init.d -> geändertes startscript vom VDR, welches auf den X-Server wartet
    softhddevice-ausgabe -> in /etc/init.d -> script welches zwischen VDR und XBMC (theoretisch auch noch einem Windows in einer virtualbox) umschaltet


    Kannst ja mal schauen ob du so zurecht kommst (wie du die Fernbedienung im XBMC einrichtest findest du sicher irgendwo im Internet).


    Tschau, Uwe.

    Dateien

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • Für die FB benötige ich dann wahrscheinlich wohl eine zweite FB-Konfig, oder ?


    Du brauchst eine funktionierende Konfiguration für XBMC. Ist kein Hexenwerk, einfach deren Wiki lesen.


    Theoretisch könnte ich doch eigentlich den internen Medienplayer vom VDR dann auch über das Externalplayer-Plugin so aufrufen: "vdr-sxfe"
    Ist nicht wirklich das was ich haben will, aber wäre eine Krücke.


    Nein, denn damit wechselt ja wieder der OSD-Provider und man müsste das vdr-plugin-xineliboutput dafür laufen lassen, was ja schon lustige Effekte auf deinem System im Zusammenspiel mit softhddevice gemacht hat.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Also wenn man X11 über irgendeinen Dienst (systemd, init.d oder was die Distributionen noch haben) starten will.
    Dann sollte man softhddevice mit -D starten, dann ist die Reihenfolge und die Zeitabläufe beim Starten total egal.
    Jeder Windowmanager hat Scripte die beim Start ausgeführt werden. Wenn man keinen Windowmanager verwenden will, dann kann man auch in
    ~/.xinitrc des Benutzer unter dem die X Session läuft, seine Befehle einfügen.


    Code
    svdrpsend plug softhddevice atta -d $DISPLAY
    exec startfluxbox # oder der gewünschte Windowmanager


    Es ist kein Sleep oder sonstiges notwendig. Man könnte noch Fehlerabfragen unterbringen, da svdrpsend nicht sehr zuverlässig ist.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Soweit ich das mittlerweile verstanden habe, sieht das unter Debian so aus:


    /etc/init.d/Start-Script durch das div. Ereignisse/Dienste gestartet werden.


    Hier liegt auch z.B. das Script drunter welches Slim startet. Slim wiederum startet den X-Server (sag ich mal).


    Da aber mein eigentliches Ziel ist ohne Slim und DM auszukommen, frage ich mich nun wer/was dafür verantwortlich ist. dass der X-Server gestartet wird.
    Ich hatte verstanden, dass das SoftHdDevice das selbstständig erledigen kann (Parameter -x). -D sollte ja nur eine Krücke sein falls zeitliche Abläufe, so wie bei mir anscheinend, nicht zueinander passen.
    Funktioniert aber bei mir auch nicht.


    Dann gibt es aber dafür kein Start-Script was unter /etc/init.d wekelt, richtig ?



    Dann würde ich die "plugin.softhddevice.conf" nicht mehr benötigen gehe ich von aus.


    Ich werde also folgendes testen:


    Code
    ~/.xinitrc

    --> wobei diese Datei nicht existiert !+

    Code
    svdrpsend plug softhddevice atta -d $DISPLAY
    exec xfce4


    Hier vielleicht noch -D wenn das nicht hin haut von der zeitlichen Abfolge.


    Slim werde ich deaktivieren.


    Wobei das Problem ist, dass der Benutzer VDR das SoftHdDevice startet. Dieser hat aber nicht wie üblich ein eigenes Homeverzeichnis etc. ... das könnte ich aber anlegen um die

    Code
    ~/.xinitrc

    zu haben.


    Ich habe bisher immer nur Slim deaktiviert und darauf gehofft das SoftHdDevice den X-Server startet.
    Das scheint aber nicht zu funktionieren.

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

    Einmal editiert, zuletzt von VDRFirtie ()

  • Hallo,
    warum verwendest du Slim, bzw. willst am liebsten gar keinen WindowManager nutzen (hab jetzt nicht alles gelesen)?
    Nimm doch lieber lightdm und lxde, das braucht auch nicht viele Resourcen und lässt sich schön konfigurieren.
    In der lightdm.conf, stellst du einfach ein welcher user automatisch angemeldet werden soll, und welches Script beim Start ausgeführt wird (z.b. das von mir, welches xhost + aufruft).


    softhddevice startest du nur mit -f (also ohne eigenes X und auch nicht detached) und schon bist du fertig.


    Tschau, Uwe.

    Gigabyte GA-Z77-D3H; I3-3220; 4GB 1600MHz DDR3; Technotrend S2-4100 + Technotrend Budget + Nova-HD-S2;
    passive geForce GT620 1GB; WD RED 2TB; LG DVD-DL Brenner; Debian Jessie mit VDR 2.2.0 + SoftHDDevice + KODI

  • systemd startet den X-Server nicht.


    Es gibt Ansätze das zu ändern und den X-Server in einen Daemon zu packen: https://github.com/sofar/xorg-launch-helper

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Warum ich keinen DM und Loginmanager verwenden möchte: Weil diese einfach nicht benötigt werden und so wenig Ressource diese benötigen ... sie sind eigentlich über !
    Ja, die Arbeit wäre um ein vielfaches einfacher.
    Habe ich bisher auf meinem anderem VDR auch so gemacht, aber ist halt auch nicht so elegant und Ressourcenschonend.

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Ich habe bisher immer nur Slim deaktiviert und darauf gehofft das SoftHdDevice den X-Server startet.
    Das scheint aber nicht zu funktionieren.


    Also das mit .xinitrc funktioniert nur, wenn z.b. slim den X Server startet.
    Du brauchst dann weiter plugin.softhddevice.conf da muß ja mindestens das -D und wenn du einen windowmanager startest auch ein -f rein.


    Versuch doch mal nur den X Server als Benutzer zustarten.


    z.b.:

    Code
    sudo -u vdr /usr/bin/Xorg


    Solltest sudo installiert haben und als Benutzer root ausführen.
    Und sollte kein X bereits laufen. Also Dienst slim beenden (könnte /etc/init.d/slim stop sein).


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Moin!


    Dieser hat aber nicht wie üblich ein eigenes Homeverzeichnis etc.


    Doch, hat er, schau mal in die /etc/passwd. Es müsste /var/lib/vdr sein.


    Lars.

  • In meinem Startscript /etc/init.d/boot.local steht

    Code
    exec /usr/bin/X :0 vt7 &>/dev/NULL &

    das startet X (openSuse braucht vt7),
    softhddevice wird mit

    Code
    -P'softhddevice -g 1920x1080 -s'

    vom vdr suspended gestartet.
    In der commands.conf werden zu resumen bzw. suspenden Scripte aufgerufen, in denen

    Code
    Pfad/svdrpsend plug softhddevice RESU (bzw. SUSP)

    ausgeführt wird.
    Funzt tadellos.

  • Ja, das gibt es, aber solange das niemand nutzt, ist es uninteressant. Warum sollte der VDR Vorreiter sein?


    Das einzige Argument etwas nicht zu benutzen wäre IMHO wenn es nicht so funktioniert wie man es gerne hätte und man daran mit vertretbarem Aufwand nichts ändern kann - ist doch egal wer das sonst noch nutzt, solange es funktioniert :versteck

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • X-server kann ich als User hdtv starten.


    Ja, der VDR hat natürlich ein Homeverzeichnis unter /var/lib/vdr.


    /etc/init.d/boot.local existiert bei mir nicht.
    Wird bei Debian scheinbar anders gelöst.


    Hier ist das Slm welches Start-Script den X-Server startet.
    Welches Script aber dann X startet wenn nur das SoftHdDevice am werkeln ist ... ?

    Intel NUC BOXNUC6CAYH (2x 4GB Kingston RAM, 120GB SSD) mit MLD 5.4, DD OctopusNET S2, OneForAll URC-7960 FB, OMV NAS

  • Das einzige Argument etwas nicht zu benutzen wäre IMHO wenn es nicht so funktioniert wie man es gerne hätte und man daran mit vertretbarem Aufwand nichts ändern kann - ist doch egal wer das sonst noch nutzt, solange es funktioniert :versteck


    Mir würde es schon reichen, wenn man sich auf softhddevice -x verlassen könnte.
    Wenn man systemd in Standardeinstellung laufen lässt will es den X-Server vor dem VDR beenden. Der X-Server wird geschlossen, der VDR hängt aber fest und lässt sich nicht mehr mit SIGTERM beenden.
    Wenn man systemd umkonfiguriert, dass nur der VDR beendet wird, wird der VDR sauber beendet, aber der X-Server bleibt manchmal hängen.

  • Wenn man systemd in Standardeinstellung laufen lässt will es den X-Server vor dem VDR beenden. Der X-Server wird geschlossen, der VDR hängt aber fest und lässt sich nicht mehr mit SIGTERM beenden.
    Wenn man systemd umkonfiguriert, dass nur der VDR beendet wird, wird der VDR sauber beendet, aber der X-Server bleibt manchmal hängen.


    Genau. Also wäre für mich die Konsequenz den X-Server in einen Systemd-Job zu packen und ein ExecPreStop oder einen abhängigen Job zu definieren, der dafür sorgt, dass das Frontend nicht mehr attached ist, wenn der X-Server beendet wird. Und da hat sich für mich dbus2vdr gegenüber svdrp sehr bewährt, weil es das zuverlässig erledigt.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

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