SoftHDDevice - Verständnisfrage

  • Hallo!


    Ich habe mich in erste Anleitungen und FAQs zum SoftHDDevice-Plugin eingelesen, nun aber folgende Verständnisfrage:


    Wie kommt bei diesem Plugin das Bild in den X-Server?



    Beim xinelib-Plugin ist es ja so:
    1. VDR läuft mit aktivieren xinelib-Plugin
    2. Man startet den X-Server, darin als Anwendung vdr-sxfe
    3. vdr-sxfe verbindet sich über eine TCP-Verbindung zum xinelib-Plugin von VDR und kann so auf den VDR zugreifen.



    Wie aber läuft das technisch mit dem SoftHDDevice-Plugin?


    Man startet den X-Server, und dann? (der beendet sich ja default-mäßig wenn darin keine Anwendung gestartet wird)



    Mir geht es vor allem um den Hintergrund, in meinem Fall eine möglichst sanfte Migration vom xinelib-Plugin weg zu SoftHDDEvice zu machen, nach Möglichkeit mit Rückstiegs-Option.



    Danke schon mal jedenfalls für eure Antworten :tup

  • Hallo,
    wenn du yaVDR einsetzen willst, erledigen das die Upstart-Skripte in Abhängigkeit des gewählten Frontends für dich. Die sind auch in unserem Git einsehbar: https://github.com/yavdr/yavdr…tc/init/vdr-frontend.conf Falls du nicht auf yaVDR setzt - was hat der Thread hier im yaVDR-Unterforum zu suchen?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Sorry für die Foren-Auswahl ...


    Mein (ya)VDR ist zwar selbst zusammengestrickt (auf einem Ubuntu 12.04), ich verwende aber ausschließlich die yaVDR-Quellen dafür. Gewissermaßen ist es also ein yaVDR :]


    Wo kann ich denn Hilfe in Bezug auf meine Fragen erhalten?


    Mir ist das mit dem zu verwendenden Frontend noch unklar:
    In eurem Repository sehe ich zwar Handler für die diversen Frontends, in /etc/init/vdr-frontend.conf/ ist das ja sehr schön festgelegt:


    xineliboutput, xine und eben softhddevice.


    Gestartet wird das Frontend lt. Config (also eines von den dreien)



    xineliboutput und xine sind mir klar. Der X-Server wird gestartet, danach eben vdr-sxfe (xineliboutput) oder xine (xine).


    Im Falle von softhddevice wird aber ein dBus-Call abgesetzt, um dann schlussendlich SVDRP-Kommandos zu senden. Ebenso scheint ihr euch im Python-Code um udev-Events zu kümmern, wie Volume-Tastendrücke usw.


    Wieso wird das auf diese Weise gelöst?


    Genügt es für das softhddevice-Plugin nicht mehr eine Binary innerhalb des X-Servers anzustarten damit die Sache rund läuft?

  • Du kannst steuern, ob softhddevice sich mit einem vorhandenen X-Server verbindet, oder softhddevice kann den X-Server selbst starten.


    MfG


    vdr-User-# 755 to_h264 chk_r

  • Softhddevice ist ein plugin und kein selbständiges Programm.


    vdr-User-# 755 to_h264 chk_r

  • So weit ist mir das schon klar, dass softhddevice ein Plugin innerhalb von VDR ist.


    Was mache ich aber mit dem X-Server? Muss ich darin ein Programm starten welches mit den Inhalt dann anzeigt (wie vdr-sxfe oder xine bei eben diesen Plugins)?


    Oder läuft der X-Server einfach alleine vor sich dahin (ohne ein Programm das darin laufen würde) und tritt in diesem Fall der VDR mit seinem SoftHDDevice-Plugin als eigenständiges Programm auf welches direkt auf den laufenden X-Server ausgibt?

  • Moin!


    Ja, softhddevice kommuniziert direkt mit dem X-Server. Sowas wie vdr-sxfe ist nicht mehr nötig.


    Mit dem Befehl DETA kann man softhddevice wieder vom X-Server trennen, mit ATTA wieder aufschalten.
    Das benutzen wir bei yaVDR z.B. dafür, den vdr und X parallel zu starten und erst, wenn beide bereit sind, die Ausgabe anzuschalten.
    Oder man auch X neu starten lassen, ohne den vdr beenden zu müssen.
    Zusätzlich lassen wir die Ausgabe aus, wenn der vdr wegen eines Timers gestartet wurde. Deshalb auch die umfangreiche vdr-frontend.conf. Sollte der Benutzer nämlich während einer Aufnahme auf die Idee kommen fernzusehen, muss er nur eine Taste auf der Fernbedienung drücken und die Ausgabe wird aktiviert.


    Lars.

  • Gewissermaßen ist es also ein yaVDR


    Ohne die stable/testing/unstable-yavdr PPAs mit den ganzen Paketen ist es kein yaVDR, sondern ein VDR mit unseren VDR- und ggf. XBMC-Paketen und verhält sich völlig anders als das was wir als yaVDR ausliefern.


    Du kannst das softhddevice-Plugin (wie es auch in yaVDR der Fall ist) mit der Option -D detached starten und dann später Attachen (mit den bekannten daraus resultierenden Reaktionen des VDR, Stichwort Nutzeraktivität beim nachträglichen Attachen) oder den VDR erst starten wenn der X-Server läuft... einfach mal in der Doku zum Plugin stöbern :)


    Dass sich der X-Server beendet, wenn da kein Programm gestartet ist, glaube ich bei richtiger Konfiguration nicht...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Was mache ich aber mit dem X-Server? Muss ich darin ein Programm starten welches mit den Inhalt dann anzeigt (wie vdr-sxfe oder xine bei eben diesen Plugins)?


    Das Plugin kann Xorg bei Bedarf mitstarten und benötigt keinen (!) extra Window Manager, ein schmales Xorg ohne Extras reicht aus. Bei yaVDR wird der X-Server aber getrennt gestartet, weil das eben für yaVDR gewünscht ist, betrifft Dich also nicht ...


    Frag mich in was Du Dich eingelesen hast ... steht im Prinzip alles auf einer Seite, hier im vdr-wiki ... ?(


    Regards
    fnu

    HowTo: APT pinning

  • Vielen Dank für die ausführlichen Erläuterungen, jetzt wird mir Einiges klar :]


    Ich hab es mir im Prinzip so gedacht, denn das Wiki führt diverse Optionen als konfigurierbar an (zB Nummer des X-Servers), und auch die FAQ zum Plugin lässt darauf schließen, da hier eine Client-Lösung ohne TV-Karte vorgestellt wird die aber dennoch eine VDR-Binary benötigt. Explizit angeführt ist es aber rein nirgendwo, dass das SoftHDDevice-Plugin direkt auf den X-Server ausgibt. Schade darum.


    Auch Danke für die -D Option zum Detached-Starten des Plugins. Die ist im Wiki nämlich gar nicht angeführt und hätte meine letzten Zweifel an einer X-Server-Ausgabe ausgeräumt :]


    Ich muss sagen die Sache ist wirklich genial gelöst. Direkte Ausgabe von VDR auf den X-Server, und dann auch noch steuerbar über die SVDRP-Messaging-API. Alle Achtung.


    Da wäre aber noch eine Kleinigkeit, die mir in Sachen X-Server nach wie vor den Kopf zerbricht:
    Wie starte ich das Ding, sodass die Binary tatsächlich alleinig aktiv bleibt (ohne darin laufendes Programm)?


    Derzeit ist es bei mir ja so gelöst, dass ich mittels nodm (=minimalistischer Diplay-Manager) xinit anstarte. xinit wiederum startet /etc/X11/Xsession, was letztendlich dann ~/.xsession startet.


    So switche ich von meinem in .xsession angestarteten Programm mittels Fernbedieungs-Taste zwischen dem VDR-Frontend und xbmc - schon länger als es das erste ISO von yaVDR gibt ;D


    Wie schon erwähnt ist in meinem Fall der X-Server weg aus dem System, sobald die in der .xsession angeführten Tasks erledigt sind. (heißt in meinem Fall: nodm würde sofort erneut xinit starten --> ist praktisch wenn es zu einem Crash auf der Frontend-Seite kommt)


    Was wäre denn eine Möglichkeit, den Xserver permantent zu starten?
    So etwas hab ich noch nie gemacht, da stehe ich wirklich auf der Leitung?
    Ein minimalistischer Display-Manger, der nur das nackte X startet? X selber als init-script / upstart-Job anlegen? Da gibt es doch schon sicher eine fertige Lösung dafür ...

  • Musst mal gucken mit welchen Parameter der X11 Server gestartet wird.


    Code
    1. -terminate terminate at server reset
    2. -once Terminate server after one session
    3. -noreset don't reset after last client exists
    4. -reset reset after last client exists


    Beeinflussen das Verhalten, Normal läuft X bis der Process beendent wird.
    Einfach nur X über Terminal starten.


    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

  • Das ganze Projekte rund um Migrationen etc. wird bei mir in frühestens einem Monat aktuell, ich kann dann ja berichten mit welchen zusätzlichen Optionen (die von johns geposteten) der Xserver optimal im standalone-Betrieb läuft.


    Aber dann nicht im yaVDR-Forum, okay?


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Meinetwegen berichte ich auch im Bild.de-Forum, wenn ihr dort verlässlich mitlest :P


    Aber Scherz beiseite, die richtige Foren-Rubrik soll ja das Wenigste sein woran es scheiter ... Wo wäre denn eine Frage zur Logik hinter den yaVDR-Scripts - ich meine im Besonderen den vdr-frontend-Upstart-Job bei konfiguriertem SoftHDDevice - richtigerweise aufgehoben? Beispielsweise ich hätte eine Frage zu einer Methode einer der Klassen in eurem dazu erstellten Python-Script?


    yaVDR hat einige Notwendigkeiten rund um einen komfortablen VDR-Betrieb wirklich sehr schön gelöst. Was ich nicht möchte, das ist meine yaVDR-spezifischen Fragen irgendwo zu stellen, wo sie von den am Projekt Beteiligten nicht gesehen werden.


    Als Antworten würde ich dann allgemeines Bla Bla erhalten, und das kann ich mir selber im Netz auch zusammensuchen, eben wie gesagt ganz ohne auf das Expertenwissen der yaVDR-Leute zugreifen zu müssen ...

  • Wenn jemand nicht direkt an yaVDR interessiert ist, sondern nur unser Know How abgreifen will, dann möchte ich das nicht als eine Support-Anfrage im yaVDR-Forum sehen, weil das den Druck erhöht auch darauf zu antworten und eine Verpflichtung zur Antwort haben wir ja eh nicht, aber die meisten yaVDR-Entwickler (mich eingeschlossen) lesen nicht nur das yaVDR-Forum im vdr-portal.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Beispielsweise ich hätte eine Frage zu einer Methode einer der Klassen in eurem dazu erstellten Python-Script?


    Nur zu, dafür gibt es ja z.B. http://www.vdr-portal.de/board…per/board20-c-c-scripten/ und allgemein für Alle, die unsere VDR-Pakete aber nicht den Rest verwenden http://www.vdr-portal.de/board…rd68-debian-und-derivate/

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Wenn jemand nicht direkt an yaVDR interessiert ist, sondern nur unser Know How abgreifen will, dann möchte ich das nicht als eine Support-Anfrage im yaVDR-Forum sehen, weil das den Druck erhöht auch darauf zu antworten und eine Verpflichtung zur Antwort haben wir ja eh nicht, aber die meisten yaVDR-Entwickler (mich eingeschlossen) lesen nicht nur das yaVDR-Forum im vdr-portal.


    Gerald


    Mhmm, wenn ich sowas lese, dann wird mir wieder mal klar, dass es einfach nochmal an der Zeit wäre, "Danke" zu sagen. Danke für eure tolle Distri, den spitzenmäßigen Support und euren unermüdlichen Einsatz. Weiter so !