Video Treiber für Odroid-N2+ (softhdodroid)

  • Dr. Seltsam Ich habe nun nochmal mit deinem Patch getestet. Die Probleme mit dem Edit Mode konnte ich beheben.

    Dann habe ich aber gesehen das nun beim umschalten manchmal das Bild stehen bleibt. Irgendwie ist nun das Timing anders und der Stream läuft

    nicht immer sauber an. Da mit dem Patch das Umschaltverhalten auch nicht wesentlich schneller geworden ist, möchte ich hier kein Risko eingehen und werde den Patch nicht übernehmen.


    PS: Ich teste mit SatIP und da ist das umschalten eh immer etwas tricky.

  • Es wäre interessant zu wissen, welcher Teil der Änderung das Problem bei Dir verursacht.


    Kannst Du mal schrittweise testen:

    erst in SetPlayMode die beiden Zeilen

    Code
    Clear();
    MyVideoStream->ClearClose = 0;

    auskommentieren. Dann erfolgt beim Umschalten kein amlReset mehr.


    Wenn das Problem immer noch auftritt, verlege bitte

    Code
    amlSetInt("/sys/class/video/blackout_policy", ConfigVideoBlackPicture);

    wieder in Playmode 0 hinter die beiden o.g. Zeilen.


    Wenn es dann nicht mehr auftritt, entferne die Kommentierung für die beiden o.g. Zeilen wieder und teste erneut.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Habs grad gefixt und eingecheckt :)

    ist super jetzt mit dem aktuellen Stand, alle meine Anmerkungen sind umgesetzt bzw behoben. Damit lass ich es jetzt über das Wochenende laufen aber ich bin schwer begeistert - war ich ja gestern schon. Wollte auch gestern Abend nur den ein oder anderen vom fehlerhaften Update abhalten und keine Aufruhr machen :D


    Dass das Bild während einer Wiedergabe reproduzierbar an einer Stelle stehen bleibt tritt wirklich sehr sehr selten auf (vllt 3x in 2 Monaten), ich vermute das es ein kurzzeitiges Problem im Empfangsstream war, mit dem andere Frontends etwas großzügiger umgehen - Wenn hier jemand früher als ich einen Beispielschnipsel beisteuern kann wird jojo61 sich sicher freuen. Bin selber auch die zweite Märzhälfte in Urlaub.

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Dann könntest Du in SetPlayMode hinter MyVideoStream->InvalidPesCounter = 0; die Zeilen

    Code
    // tell hw decoder we are closing stream
    VideoSetClosing(MyVideoStream->HwDecoder);
    VideoResetStart(MyVideoStream->HwDecoder);

    ergänzen. Ich konnte allerdings nicht nachvollziehen, dass die irgend etwas zur Ausführung bringen.


    Und letztlich könntest Du

    Code
    VideoDisplayWakeup();
    Play();

    für Playmode 1 bis 4 wieder eintragen. Ich konnte allerdings nicht feststellen, dass das irgendwas bewirkt.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Ich verstehe es bloß nicht, denn inzwischen hast Du eigentlich alles wieder so zurückgeändert wie in Deinem Original. Mit welcher Box testest Du? Muss mir dann wohl auch mal einen satip-Server einrichten. Was hast Du dafür laufen? minisatip?

    Ja, die aktuelle git ist fixer geworden.

    ...

    was anderes: Ich habe auf meiner Tanix TX3 ein normales CoreELEC und dann vdr in Ubuntu-chroot nach Rezept von beta. Ich würde gerne auch das timergesteuerte wakeup einrichten, stehe allerdings nach den letzten Threads zu dem Thema total im Wald und blicke nicht mehr durch. Kann ich den Kernel von Zabrimus aus seinem iso nehmen (welche Dateien genau?) und auf meine bestehende CE-Installation verpflanzen? Muss ich irgendwelche Module laden? Was muss ich mit dem Tool inject_bl301 genau machen? Und wie sieht das shutdown-Script aus? Wäre toll, wenn Du dazu mal ein kleines HowTo schreiben könntest.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Mit welcher Box testest Du? Muss mir dann wohl auch mal einen satip-Server einrichten. Was hast Du dafür laufen? minisatip?

    Ich teste auf einem Odroid n2+ und der SatIP Server ist eine DIGIBIT R1 mit satip-axe Firmware. Das ganze ist an ein UNICable LNB angeschlossen.


    Zu deiner anderen Frage:

    Wenn du ein Corelec mit chroot nutzt dann ist es ganz einfach. Du holst dir das Generic Image von Zabrimus und kopierst es nach /storage/.update

    Nach dem booten hast du dann alles was du brauchst. Es wird dabei nur die CE Installation upgedatet und dein chroot bleibt unangetastet.

    Der inject_bl301 läuft auch automatisch. Du müsstest dann eine Datei /sys/class/rtc/rtc0/wakealarm haben.


    Je nachdem welche Distro du im chroot nutzt sollte das stellen des wakealarms schon drin sein. Ich hatte aber auch im Thread von Zabrimus mal ein script zum stellen des wakealarms eingestellt. Das findest du aber auch in anderen Threads. Wenn du da nicht weiter kommst dann schreib nochmal.


    Nachtrag: die aktuell gebauten Images von Zabrimus enthalten noch nicht alles. Da musst du noch warten bis zum nächsten Update der Images (oder selber bauen).

  • ich hatte auch lange ein Zabrimus Image unter dem chroot, nutze jetzt das originale CE20.


    Auch wenn es hier etwas OT ist: was sind eure genauen Gründe weiter auf Zabrimus aufzubauen, bisher fehlt mir hier nichts außer das ich es nicht hinbekomme die "de.yavdr.frontend.conf" und die "de.yavdr.lircd2uinput.conf" nach /etc/dbus-1/system.d zu bekommen?


    Ich hatte schon versucht das Verzeichnis mit "mount -o bind /storage/.config/dbus-1/system.d /etc/dbus-1/system.d" vor start des dbus Deamon im Filesystem auszutauschen aber ich bekomm es irgendwie nicht funktional hin das ich mir den Service mit "dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames" anzeigen kann.


    Ist aber jetzt auch nicht kriegsentscheidend für mich. ;)

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • was sind eure genauen Gründe weiter auf Zabrimus aufzubauen, bisher fehlt mir hier nichts außer das ich es nicht

    Es gibt bei Zabrimus bisher 3 patches die mir wichtig sind. Erstens wird PIP im Kernel enabled. Dann gibt es in den Patch für die dvb-latest Module um das zumüllen des Logs zu vermeiden. Und dann gibt es dem Patch des bl301 damit es auch auf Tanix und X96 mit wakeup läuft.

  • die zu bauende distri ist dann ce20? baut das unter Ubuntu 22.04?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • o.k., dann muss ich es auf dem VDR laufen lassen, der hat noch (oder wieder) 20.04

    Auf dem Desktop-Rechner mit 22.04 hatte ich dies probiert:

    Code
    ./build.sh -config CoreELEC-20 -addon dvb-latest,system-tools

    und erhielt die wenig vertrauenserweckende Fehlermeldung

    Code
    Read config CoreELEC-20
    fatal: mehrdeutiges Argument 'origin/coreelec-20': unbekannter Commit oder Pfad existiert nicht

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • und erhielt die wenig vertrauenserweckende Fehlermeldung

    Die Meldung kann bei einem frischen Checkout immer noch kommen, aber die Fehlermeldung sollte im Build-Script und für den Build keine Auswirkungen haben.

    Zugegeben: Das eigentliche Problem hätte man eleganter lösen können.


    Baut es denn nicht?


    Edit:

    Die Fehlermeldung sollte jetzt auch bei einem frischen Checkout nicht mehr kommen. Es ist eleganter gelöst worden.

  • Wenn du ein Corelec mit chroot nutzt dann ist es ganz einfach. Du holst dir das Generic Image von Zabrimus und kopierst es nach /storage/.update

    Nach dem booten hast du dann alles was du brauchst. Es wird dabei nur die CE Installation upgedatet und dein chroot bleibt unangetastet.

    Der inject_bl301 läuft auch automatisch. Du müsstest dann eine Datei /sys/class/rtc/rtc0/wakealarm haben.

    Das hat wunderbar geklappt. Ich habe dazu die tar-Datei aus dem target-Ordner genommen (soll laut CE schneller gehen als img.gz). nach dem reboot ist /sys/class/rtc/rtc0/wakealarm vorhanden.


    Zitat

    Je nachdem welche Distro du im chroot nutzt sollte das stellen des wakealarms schon drin sein. Ich hatte aber auch im Thread von Zabrimus mal ein script zum stellen des wakealarms eingestellt. Das findest du aber auch in anderen Threads. Wenn du da nicht weiter kommst dann schreib nochmal.

    Ich habe jetzt diesen Beitrag uff. gefunden:

    Wenn ich es richtig verstanden habe, brauche ich nicht in/sys/kernel/debug/wakeup_time schreiben, sondern kann das gleiche

    Shutdown-Script wie auf dem N2 benutzen. Dort sieht meine vdrshutdown.sh so aus (nach Rezept von beta für vdr in chroot) :

    Bash
    #!/bin/bash
    sudo hwclock --systohc --utc
    NextTimer=$(($1 - 600 ))  # 10 minutes earlier
    sudo bash -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
    sudo bash -c "echo $NextTimer > /sys/class/rtc/rtc0/wakealarm"
    killall loopershutdown

    (Die letzte Zeile sorgt für den Shutdown, der in chroot ja nicht direkt ausgeführt werden kann)


    Ich werde das heute Nacht mit einem Timer testen. Einstweilen fällt mir auf, dass bei der Tanix TX3 zwar das Bild beim Ausschalten sofort weg ist, aber dann bleibt die Box noch mehrere Minuten an (erkennbar am Display), ehe sie ausschaltet. Ob es daran liegt, dass der hwclock-Befehl bei manueller Ausführung einen Fehler bringt? edit: ja, bei deaktivierter Zeile wird sofort abgeschaltet

    Code
    sudo hwclock --systohc --utc
    hwclock: ioctl(RTC_SET_TIME) to /dev/rtc0 to set the time failed: Invalid argument

    /dev/rtc0 ist vorhanden. Auf dem N2 funktioniert der hwclock-Befehl problemlos.

    ....


    Für alle die kein /sys/class/rtc/rtc0/wakealarm haben und in /sys/kernel/debug/wakeup_time schreiben müssen, könnte Deine Aussage

    Zitat

    Wobei man evtl. von $2 (Zeit bis zum nächsten Timer in Sekunden) noch 300 abziehen sollte um etwas vorlauf zu haben.

    verwirren. Ist es nicht vielmehr so, dass man dann 300 Sekunden dazuaddieren muss?

    Bash
    #!/bin/bash
    NextTimer=$(($2 + 300 ))  # number of seconds from the current time until the next timer event + 5 minutes buffer
    echo 0 >/sys/kernel/debug/wakeup_time
    echo $NextTimer >/sys/kernel/debug/wakeup_time
    systemctl suspend

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Ist es nicht vielmehr so, dass man dann 300 Sekunden dazuaddieren muss?

    Nein. In $2 ist die Zeit bis zum nächsten Timer in Sekunden (ab jetzt). Wenn du etwas früher aufwachen willst dann musst du etwas (z.b. 300) Sekunden abziehen :)


    Ich habe nun deinen Patch übernommen und eingecheckt. das Problem mit dem umschalten lag an meinm SatIP plugin. Das war veraltet.

    Am schnellsten geht umschalten nun mit FastSwitch = off und Blackout = off.

  • hm... ja, Du hast Recht. Wenn ich sie dazu addiere, dauert es länger und die Box schaltet zu spät ein. Ich werde alt...


    Das mit dem Patch freut mich. :]

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Moin Moin


    horchi hat mich gerade darauf Aufmerksam gemacht, dass UHD mit HLG nur Standbild bringt. Er ist auf CE 19, ich auf 20.


    Bringt bei live genauso wie bei Wiedergabe nur Standbild aber läuft nicht an: d90c638 13892df läuft hier noch, ich hangel mich mal nach vorn der Fehler tritt erstmalig in d74ba03 auf

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



    3 Mal editiert, zuletzt von CKone ()

Jetzt mitmachen!

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