VDR auf 40€ TV-Box - Tanix TX3 und ähnlichen Amlogic basierten Boxen

  • So mein X96 Max+ ist heute gekommen und ich habe nach der Anleitung von hape60 den vdr mit CE Kernel da zum laufen bekommen.

    jojo61 ,

    warum hast Du den X96Max+ extra gekauft?

    Hättest Du dazu nicht einfach auch den ODROID nehmen können, und das ganze auf einer separaten SDcard testen?

  • Wie bekomme ich earlyprintk mit 4.9 ans laufen (mit V5.x geht es)?

    Das wird eigentlich in der cmdline mit console=tty0 eingeschaltet.


    U-Boot! Mainline kann keine Kernel <4.14 booten.

    Da wirst Du ein neueres u-boot nehmen müssen. Es gab Änderungen an den Power Domains. Hast Du noch das Android U-Boot auf der emmc drauf? Ich bin mir noch nicht sicher das das die Probleme macht.

  • JoeBar


    4.9 verwendet proprietäre Erweiterungen. Da hat man bei Android ein paar Anleihen gemacht. Das ist aber nicht portabel. Es funktioniert dank des CoreElec-Teams aber gut und durch jojo61 mit VDR und Kodi im Wechsel.


    Libreelec hat inzwischen die Arbeit für Amlogic wieder aufgenommen. Die verwenden einen 5.17er Releasekandidaten. Das Ergebnis ist aber noch nicht wirklich überzeugend. UHD und hevc funktionieren nicht. Die Fortentwicklung verläuft mangels Unterstützung nur sehr schleppend. Es ist nicht abzusehen wann das wirklich nutzbar wird.

  • zillerbaer: Habe verschieden Einstellung der kernel cmd versucht. Mit 5.16 habe ich ja earlyprintk (oder earlycon wie es bei arm64 heisst).

    Die habe ich gerade in den tests (war mal länger wie von Armbian eingestellt):

    Code
    APPEND=earlyprintk root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 systemd.debug_shell=ttyAML0 udbg-immortal tp_printk

    Bei Amlogic soll dieser Teil wichtig sein :


    Code
    console=ttyAML0,115200n8

    Der Uarttreiber registriert sich auch bei 4.9 als earlycon. Zumindest sind die Aufrufe/macros im Quelltext (aber wird es compiliert? Das muss ich nochmals prüfen.

    Und ich sehe gerade ich habe kein EARLYCON in der cmd line (habe ich gestern gelesen das man das bräuchte - wird aber viel Mist geschrieben).


    Edit:

    earlycon hat nichts gebracht.

    Aber ich habe gesehen dass es zwei Treiber für den AMLOGIC UART gibt.

    1. linux-6a7cecbf10be7a12672b5295aef4c042addce1c6/drivers/tty/serial/meson_uart.c
    2. linux-6a7cecbf10be7a12672b5295aef4c042addce1c6/drivers/amlogic/uart/meson_uart.c

    Werde es hier reinschreiben wenn ich was positives finde.


    Edit2:

    EIner der Treiber war nicht im .config. Es braucht 3 settings um es zu aktivieren.

    Mist, beim Bauen ist er jetzt auf einen Fehlergelaufen

    Irgendwo im PINCONTROL. Komme ich heute nicht mehr dazu.


    Edit3 (14.03.2022):

    Earlycon funktioniert jetzt mit dem CE-Kernel. Es fehlte noch ein Eintrag im Device Tree (chosen.... ).

    Und man kann alles was early* betriff aus der kernel cmdline entfernen. Ebenso dieser Teil: "console=ttyAML0,115200n8" das war für Kernel 5.x.

    In den Quellen kann man finden dass ttyAMLx beim 4.9 nicht existiert. Dort heißt es ttySx.

    Es wird auch nur einer der beiden Uart-Treibern verwendet (drivers/amlogic/uart/meson_uart.c).

    Meine aktuell Appendzeile: "APPEND=root=LABEL=ROOTFS rootflags=data=writeback rw"

    Damit kann ich jetzt auch den Kernel von Beta untersuchen.


    Edit4 (16.03.2022):

    Auch mit dem Beta68-Kernel habe ich jetzt Earlycon. Auch da ist die Schnittstelle dafür TTYS0.

    Es sind eine ganze Reihe Änderungen notwendig. Ich habe den Kernel von Beta68 "geforked": github. Soll aber später wieder zusammengeführt werden (Mein Wunsch). Es wird aber verschiedene Konfigurationen geben (müssen).


    Momentan crashed dieser Kernel, aber jetzt kann ich etwa sehen wo. Ist ein großer Fortschritt.

    Grüße, Dieter :)

    5 Mal editiert, zuletzt von Dieter () aus folgendem Grund: Neu Info:

  • Nur bei Pro 7 Maxx und Sixx stimmt das Seitenverhältnis noch nicht.

    Schaue ich mir morgen mal an. Aber wenn das Bild dort wirklich 4:3 dargestellt werden muss dann wird es schwierig.

    warum hast Du den X96Max+ extra gekauft?

    Hättest Du dazu nicht einfach auch den ODROID nehmen können, und das ganze auf einer separaten SDcard testen?

    Ja ich hätte es auch auf dem Odroid testen können. Brauchte aber eh noch einen VDR und da hat es mich gereizt mal eine TV Box zu probieren.

    Und für 46€ kann man nix falsch machen :)


    Dieter Ich drücke dir die Daumen das du es noch schaffst mit dem Kernel booten.

  • Habe noch einen FIx für mpeg2 4:3 Sendungen eingecheckt. Das wirkt aber nur beim umschalten.

    Wenn dann in der Werbung wieder auf 16:9 umgestellt wird dann bekomme ich das nicht mit.


    Ich denke das ist erstmal ok so. So viele 4:3 Sendungen gibt es ja dann auch nicht mehr.

  • Hi,

    Dazu gab es doch das avards-Plugin. Kannst du den Code nicht ggf. nutzen?

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Dazu gab es doch das avards-Plugin. Kannst du den Code nicht ggf. nutzen?

    Ich bräuchte dazu kein plugin. Ich müsste nur den Stream permanent scannen. Das geht auch sehr einfach nur wollte ich die Last nicht haben.

    Wenn es aber gewünscht wird dann baue ich das gerne ein.


    PS: Habs nun umgebaut und nun ist es dynamisch. Muss doch nicht alles scannen.

  • Hi,

    wieder mal ein Statusupdate:

    Mit dem Kernel von Hardkernel/Beta68 bin ich noch nicht viel weitergekommen. Der Crashed an verschiedenen Stellen. Könnte IRQ oder DMA sein (oder Takt, Regulators).


    Um anderes auszuschliesen habe ich versucht den Kernel von CE mit dem rootfs von Ubuntu zu verbinden.

    Dazu musste ich eine andrere initrd für Ubuntu erzeugen. Es brauchte dann doch ein paar Anpassungen im initrd, aber jetzt rennt es.

    Endlich!

    Grüße, Dieter :)

  • Also handelt es sich jetzt um den aktuellen 4.9 CE Kernel? Welche Vorteile hätte denn der Kernel von Hardkernel/Beta68 bzw. welche Einschränkungen hat der CE Kernel?

    Mit dem CE Kernel und verbundenem Ubuntu rootfs sind dann die Quellen von seahawk nutzbar also yavdr, richtig?


    Viele Grüße

  • Dazu musste ich eine andrere initrd für Ubuntu erzeugen. Es brauchte dann doch ein paar Anpassungen im initrd, aber jetzt rennt es.

    Endlich!

    Prima. Darauf habe ich gewartet. Kannst du das irgendwie bereitstellen ?


    Ich habe auch noch etwas mit dem CE Kernel gespielt (mit der chroot Umgebung). Dabei ist mir aufgefallen das dort beim compilieren die Anzahl der offenen Decoder auf 1 begrenzt wurde. Damit geht dann kein PIP. Falls du den CE Kernel selber baust dann sollte man das wieder ändern. Damit hätte man dann das beste aus 2 Welten. Den CE Kernel für Kodi und einen lauffähigen VDR den man mit den Quellen von seahawk füttern kann.

  • Hi,

    @JoeBar:

    Ja aktueller CE 4.9. Hab den nur wegen Fehlersuche angefasst damit ich vergleichen kann.

    Der Plan war die YA-Sachen zu nehmen (und ev. einen Ansible-"Script" aufsetzen damit auch die Installation Dokumentiert ist.)

    (Danke nochmals an Seahawk der hat mich damals zu Ansible gebracht. Super Werkzeug, verwende es für fast alle Maschinen)


    @jojo61 und beta:

    Bereitstellen: Ja, muss aber Saubermachen.

    Wo stellt man die Decoder auf 2.


    Was interessant wäre ob mein Kompilat des Beta68Kernels auf Odroid läuft.


    Ich baue Cross mit dem selben Compiler wie CE (GCC 10.2).

    Habs aber auch mit dem GCC 10.3 und 632 versucht.


    Der CE hat die Media-Moduls extern (out of tree), die habe ich noch nicht gebaut - soweit war ich noch nicht.


    Vielleicht zippe ich einfach - mal sehen wie groß es wird.

    Später soll es aber sauber in github sein.

    Grüße, Dieter :)

  • Hi,

    60MB auf meinem gdrive.

    (ExperimentalCE_Kernel_WithUbuntuRamdisk.tar.bz2)

    Mehr Details im Ordner Hints/Readme.txt.


    Kernel source muss per git clone von GitHub geholt werden (würde Größe vervielfachen).

    Es sind auch die originale Ramdisk (initrd) von CE und originale Ramdisk von Ubuntu vorhanden.


    Ich hoffe das nichts vergessen wurde.

    Es sollte funktionieren einen Armbian Ubuntu-Stick zu machen und

    das Kernel image (nach bauen in linux-amlogic_boot zu finden. Ca. 100MB. Dort sind auch to dtb files)


    u-boot:

    Die u-boot scripts sind in Hints/Experiments/scripts/.

    uEnv.txt anpassen nicht vergessen!

    Dann an die Box und toothpick....



    PS: Ob Ubuntu-Basis besser ist als CE? Zumindest zum Bauen und testen ja.

    Meine Hoffnung ist ein Plugin zu CE.

    Grüße, Dieter :)

  • Wo stellt man die Decoder auf 2.

    Das ist in den Media Modulen. Da ist derzeit im CE Kernel ein Patch der die Anzahl der deecoder auf 1 setzt weil Kodi das nicht anders kann. In der Datei drivers/frame_provider/decoder/utils/vdec.h muss der #define MAX_INSTANCE_MUN von 1 auf 2 oder besser auf 9 (original) gesetzt werden.

    Oder besser noch man lässt einfach den patch im Corelec build weg, Ob Kodi dann aber Probleme hat kann ich nicht sagen.


    Und damit sind wir auch schon bei den media-modulen vom CE Kernel. Ohne die geht es leider nicht. Das müsstest du noch in deinen build mit einbauen.


    Wir haben nun mehrere Ansätze das ganze zum laufen zu bringen:

    1. hape60 Ansatz mit einem originalen CE Image und Ubuntu unter chroot als Laufzeitumgebung

    2. Dieter mit dem CE Kernel und Ubuntu als Laufzeitumgebung

    3. durchflieger mit vdr und softhdodroid als Kodi plugin im CE Kernel incl. Laufzeitumgebung


    Zur vereinfachen Pflege ist mir der Ansatz von hape60 noch am liebsten. Da kann man immer das aktuelle CE Image nehmen und einfach und schnell mit einem Ubuntu erweitern. Damit habe ich nun schon eine Weile getestet und es läuft Problemlos. Auch ein umschalten zwischen Kodi und vdr geht sehr einfach und schnell. Kodi und vdr gleichzeitig geht eh (derzeit) nicht. Diese Lösung gefällt mir auch deswegen so gut weil es CE Images für sehr viele TV Boxen gibt und man sich über das jeweilige DTB und booten keine Gedanken machen muss. Nur PIP wird es da erst mal nicht geben weil der original CE Kernel das abgeschaltet hat.


    Da bietet sich nun ein (un)gepatchter CE Kernel an wo mehrere aktive Decoder möglich sind. Falls damit Kodi auch gut läuft ist das wohl der beste Ansatz.


    Bei Dieters ansatz wird die komplette Laufzeitumgebung durch Ubuntu ersetzt. D.h. auch Kodi läuft dann unter Ubuntu. Damit braucht Ubuntu dann aber auch die libamcodec und die Mali Treiber für Kodi. Das könnte da noch zu Problemen führen.


    Den vdr als Kodi plugin laufen zu lassen erscheint mir leider nicht Zielführend weil Kodi immer die vdr Anzeige stört. Das funktioniert wohl nur mit vdr als Backend und dem VNSI Plugin von Kodi. Das gibt es ja schon eine weile.


    Natürlich kann jeder seine Lösung weiter treiben. Aber ich denke es wäre schöner wenn wir uns auf eine Lösung einigen könnten damit es nicht zu verzettelt wird.


    Soweit meine Gedanken und nun warte ich mal auf Feedback was die anderen so denken.


    jojo61

  • Hi jojo61,

    full ack. Verzetteln ist immer schlecht.


    Ich packe noch die media-module rein. Als "out of tree" build wie bei CE.

    Vielleicht kann happe60 noch seinen Weg genauer beschreiben oder scripts bereitstellen.


    Den Beta68/HK kernel have ich vorerst aufgeben. Den Crash zu reparieren ist mir noch nicht gelungen. Und was kommt danach? HK hat da ziemlich schmutzing gearbeitet. Eine CONFIG_XX ändern und es kommen Fehler. Selbst Mergekonflikte sind da noch im Text.

    Aber ich habe wieder viel gelernt (auch was ich schon wieder vergessen hatte). Kernelland ist immer interessant.


    Auf Github habe ich meine U-boot-Scripte mit Erklärungen aufgefrischt.


    Nochwas:

    Vielleicht ist die von zillerbaer gezeigt Lösung für Allwinner SOCs auch hier machbar.

    Kernel 5.17 und softhddevice-drm wäre mein zweiter Ansatz gewesen.

    Das ist zumindest ein zukunftsicherer Weg. Kernel 4.x wird irgendwann sterben.

    (5.17-RC5 booted perfect mit den Armbian U-Boot-Scripts)

    Was mit Amlogic bei 5.17 geht und nicht geht ist mir nicht bekannt. Aber es wurde viel nach Mainline portiert.

    Ich stecke aber lieber Zeit in die Verbesserung des 5.17 als den alten Mist 4.9 zu reparieren.

    Grüße, Dieter :)

  • Vielleicht kann happe60 noch seinen Weg genauer beschreiben oder scripts bereitstellen.

    Im Post #17 hat er es wirklich gut beschrieben. Incl. scripten zum starten einer shell oder des vdr direkt.

    Damit konnte ich es gut installieren. Und wenn man einmal das Ubuntu installiert hat, kann man es einfach weiter kopieren auf die nächste SD Karte nach bedarf.

  • Hi jojo61,

    bei mir steht in vdec.h:

    Code
    #define MAX_INSTANCE_MUN  9

    Die Patches von CE werden nur beim original CE Buildsystem verwendet.

    Grüße, Dieter :)

  • An die Runde:

    hat schon jemand den VDR mit plugins cross-kompiliert?

    Ich hat schon einmal woanders gefragt, aber keine Antwort bekommen.


    Makefile von VDR habe ich mal angesehen, sollte machbar sein (wenn auch nicht so schön wie im Linux Kernel).

    Grüße, Dieter :)

Jetzt mitmachen!

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