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

  • Laut CE-Forum wird es einen 5.15-Kernel mit amlogic-spezifischen Erweiterungen in dem neuen (dann dritten) Entwicklungszweig Amlogic-no geben - nur für CE-21.

    coreelec:ce_dev_cycle [CoreELEC Wiki]

    Das klärt dann auch meine Frage - GLX-Support steht dann wie angekündigt nicht mehr zur Verfügung. Wird das zu einem Problem für das OSD?

    Noch gibt es keine downloadbaren images für amlogic-no. Soll aber ""bald" kommen.

    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

  • Außerdem werden die neuen CE-Versionen wie bereits jetzt der CE-Amlogic-ne und vermutlich auch das CE-Amlogic-no eine aarch64-Architectur haben, was wohl auch nicht so ohne ist! ;)

  • Laut CE-Forum wird es einen 5.15-Kernel mit amlogic-spezifischen Erweiterungen in dem neuen (dann dritten) Entwicklungszweig Amlogic-no geben

    Ich lass mich überraschen. Wenn die Amlogic Erweiterungen drin sind, dann ist die chance gross das der softhdodroid damit lauffähig wird :)

    Allerdings sehe ich derzeit keinen Vorteil darin. Ich wüsste nicht was an der derzeitigen Funktionalität noch zu erweitern wäre.

  • Ach wie wär das schön, wenn wirs mit dem AMLGX Port von LibreELEC hinkriegen. Dann wären diese Probleme weniger :)

  • Die ersten nightly buils des neuen CoreElec-Projekts Amlogic-no mit neuem Amlogic Vendor Kernel 5.15.78 sind da:

    Amlogic-no, New Order
    Amlogic-no, New Order Team CoreELEC is proud to present project Amlogic-no (New Order). For months, the team has worked tirelessly to build an “almost…
    discourse.coreelec.org

    no steht für New Order. Ich hatte pötzlich die Melodie von 'Blue Monday' wieder im Ohr :alien3

    Noch gibt es keine Sourcen.

    Ich habe das mal auf meiner Tanix TX3 installiert und dann mit dem beta-Script ein chroot-System installiert. softhdodroid kompiliert (kein Wunder, ist ja noch gegen die Sourcen der Ubuntu-Version mit ihrem 4.9er-Kernel). vdr startet auch, aber wie schon befürchtet gibt es wegen der fehlenden GLX-Unterstützung im Kernel kein OSD. Nun ist die Frage: Ist das openglosd das einzige implementierte OSD, oder kann man wie bei den anderen softhd*-Plugins das Plugin auch ohne openglosd bauen, so dass ein 'normales' OSD benutzt wird?

    Die Bild- und Tonausgabe klappt ansonsten, allerdings haben sich die alsa devices offenbar geändert. Ich musste für passthrough jetzt AMLAUGESOUND,DEV=2 nehmen. Mit Kernel 4.9 ging es nur mit 0.

    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

  • Das openglosd kommt ja noch aus der softhdcuvid implementierung. Die hatte ganz am Anfang mal ein OSD ohne GL. Das könnte man sicher wieder implementieren, ist aber derzeit nicht drin.

    Ich verstehe auch nicht warum da kein GL mehr vorhanden ist. Da fehlt doch dann "nur" die Mali lib.

    Kodi nutzte bisher doch auch GL für interne Videoverbesserungen wie das skalieren... hmmmm

  • Gut möglich! 8)

    Ich glaube inzwischen, dass es primär an der libmali hakt. Wahrscheinlich passt die nicht mehr. Unter chroot installiert das Script von beta für meine TX3 aus https://github.com/CoreELEC/op…in/r12p0/fbdev/libMali.so in den Ordner /usr/lib/aarch64-linux-gnu/ der choot-Umgebung. Inwieweit das mit der Umstellung von amlogic-no auf aarch64 noch passt - keine Ahnung. Mit der libMali.so aus dem neuen CoreElec hat es jedenfalls auch nicht funktioniert.

    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

  • Dr. Seltsam Mach doch mal ein ldd auf das Plugin von jojo61 , dann siehst Du, welche libMali genommen wird. Evtl. musst Du die dann ersetzen durch eine andere. Alternativ den Pfad mit LD_LIBRARY_PATH angeben...

    Das ist ja das Problem - beim Kompilieren des Plugin wird dieses gegen die im chroot-System vorhandene libMali gebaut. Aber welche libMali ist dafür nun die richtige? Bisher war es einfach - die passende arm64-Version (hier: dvalin) aus dem opengl-meson repository wurde in das chroot-System unter /usr/lib/aarch64-linux-gnu als libMali.so abgelegt. Damit lief softhdodroid unter amlogic-ng. Da es unter amlogic-no so nicht mehr funktioniert, wird jetzt wohl eine andere Version benötigt - aber welche und woher?

    Von der Logik her würde ich sagen, dass nun einfach die in CE verwandte lib genommen werden kann, da CE nun auch aarch64 ist. Also habe ich nachgesehen, welche lib CE verwendet. Dort ist /usr/lib/libMali.so ein Symlink auf /var/lib/libMali.so. Das wiederum ist ein Symlink auf /usr/lib/libMali.dvalin.g12a.so

    Nehme ich nun /usr/lib/libMali.dvalin.g12a.so und kopiere sie als /usr/lib/aarch64-linux-gnu/libMali.so ins chroot-System, ergibt ein ldd auf das dagegen gebaute Plugin

    Code
    ldd libvdr-softhdodroid.so |grep Mali
    libMali.so => /usr/lib/aarch64-linux-gnu/libMali.so (0x0000007f8d3e7000)


    Es gibt damit kein OSD und das Log wird geflutet mit einer ioctl-Fehlermeldung:

    Code
    Dec 18 13:34:45 CoreELEC-NewOrder kernel: amstream_do_ioctl error :fffffffffffffdfd, c02053c3

    Bild und Ton sind vorhanden, jedoch läuft die Ausgabe mit 60 Hz. Kein Setzen eines anderen Wertes in /sys/class/display/mode bewirkt etwas.


    CE enthält in /usr/lib/ diese Mali-libs:

    -rw-rw-r-- 1 root root 37664024 Dec 15 10:42 libMali.dvalin.g12a.so

    -rw-rw-r-- 1 root root 20021144 Dec 15 10:42 libMali.dvalin.so

    -rw-rw-r-- 1 root root 37684040 Dec 15 10:42 libMali.gondul.g12b.so

    -rw-rw-r-- 1 root root 45653160 Dec 15 10:42 libMali.gondul.so


    Und nun bin ich am Rätseln, warum CE für meine Tanix TX3 (S905X3/SM1) eine lib für G12A verwendet. G12A ist S905X2, S905Y2. Aber Kodi läuft ja und die CE-Leute werden schon wissen, was sie tun...


    Testweise habe ich das Plugin dennoch gegen die normale dvalin- libMali gebaut. Dann kommt am Ende:

    Code
    /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libMali.so: .dynsym local symbol at index 3 (>= sh_info of 3)
    /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libMali.so: .dynsym local symbol at index 4 (>= sh_info of 3)
    /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libMali.so: .dynsym local symbol at index 5 (>= sh_info of 3)
    /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libMali.so: .dynsym local symbol at index 6 (>= sh_info of 3)
    /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libMali.so: .dynsym local symbol at index 7 (>= sh_info of 3)
    /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libMali.so: .dynsym local symbol at index 8 (>= sh_info of 3)
    /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libMali.so: .dynsym local symbol at index 9 (>= sh_info of 3)

    Das war nicht der Fall, wenn gegen die libMali.dvalin.g12a.so gebaut wurde. Und funktionieren tut es auch nicht - kein OSD.

    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

  • Leider sind die Sourcen des amlogic-Kernels 5.15.78 noch nicht veröffentlicht

    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

  • Das ist vielleicht eine doofe Idee. Du könntest das Odroid N2 Image in meinem Script durch eines von hier: https://dl.khadas.com/products/vim4/firmware/ubuntu/generic/ ersetzen. Da gibt es Amlogic-Kernel 5.4. Vielleicht passt ja da die libMali?

    War einen Versuch wert. Aber ich wusste eigentlich schon, dass die libMali von S922x nicht kompatibel ist mit der für S905X3.

    Es kommt.

    Code
    Failed creating base context during opening of kernel driver.
    ERROR: The DDK (built for 0x70020000 r1p0 status range [0..15]) is not compatible with this Mali GPU device, /dev/mali0 detected as 0x7093 r0p0 status 0.
    Failed creating base context during DDK compatibility check.
    Failed creating base context during opening of kernel driver.
    Segmentation fault (core dumped)

    vim3 würde vielleicht passen. Aber dafür hat khadas außer 4.9er-Kernel nur 6er Kernel. Dennoch, Versuch macht kluch...

    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

  • Jetzt schreibt Portisch im CE-Forum

    Quote

    This display mode is dropped since 5.4 already.

    You need to use DRM interface. Look at our Kodi branches for 5.4.


    Noch kriegen wir Kodi Omega auch mit amlogic-ng und dem funktionierenden 4.9er-Kernel. Ich habe kein problem mit dem 4.9er-kernel, wollte eigentlich nur prüfen, wie zukunftssicher das ganze ist - neue Kodi-Versionen wird es für ng wohl nicht mehr geben.Aber anscheinend ist der amlogic-Kernel 5.15 nicht einfach ein neuerer Kernel mit den gleichen amlogic-spezifischen Erweiterungen.

    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

  • Aber anscheinend ist der amlogic-Kernel 5.15 nicht einfach ein neuerer Kernel mit den gleichen amlogic-spezifischen Erweiterungen.

    Wenn es nur um den Display Mode geht dann kann man das bestimmt noch implementieren. Aber solange es kein funktionierendes GL für 905x3 gibt macht es wenig Sinn da anzufangen. Hast du das mal auf dem Odroid N2+ getestet ? Da scheint es ja dann eine Mali lib zu geben.


    Ich frage mich auch warum man der aktuellen Kodi Version nachläuft. So wie ich das sehe gibt es da keine Verbesserungen die es nötig machen sie zu nutzen. Auch beim Kernel ist da so. Alles was derzeit auf DVBx gesendet wird kann die aktuelle Version vom softhdodroid incl. UHD HDR zusammen mit Coreelec von Zabrimus. Aber da ich Kodi nicht nutze kann es sein das ich mich bzgl. Kodi irre :)

  • Lol, das brauchen alle, da die Netflix Prime etc. Decoderlib nur damit läuft.

    Da bin ich auch außen vor.

    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

  • So ganz verstehe ich nicht, warum es keine OpenGL-Lib mehr geben sollte. Kodi wird ja ohne nicht laufen. Nur die Ausgabe wird dann zukünftig über DRM erfolgen, aber deswegen brauchts ja trotzdem OpenGL?! Vielleicht stehe ich auch auf dem Schlauch...

    Etwas merkwürdig finde ich, dass die fertigen Images ohne den Quellcode veröffentlicht werden. Da ist doch bestimmt auch GPL-Code drin... Angekündigt ist es ja immerhin.

  • Ich glaube, das ist eine Verwechslung. Wir reden nicht über DRM=Digital Rights Management (-> libvidewine), sondern über DRM=Direct Rendering Manager. Letzteres sollten die Plugins von rell und zillerbaer doch können, wobei ich nicht weiß, ob da Passthrough inzwischen geht?

    Ja, die geben über DRM/KMS aus. Und nutzen optional OpenGL/Mesa fürs Rendering. Leider bzw. gottseidank benötigen die beiden aber einen funktionieren mainline-Decoder, d.h. über ffmpeg. Daher werden die mit dem Vendor-Code nicht funktionieren.

    Passthrough weiß ich den aktuellen Stand gar nicht, ich nutze das nicht. Vielleicht müsste da mal einer nachschauen ;)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!