Hi,
ich habe aktuell ein etwas komplexews Problem das ich nur mit einem kruden workarround lösen kann.
Ich setzte Softhddevice mit einer nvidia Karte ein und zwar an einem LG Oled TV per HDMI.
Das Problem ist nun das sobald der VDR headless started (also z.B. start durch timer) der X Server nicht initialisiert wird und somit das Softhddevice keine X Server findet. Der VDR wird dann durch den watchdog beended und die Aufnahme zerstört.
Starten des X Servers with empty initial config hilft nur bedingt da er dann nicht in der korrekten Auflösung startet und manuell ein neustart ausgelöst werden muss sobald der Fernseher online ist (bzw per Harmony elite und lircd....)
Meine aktuelle Lösung lautet wie folgt.
Der VDR started detached und bringt auch den X Server hoch / per seperated systemd job. Der X Server führt ein Xinit script aus falls er erfolgreich gestartet wurde in dem unter anderem ein background task gestarted wird der den VDR periodisch checkt und Attached falls er detached ist .....
Also, Falls headless start -->
VDR Started
vdr-screen failed und restarted alle 5 sekunden ...
(nachdem der TV connected)
vdr-screen start ist erfolgreich und per xinit skript wird das softhddevice attached
Falls TV start :
vdr started
vdr-screen started
xinit script erkennt den "kürzlichen" vdr start un berechnet eine verzögerung von 10 sekunden nach vdr start (die Zeit dient dazu den vdr komplett hochfahren zu lassen, da ein zu frühes attach bei mir zu hängern geführt hat)
--> nach 10 sekunden. Der VDR wird attached.
Leider muss ich danach alle 10 sekunden den zustand prüfen um den vdr nach einem ggf. erfolgten restart/watchdog ihn wieder zu attachen. Das würde ich gerne anders lösen
Gibt es ein event das man prüfen kann, und das ausgelöst wird sobald ein HDMI gerät connected bzw. sich ändert ? In dem Fall könnte ich dies nutzten um den vdr-screen gezielt zu starten ?
Stefan