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


  • Gehts hier nur darum unter Debian was zu starten?


    Wenn ja, dann:
    /etc/init.d/skeleton (mit nem passenden Namen kopieren) an die eigenen Bedürfnisse anpassen und per update-rc.d scharfstellen.


    Im VDR Startscript (vermutlich /etc/init.d/vdr) unter Required-Start dieses Srcipt eintragen (damit der VDR erst gestartet wird wenn x bereit ist). Ferner das Script so schreiben das es erst von "start" zurückkommt wenn das (was auch immer es gestartet hat) bereit ist auch wirklich genutzt zu werden.


    Das ist "der richtige Weg". Und der macht Arbeit ;) Aber alles (rc.local Pfush oder ähnliches) andere führt längerfristig nur zu Problemen und seltsamen Seiteneffekten.


    BTW: Kann man das nicht bei eTobi klauen?


    cu

  • An ein eigenes Script hatte ich auch schon gedacht. Habe dazu auch schon ein bisserl gestöbert.


    Nicht`s desto trotz, frage ich mich halt wie das bei anderen die Debian nutzen, funktioniert.
    Ich bin doch kein Sonderfall (oder :) !


    Was möchtest Du bei eTobi klauen ?
    Ich nutze die eTobi Pakete für den VDR.


    Ja, ich möchte lediglich einen X-Server mit dem SoftHdDevice starten.
    Das sollte aber das Device ja mit dem Parameter -x eigentlich selber tun. Ist bei mir aber nicht der Fall.


    Ich bin programmiertechnisch leider nicht wirklich bewandert (bin aber bereit dazu zu lernen).


    Skeleton ist ein Beispiel Script ?
    Habe einen Blick riskiert und frage mich allen ernstes wie jemand ohne Programmierkenntnisse damit klar kommen soll.


    Da sind die Beispiele von jrie leicht zu verstehen, sind aber glaube ich nicht LSB Header konform, oder wie auch immer sich das nennt.


    Ich bin auf Eurer Seite das richtig anzugehen, aber das muss für mich handelbar sein.


    Nicht alle VDR User nutzen eine fertige VDR Distri, oder ?
    Da sind genügend dabei die ein Debian als Unterbau mit eTobi Paketen nutzen.
    Wie machen diese User das ?

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


  • Lass dich nicht verwirren. Läuft den VDR als User hdtv? Bestimmt nicht sondern als User vdr.
    Deshalb sollst du testen ob Xorg unter User vdr läuft. Weil dann sind wir schon mal einen Schritt weiter.
    Wenn softhddevice X startet, dann wird kein Script ausgeführt es wird ganz einfach und direkt /usr/bin/X ausgeführt.
    /usr/bin/X ist ein Symbolic Link auf Xorg.



    P.S: Die Forumsoftware spinnt. BBCodes aktivieren ist immer aus.
    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

  • 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.


    Du machst mich wahnsinnig. Ich hänge doch nicht zig Plugins und Skripts an den VDR um das unter Kontrolle zu bekommen.

  • Ich kann wenn ich den X-Server stoppe, diesen als User hdtv (das ist der User den ich für gewöhnlich nutze) starten.


    Als VDR kann ich den X-Server meiner Meinung nach nicht starten. Deshalb hatte ich zwischenzeitlich wegen der Gruppenzugehörigkeit und den Rechten gefragt.


    Der VDR ist zwar ein User, aber mit beschnittenen Rechten wie ich gelernt habe.
    Was wäre den wenn ich diesen als ganz normalen User aufbohre (geht das und wenn ja wie ?) ?

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

  • Als VDR kann ich den X-Server meiner Meinung nach nicht starten.


    Woran machst du das fest?

    Deshalb hatte ich zwischenzeitlich wegen der Gruppenzugehörigkeit und den Rechten gefragt.


    Er hat kein Passwort gesetzt und keine Loginshell. Das braucht er aber auch gar nicht um den X-Server zu starten. Die nötigen Gruppen in denen er Mitglied sein sollte hat johns schon genannt (IIRC setzt die das VDR-Paket von e-Tobi): SoftHdDevice --> Verständnisfrage


    Was bekommst du denn wenn du das machst:

    Code
    sudo su # oder als root anmelden
    /etc/init.d/slim stop
    su vdr
    startx

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Gruppen hatte ich so wie von Johns genannt erweitert.


    Ich habe dem VDR ein Passwort spendiert, aber das ist wohl egal.


    Ich kann mich als User VDR nicht anmelden.
    Was ich machen kann ist folgendes:


    Code
    hdtv: su - vdr
    Passwort: xxx
    hdtv: startx oder auch /usr/bin/Xorg


    Ich kann mich wohl als User VDR anmelden, aber am Prompt steht dann immer noch der User hdtv.
    Das liegt wohl daran das kein Loginshell für den User VDR erlaubt ist.

    Als root funktioniert das so nicht.


    startx oder einen X-Server starten funktioniert.

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

  • Deshalb hatte ich es mit sudo gemacht, der sollte ohne Passwort und Login shell funktionieren.


    Ansonsten touch /tmp/xxx machen und gucken wem das File gehört.


    Prüfe ob /usr/bin/X existiert. Wenn beides stimmt, also du Benutzer "vdr" bist und X ausführen kannst,
    dann sollte -x funktionieren. Wenn nicht prüfe mal was im syslog steht.


    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

  • Hi,


    Ich hatte doch in Post 52 eine Konfig beschrieben, die meiner Meinung nach genau das tut, was du willst.


    Ein Startscript, das ausschließlich X startet, ohne jeden DM und alle Usern auf dem Rechner das Recht erteilt, Fenster auf dem Desktop zu öffnen.


    Anschließend startet man den VDR mit Johns softhddevive und alles läuft wunderbar.


    Bis dann


    Anton

  • Ich verstehe Johns und bin grundsätzlich auch für einfache Lösungen, aber das scheint alles nicht`s zu helfen.


    Ich werde Dein Script versuchen, aber wo soll das plaziert werden ?


    /etc/init.d/Dein Script



    Nachtrag:


    /usr/bin/X existiert.


    Der VDR darf den X-Server nicht starten, egal wie ich das anstelle.


    Das syslog verrät leider auch nicht viel dazu.

    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 ()

  • OK, das Script aus Post 52 hat so auch nicht funktioniert. Warum auch immer.


    Langsam aber sicher werde ich mürbe.

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

  • Ok, hier die Reihenfolge für einen Test des ganzen.


    1. du loggst dich als Root auf deinen Rechner
    2. du ruft starx auf
    3. du loggst dich als normaler root erneut auf deinen Rechner ein.
    4. du prüfst die Displaynummer, die startx vergeben hat (normalerweise :0, aber prüfen schadet nichts)
    5. du rufst DISPLAY=:0 und anschließend xhost + auf
    6. du loggst dich als normaler User ein
    7. du rufst xterm auf


    jetzt sollte ein Terminalwindow auf dem Monitor erscheinen. Möglicherweise war schon eins da, dann kam nun ein weiteres hinzu.


    Wenn das geht, geht auch das, was du vor hast.


    Mein Script aus Post 52 war in der Tat als init.d - Script gedacht, also als Script, das beim Booten mit abgearbeitet werden soll


    Je nach Distri musst du es also dem Runlevel hinzufügen, der bei dir als Standard definiert ist.


    ich habe das Script /etc/init.d/xstart genannt und dann dem Defaultrunlevel mit meinen Distributionswerkzeug rc-update hinzugefügt.
    Außderdem habe ich dem Startscript vom VDR gesagt, dass xstart fertig sein muss, bevor er versucht zu starten. So stelle ich sicher, das softhddevice ein laufenden X vorfindet, mit dem es sich verbinden kann.


    Kommt es bei dem obigen Test an irgend einer Stelle zu einem Fehler, poste bitte das entsprechende Logfile.
    Also Xorg.0.log, falls deine Displaynummer :0 war, ansonsten das dazu passende aus /var/log


    Außerdem hilft vermutlich auch /var/log/messages, falls das Verbinden des normalen Benutzers mit dem X nicht funktioniert hat.


    Fehlermeldung an der Konsole sind natürlich auch interessant.


    Außerdem brauche ich den Inhalt der Datei /etc/X11/xserverrc und besser auch /etc/X11/xinitrc.


    Bis dann


    Anton

  • Um erst mal ein Erfolgserlebnis zu haben, würde ich es erst mal ganz simpel machen. Verbessern kannst du es dann immer noch.
    Lege in /etc/init.d/ das Script Xstarten an und mach es ausführbar:

    Code
    chmod 755 /etc/init.d/Xstarten

    Dann ein

    Code
    update-rc.d Xstarten defaults

    Dann wird Xstarten beim Start aufgerufen, und startet X. (Slim muss raus.)
    softhddevice mit

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

    bzw. entsprechenden Einträgen in der config vom vdr suspended starten lassen (Auflösung anpassen).
    Mit

    Code
    Pfad/svdrpsend plug softhddevice RESU

    Bild loslaufen lassen.
    Ohne Garantie, denn ich habe kein Debian. [Falls Debian Kenner einen Fehler finden, bitte verbessern.]


    Der Vorschlag von Johns ist natürlich näher an deiner ursprünglichen Frage dran, und es wäre auch interessant, was da klemmt, aber ich finde es besser, wenn X bereits läuft. Dann kommt auf Tastendruck an der Fernbedienung sofort das Bild, und ich muss nicht erst ein paar Sekunden warten, bis X gestartet ist.
    Außerdem wird die Anzahl der möglichen Fehler (was wann zuerst starten/stoppen muss) reduziert. Siehe auch Post 75 und 78.
    [Ist wie gesagt quick&dirty, aber Hauptsache es geht erst mal.]

  • Wenn ich "startx" ausfühe, dann startet meine Desktopumgebung.
    Das ist nicht was wir wollten, oder ?


    Dafür müsste ich wohl nur den X-Server standalone starten (/usr/bin/Xorg), oder ?

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

  • Wenn ich "startx" ausfühe, dann startet meine Desktopumgebung.
    Das ist nicht was wir wollten, oder ?


    Dafür müsste ich wohl nur den X-Server standalone starten (/usr/bin/Xorg), oder ?


    Das liegt an deiner xinitrc, in der wird festgelegt, was alles gestartet wird, wenn der Befehl startx ausgeführt wird.


    Diese kannst du ja mal sichern und dann bis auf ein einfaches xterm "erleichtern"


    In meiner Distribution gibt es ganz am Ende den folgenden Eintrag:


    Code
    if [ -n "$failsafe" ]; then
            twm &
            xclock -geometry 50x50-1+1 &
            xterm -geometry 80x50+494+51 &
            xterm -geometry 80x20+494-0 &
            exec xterm -geometry 80x66+0+0 -name login
    else
            exec $command
    fi


    das habe ich auf meinem VDR so abgeändert:


    Code
    if [ -n "$failsafe" ]; then
    #        twm &
    #        xclock -geometry 50x50-1+1 &
    #        xterm -geometry 80x50+494+51 &
    #        xterm -geometry 80x20+494-0 &
            exec xterm -geometry 80x66+0+0 -name login
    else
            exec $command
    fi


    So wird nur noch ein Client gestartet, nämlich das xterm.


    Etwas ähnliches sollte auch bei deiner Distri dabei sein. Schau mal durch das xinitrc, das ist normalerweise simple aufgebaut und den Rest steuern die Scripte, die den Windowmanager starten. Das willst du ja verhindern.


    Wenn ich bei mir das Script startx via /etc/init.d/xstart aus meinem vorherigen Post starte, erscheint ein schwarzer Bildschirm mit genau einem xterm - Fenster. Das ist das, was am Ende passieren sollte. Danach bist du einen großen Schritt weiter.


    Bis dann


    Anton

  • OK, ich habe nun noch div. Scripte durchprobiert, ... aber ich bleibe immer dabei hängen, dass der X-Server von dem User nicht gestartet werden darf.


    Bei meinem letzten Test wo ich mit rungetty an das Thema gegangen bin, durfte noch nicht einmal mehr der der User hdtv den X-Server starten.


    Ich blicke durch den ganzen Wald von Start-Scripten, Runlevels und div. Konfigdateien die hier vorgeschlagen wurden nicht mehr durch.


    Nicht will helfen.
    Immer wieder komme ich darauf zurück das der User hdtv/VDR den X-Server nicht starten darf.


    Automatisches einloggen und etwas starten geht alles super mit z.B. rungetty.
    Starte ich so z.B. XFCE4 ist das kein Problem.
    Versuche ich das mit dem X-Server (/usr/bin/Xorg), dann gibt es eine Fehlermeldung das keine Verbindung stattfinden kann.


    Das scheint doch def. ein Rechteproblem zu sein !



    Nachtrag:


    Code
    startx -- :1 -nolisten tcp

    auf einer anderen Konsole funktioniert als User hdtv ohne Probleme und startet mir meinen laufenden Desktop als neue Session.


    Das gleiche mit

    Code
    startx /usr/bin/Xorg -- :1

    funktioniert nicht und ergibt einen "fatal error ... server conection lost".


    Ich bin jetzt auch lost und überlege ob ich das ganze nicht mit einem schlanken WM machen soll, obwohl ich es einfach nicht verstehe mit dem X-Server. Sorry !

    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 ()

  • Das Problem liegt nicht an dem Login oder dem Starten von einer Anwendung: Das Problem liegt am Starten von dem X-Server.


    Nun habe ich der weilen gelernt, dass unter Debian root den X-Server startet.


    Ich bin einen anderen Weg gegangen und habe einen schlanken WM (matchbox-window-manager) installiert, Slim außen vor gelassen und erst einmal von der Konsole aus meine Session gestartet.


    In der /etc/X11/xinit/xinitrc habe ich folgendes eingetragen:


    Code
    matchbox-window-manager &
    pid=$!
    xhost +
    xterm
    kill $!


    Das funktioniert so weit auch sehr gut, bis auf das ich über das externalplayer-Plugin XBMC nicht mehr starten kann.
    Das könnte daran liegen, dass der WM ein weiteres Fenster nicht öffnen kann, da immer nur eine Anwendung im Vordergrund läuft bzw. ein Fenster offen sein kann.


    Starte ich im xterm xbmc dann funktioniert das ohne Probleme.


    Mit nodm könnte ich einen autologin und start von der xsession realisieren, wobei das auch über rungetty funktionieren würde.


    Vielleicht kann ich hier aufsetzen wenn eine Lösung für XBMC und dem Umschalten realisierbar wäre.


    Grundsätzlich macht das einen brauchbaren Eindruck.


    Nicht`s desto Trotz müsste ein reiner X-Server doch auch funktionieren.
    Allerdings sehe ich hier das gleiche Problem mit XBMC.


    Was halt auch noch nicht funktioniert hat ist das Starten des SoftHdDevice. Wieder ohne Bild, aber mit Ton.
    Hier denke ich auch das die Reihenfolge das Problem ist.
    Mit dem Parameter -D funktioniert das leider auch nicht.

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

  • Hallo,


    dass Problem ist derweilen gelöst.


    Ich habe nun mein Modell mit einem X-Server der beim Rechnerstart für den VDR mit dem SoftHdDevice zur Verfügung steht.
    Aus dem SoftHdDevice heraus starte ich XBMC (ohne Externalplayer-Plugin !).


    Alles funktioniert nun wunderbar.
    Das Umschalten zu meiner Desktopumgebung mache ich über eine weitere X-Server Session (Start über Konsole). Aus dem VDR heraus tut das nicht Not (derzeit).


    Ich greife auf eine Lösung von Tobias (eTobi) zurück. Ist hier beschrieben: "Einmal X-Server ohne alles"
    Allerdings verwende ich ein abgewandeltes Script welches mir Tobias netter weise zur Verfügung gestellt hat (s. Anhang).
    Auch für das Umschalten zwischen dem VDR SoftHdDevice und XBMC findet Ihr ein Script im Anhang.
    Die Scripte müssen alle ausführbar sein.


    Was ich noch machen musste (nicht zwingend): Einen User xbmc anlegen, wieder in die Gruppen "audio, video und sudo" aufnehmen, sowie in der /etc/sudoers folgenden Eintrag setzen:

    Code
    vdr ALL=(xbmc) NOPASSWD: /usr/bin/xbmc-standalone


    Über den Menüeintrag "Befehle" schalte ich zu XBMC. Das SoftHdDevice rückt nicht wie beim Externalplayer-Plugin in den Hintergrund, sondern wird abgehangen (was ich besser finde).


    Was mir bei dieser Lösung aufgefallen ist im Vergleich zu der Lösung in der ich einen WM / Desktopumgebung benutze: Meine anfänglichen Bildprobleme sind behoben und ich habe super schnelle Umschaltzeiten (liegt wohl am SoftHdDevice!).


    Ich möchte mich hier am Ende nochmals für die super tolle und ausdauernde Hilfe bei allen Beteiligten bedanken.
    Vor allem bei Johns der sicherlich wichtigeres zu tun gehabt hätte :)
    Ein fettes Dankeschön an Tobias für die Scripte und den Support.


    Ich habe super viel gelernt und nun macht das Basteln wieder Spaß !


    Jetzt noch die FB mit dem VDR und XBMC einbinden (hier muss ich noch einen IR-Empfänger zusammen löten), ein wenig an der Geräuschkulisse von dem HDTV PC arbeiten und ein bisserl Make up nach meinem Geschmack --> Perfekte Welt.



    Danke !

  • Hallo VDRFiertie,
    hast du dir eigentlich meine Scripte mal angeschaut?
    Du machst nun (paar Tage später) fast das gleiche, nur das du den X-Server von Hand startest (warum auch immer, Bildprobleme kann der WM nicht verursachen).


    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

Jetzt mitmachen!

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