Posts by beta

    Die OpenGL-Treiber funktionieren wohl inzwischen unter mainline. Das ist aber nur die halbe Miete (OpenGL-Beschleunigung).

    Mit der VPU sieht es aber mau aus. Ist gibt Meinungen, dass die unter Amlogic nichts taugt und dass das (bis HD) die CPU machen soll. Ich persönlich sehe das anders. Ich bin mit der Qualität sowohl unter HD als auch unter UHD sehr zufrieden.

    Die einzige Upgrade-Möglichkeit, die mit momentan einfällt, wäre der A311D2 (z.B. Khadas Vim4). Die läuft unter CE ein 5.4-Kernel (immer noch etwas entfernt vom Mainline 6.x). OpenGL sollte kein problem sein (um ehrlich zu sein, weiß ich es aber nicht) und die VPU scheint ja unter CoreElec zu funktionieren. Ich kann Dir aber nicht sagen, ob die Aufrufe dann für jojo61's Plugin geändert werden müssten oder ob es eine Distribution außer CoreElec gibt, unter der das Plugin dann "native" läuft. Allerdings scheint es noch Probleme mit einigen HD-Audio-Formaten zu geben. Die kennen wir aber schon von Rockchip und dem DRM-Plugin, beim dem Passthrough z.B. nicht funktioniert.


    Damit hat jojo61 leider Recht. Beste Lösung (aus meiner Sicht, da alle Audio-Formate und HD und UHD unterstützt werden) ist der 4.9-Kernel entweder im Ubuntu 20.04 oder unter CE 20.0-ng, dann als chroot. Als Alternative zum Odroid N2+ kann ich den Radxa Zero empfehlen. Das System mit chroot passt auf das eMMC, eine SD-Karten kann für Aufnahmen verwendet werden. Das Teil läuft genau so flüssig wie der N2+, bietet aber noch WLAN (und Bluetooth) und ist deutlich kleiner. Hier wirst Du allerdings wieder mit den GPIOs Probleme bekommen unter der chroot, da die overlays meiner Meinung nach nicht richtig in CE implementiert sind (getestet für die LED, wo der Device Tree zwar vorhanden ist, aber Änderungen keine Auswirkungen haben). Das das Radxa-Image oder das Armbian-Image haben sicherlich keine VPU-Schnittstelle implementiert...

    Wie bereits in meinem anderen Thread angekündigt, habe ich ein erstes Skript geschrieben, das den VDR unter einer CoreElec-Umgebung installiert.

    Das Skript hängt diesem Thread an und ich werde es - sobald ich ein wenig Zeit habe - auf Github hinterlegen und den Link hier posten.


    Es heißt install.sh.gz: install.sh.zip


    Die Installation läuft so ab:


    1. CoreElec auf einem unterstützen Device installieren und konfigurieren. Dazu zählt auch die Installation der DVB-Treiber, da VDR die später benötigt und die Konfiguration des Netzwerkes, da das später auch in der chroot-Umgebung genutzt wird. Bitte auch den ssh-Zugang (mit sicherem Kennwort!) einrichten.

    2. install.sh.zip runterladen und entpacken. Das Entpacken kann auch später unter CoreElec erledigt werden.

    3. install.sh auf das CoreElec-Device in das Verzeichnis /storage kopieren.

    4. Per Terminal (ssh) mit CoreElec verbinden und install.sh ausführbar machen (chmod 775 install.sh)

    5. Den Installer so aufrufen: ./install.sh


    Das CoreElec-Device benötigt eine Netzwerk-Verbindung.


    Der Installer führt folgende Schritte aus:


    - Download des Ubuntu Minimal-Images von Hardkernel

    - Entpacken des Rootfs aus diesem Image

    - Update des Images und Installation aller fehlenden Pakete

    - Anlegen des Verzeichnisses /home/user

    - Auswahl der korrekten libMali.so je nach Architektur

    - Download von VDR, softhdodroid und externalplayer

    - Übersetzen von VDR und den Plugins sowie Installation

    - Generieren aller erforderlichen Skripte

    - Implementierung von FLIRC oder wahlweise LIRC oder Tastatur

    - Enablen aller Scripte

    - Setzen der Zeitzone für VDR


    Während der Installation muss noch ein paar Mal RETURN gedrückt werden (bitte die Default-Einstellungen der Pakete akzeptieren). Das werde ich zu einem späteren Zeitpunkt noch ändern. Am Ende muss die Zeitzone konfiguriert werden.


    Es gibt noch eine TODO-Liste, u.a.


    - Die Datei on.sh im user-Verzeichnis nutzt noch ein festes FLIRC-Event. Das muss noch automatisiert werden.

    - Der Installer ist noch quick and dirty und nicht kommentiert

    - KODI add-on

    - Für verschiedene Devices müssen die Skripte noch leicht angepasst werden (FLIRC, LIRC, Tastatur)

    - ...


    VDR befindet sich im Verzeichnis /home/user/vdr. Im user-Verzeichnis liegen auch viele Skripte, z.B. runvdr, die nach belieben erweitert werden können. Die KODI-Skripte liegen unter UBUNTU/vdr oder in /storage/.config/system.d.

    Der Installer ist noch quick and dirty. Nachdem ich ihn auf Github gelegt habe, werde ich ihn kommentieren und schöner machen. Vielleicht mache ich irgendwann ein KODI-Addon daraus, das alles grafisch unter KODI erledigt.


    Da das Skript unter Root läuft, bitte vorsichtig damit umgehen und vorher ein Backup wichtiger Daten machen. Ich übernehme keine Garantie, dass nicht noch irgendwo ein Fehler steckt.


    Wer die chroot-Umgebung unter einer Bash nutzen will kann nach der Installation so vorgehen:

    Code
    ssh root@ip-coreelec
    ./ubuntu.sh
    cd UBUNTU
    chroot . /bin/bash


    Den Befehl ./ubuntu.sh kann man sich sparen, wenn der VDR bereits läuft. Dann ist schon alles korrekt eingebunden.

    Das Netzwerk wird automatisch konfiguriert und kann auch in KODI geändert werden. Die chroot-Umgebung übernimmt das dann.


    Viel Spaß beim Testen,

    Rudi

    Es sieht so aus, als wäre der Test (Radxa Zero) erst einmal erfolgreich gewesen. Ich brauche jetzt keinen KODI-Start mehr vorab und das Anspielen eines Film-Schnipsels.


    jojo61 Kannst Du das bitte übernehmen.


    Ich werde noch auf einem Odroid N2+ testen und auf dem Radxa Zero 2.


    Außerdem habe ich angefangen, an einem Script zu arbeiten, das man auf eine KODI-Installation (Amlogic) spielen kann. Das besorgt sich dann aus dem Internet alles, was man braucht (UBUNTU Rootfs, VDR, Plugins etc, ergänzt es durch die im Script erhaltenen Scripte. Meine Idee ist es, dass jeder so sehr einfach einen VDR nachinstallieren kannm egal auf welchem Device.


    Noch ein Hinweis zur chroot-Umgebung und Internet. Es macht Sinn, keine neue Datei resolv.conf in /etc anzulegen. Besser ist es, hier einen Link auf die /etc/resolv.conf unter CoreElec ztu setzen. Dann funktioniert die chroot-Umgebung immer, auch wenn man das Netzwerk in CoreElec ändert.

    Vielen Dank, Dr. Seltsam. Ich werde das auf jeden Fall testen und berichten.

    Auf dem Odroid N2+ ist das Verhalten auch deutlich "schlimmer" als auf dem Radxa Zero. Der ist nahezu perfekt.


    Extrem ist mir das Problem auf dem Radxa Zero 2 (A311D) aufgefallen. Sobald ich hier das OSD aufmache, stockt das TV-Bild (shady_kiss, Menü reicht). Wenn das OSD wieder schließe, dauert es 1-2 Sekunden und das Bild läuft dann normal weiter.


    Nochmal Edit: Bei Kodi passiert das nicht. Da kann ich über VNSI TV schauen und das OSD ändern genau gar nichts am Bild, das im Hintergrund weiterläuft.

    FLIRC ist wie eine Tastatur, die Einträge sehen bei mir so aus:



    Du kannst aber auch Deine FLIRC anlernen, die REMOTE löschen und dann den VDR starten. Er fragt dann automatisch ab. Wichtig ist, dass Du VDR für ein Terminal startest, z.B. -t /dev/tty7 und zuvor in der Konsole (runvdr) auch in dieses Terminal wechselst, z.B. chvt 7.

    Dr. Seltsam Ja, die Version habe ich mir angeschaut. Es ist eine schöne Alternative, da man durch eine named pipe vom chroot aus auf das host-System zugreifen kann.


    Der Odroid N2(+) kann ja ohne Probleme aufwachen, da er eine RTC hat. Das ist bei Radxa Zero und dem Zero 2 nicht der Fall. Man kann zwar eine RTC ergänzen, müsste es dann aber im CE-Kernel implementieren (was prinzipiell kein Problem sein sollte). Dann bleibt aber noch das Problem mit den Overlays. Die kann ich zwar für den Radxa (2) de-compilieren und ändern. Wenn ich es aber so ändere, wie das Datenblatt es verlangt (in Bezug auf die GPIOs), verschwindet der Device-Tree aus dem Kernel (für die LED probiert). Hier scheint also im CE-Kernel noch etwas nicht zu stimmen (siehe in meinem Github das Verzeichnis device_tree). Ich habe aber leider nicht die Zeit, mit das im Detail anzuschauen. Ich befürchte, dass es dasselbe Problem mit dem LIRC GPIO gibt, daher habe ich erst gar nicht versucht, einen GPIO-Lirc zu nutzen, sondern habe mich direkt für FLIRC entschieden.


    Ich möchte gerne auch auf der Box mal schnell kompilieren und installieren. Darum habe ich mich gegen die Zabrimus-Variante entschieden. So kann ich bei Änderungen ein einfaches git pull, make, make install machen. Es war schon ein Stunt, die Kernel-Änderungen für das Ambilight in den CE-19.3-Kernel zu bekommen...


    Nachtrag: Beim Radxa Zero (und Zero 2) hänge ich zum shutdown einfach das softhdodroid aus (DETA). Damit funktionieren dann timer-gesteuerte Aufnahmen einwandfrei und ein Drücken der Power-Taste der Fernbedienung mache wieder ein ATTA (attach) und das Bild ist in weniger als 1 Sekunde da. Die Temperatur bleibt dabei um die 40 °C (kleiner aufgeklebter Alu-Kühlkörper) und die CPU-Last ist vernachlässigbar. Man könnte jetzt noch den VDR komplett ausschalten und mit dem at-Deamon wieder einschalten (oder einschalten lassen, falls ein Timer gesetzt wurde). Das würde dann noch weniger Strom brauchen, zumindest für den USB-DVB-Empfänger. Alternativ könnte man das dynamite-Plugin verwenden und das aushängen des USB-Devices automatisieren.

    Ich habe meine Arbeiten mal auf Github eingestellt unter https://github.com/beta68/cevdrx11.


    Da die maximale Dateigröße auf 100 MB begrenzt ist, musste ich manche Dateien teilen. Es gibt aber jeweils ein README, das zeigt, wie die Dateien wieder zusammengebastelt werden können. Beim rootfs handelt es sich um das von Hardkernel für den Odroid N2(+). Das war am vollständigsten.


    Das Verzeichnis enthält alle Änderungen/Scripte/Erweiterung etc. die ich gemacht habe, um unter CoreElec in einer chroot-Umgebung sowohl den VDR als auch eine X11-Oberfläche laufen zu lassen. Mein VDR config-Verzeichnis ist enthalten mit allen Skripten für Temperatur und Systeminformationen.


    Weiterhin gibt es ein Verzeichnis, das alle Pakete auflistet (und installiert), die ich benötigt habe. Das erspart die lange Suche nach Paketen, die man für bestimmte VDR-Plugins benötigt.


    Die aktuellen CoreElec Installations-Dateien für Radxa Zero (2) sind ebenfalls vorhanden, genauso wie mein CE 19.3 (wo HDR2SDR noch funktioniert). Hier habe ich die Ambilight-Kernel-Patches als Backport eingebaut.


    Die Scripte gehen von einem 4K TV aus und müssten an manchen Stellen für einen Full-HD-only angepasst werden. Das betrifft insbesondere das Umschalten der Auflösung, bevor in jojo61 's Plugin das OSD funktioniert.


    Ich habe mein Home-Verzeichnis nach mir benannt, das müsstet ihr vom Namen her ändern (und dann auch in den Skripten anpassen), wenn es anders heißen soll.


    Der gesamte Speicherbedarf ist < 16 GB. Ich nutze auf dem Radxa Zero (und auf dem Zero 2) eine 256 MB-SD-Karte für VDR Aufnahmen und habe das System auf's eMMC gepackt. Als IR-Empfänger nutze ich FLIRC, was auch gut funktioniert.


    Das README im Hauptverzeichnis zeigt eine Schritt-für-Schritt-Anleitung. Ich hoffe, dass ich nichts vergessen habe.

    Bitte denkt daran, dass das gesamte System als "root" läuft. Man kann also ziemlich schnell ziemlich viel kaputt machen und natürlich ist das System so auch nicht wirklich sicher. Aber wir reden hier ja "nur" über ein Medien-Center...


    Viel Spaß und LG,

    Rudi

    Auf meinem kleinen Radxa Zero läuft inzwischen in der UBUNTU chroot Umgebung (CoreElec/VDR) auch der lxde Desktop Manager.



    Sobald ich Zeit finde, veröffentliche ich in meinem Github ein paar Scripte, da das alles laden. Ich kann ganz bequem mit der Fernbedienung vom VDR auf X11 schalten. Da läuft sogar eine OpenGL-Beschleunigung (siehe glxgears). Python (siehe Matplotlib OpenGL-Beispiel) und Youtube sind auch kein Problem.

    Ich habe einfach folgende Zeilen aus-kommentiert, damit remote nicht exklusiven Zugriff auf das Device erhält:

    Code
    < //    if (ioctl(f, EVIOCGRAB, data) == 0)
    < //        dsyslog("%s: exclusive access granted", name);

    Meine remote.conf habe ich nicht mehr, da ich den Weg nicht mehr weiter verfolgt habe (Tasten-Wiederholungen haben nicht funktioniert).

    Bei mir in der chroot-Umgebung läuft die Fernbedienung gut, wenn ich einmal für eine Sekunde KODI starte und danach den VDR. Das betrifft aber nur KEINE FTA-Sender. Bei allen FTAs läuft die Fernbedienung auch, ohne dass ich KODI vorher gestartet habe.

    Dr. Seltsam Das sieht mir aus wie ein libMali.so-Problem in /usr/lib/aarch64 (chroot). Checke das Verzeichnis von CoreElec aus (opengl-meson). Dann schaue, wie der Link auf libMali.so heißt (dvalin oder gondul). In CE ist die lib32 bit. Nimm die aus o.g. Verzeichnis (64 bit!) und kopiere sie nach /usr/lib/aarch64. Dann sollte das funktionieren nach Neu-Kompilieren softhdodroid.

    Das hat bei mir problemlos auf einem Radxa Zero und einem Zero 2 funktioniert (S905Y2 und A311D).

    LG