Installation eines VDR+Plugins nativ auf CoreELEC Boxen

  • Vor einiger Zeit hatte kamel5 mal einen Patch für den vdr-2.4.x geschrieben, siehe hier: VDR-2.4.X und Undelete

    Der Patch sollte auch noch mit VDR-2.6.1 funktionieren. In dem Bereich hat sich nichts Wesentliches beim VDR geändert.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Ein wenig eigenes Knowledge wäre ja nicht schlecht. Schau mal was .config/system.d/vdr.service aufruft.

    Danke für den Tipp, da weiß ich jetzt wenigstens wo ich suchen muss! :)

    Den Rest teste ich dann mit "try and error" bis es funktioniert.

    Einmal editiert, zuletzt von Paulaner ()

  • jojo61

    ich habe jetzt die Lösung für den direkten Start des VDR in UHD-Auflösung gefunden. ;)


    Ich hatte mich daran erinnert, dass man auch bei CoreElec das schonmal diskutiert hatte, die Auflösung gleich beim Start in 3840x2160p einzustellen.

    Das geht einfach über die /storage/.config/autostart.sh. Die habe ich um die Zeile echo 2160p50hz >/sys/class/display/mode ergänzt.

    Die Datei sieht jetzt bei mir so aus und damit wird immer mit der Bildauflösung 3840x2160p gestartet:

    Bash
    #!/bin/sh
    echo 2160p50hz >/sys/class/display/mode
    /usr/local/bin/autostart.sh

    Einmal editiert, zuletzt von Paulaner ()

  • Mir ist jetzt aufgefallen, dass die Undelete-Funktion im Recordingsmenü nicht vorhanden ist.

    Vor einiger Zeit hatte kamel5 mal einen Patch für den vdr-2.4.x geschrieben, siehe hier: VDR-2.4.X und Undelete

    Ich bin dran.


    Zabrimus Leider baut dein aktuelles GIT nicht mehr.

    Sch****. Ich habe das gelesen, aber nicht daran gedacht, daß es mein Repository direkt betrifft.

    Jetzt muss ich erstmal die neuen URLs suchen gehen, falls es diese überhaupt gibt.

  • Bei mir hat ein ./build-local -i -0 bei nss gescheppert.


    /bin/sh: 1: ../../coreconf/nsinstall/Linux5.13_x86_cc_glibc_PTH_DBG.OBJ/nsinstall: not found


    es gibt einen pfad der heißt:


    ../../coreconf/nsinstall/Linux5.13_x86_64_gcc_glibc_PTH_64_OPT.OBJ Linux5.13_x86_64_cc_glibc_PTH_64_OPT.OBJ


    Zabrimus wo kann man das fixen. Sieht nach einem falschen compile flag aus.

  • Bei mir hat ein ./build-local -i -0 bei nss gescheppert.

    Ich habe den 19er und 20er aktualisiert, sprich die letzten Änderungen von CoreELEC gefetched.

    Jetzt baut der 20er Branch immer noch nicht :(


    Code
    <<< nss:host seq 44 <<<
    BUILD      nss (host)
        TOOLCHAIN      manual
    
    ....
    
    /usr/bin/ld: Linux5.16_x86_64_gcc_glibc_PTH_64_OPT.OBJ/tstclnt.o: in function `own_CompleteClientAuthData':
    tstclnt.c:(.text.own_CompleteClientAuthData+0x4c): undefined reference to `SSL_ClientCertCallbackComplete'


    Ich kann dazu aber weder etwas im Forum noch in Github finden. Das könnte jetzt schwierig werden.


    edit:

    Hmmmm. nss (host), Linux5.16. Das hängt vom Host ab.

  • Sollte wieder bauen, wenn ihr diesen commit https://github.com/CoreELEC/Co…2ba6baff120e875f811e18fef wieder zurücksetzt.

    Das hatte auf meinem i686 host Probleme bereitet. Eine Lösung ist es trotzdem nicht. Ich denke, der hier ist das Problem.

    Gruß

    Andreas

  • Sollte wieder bauen, wenn ihr diesen commit https://github.com/CoreELEC/Co…2ba6baff120e875f811e18fef wieder zurücksetzt.

    Wunderbar. Das funktioniert. Ich ändere nur sehr ungern die CoreELEC Packages, um Merge Konflikte beim upstream fetch zu vermeiden.


    Aber um die Hoffnung auf nicht aufflammen zu lassen: Es baut immer noch nicht :(

    Jetzt macht zaphistory Probleme.



    Okay. Das liegt nicht nur an zaphistory. Nehme ich das Plugin aus dem Build, baut epg2vdr nicht mehr.

    Mein erster Verdacht war ein Compiler Upgrade, aber das letzte gcc Update stammt wohl aus April. Aber irgendwas ist restriktiver geworden.

  • Ich vermute, das liegt schon am Compiler. Die Version ging auf 12.1 hoch ... https://github.com/Zabrimus/Co…e7023e109e82b531fe9ba9cce

  • zaphistory baut, wenn man hier statt "long" "time_t" nimmt: https://github.com/vdr-project…r/zaphistorychannel.h#L32


    epg2vdr meckert auch time_t an, hier wirds ähnlich sein. Das Problem scheint, dass time_t im Code mit "long int" etc. vermischt wird.

  • aphistory baut, wenn man hier statt "long" "time_t" nimmt: https://github.com/vdr-project…r/zaphistorychannel.h#L32


    epg2vdr meckert auch time_t an, hier wirds ähnlich sein. Das Problem scheint, dass time_t im Code mit "long int" etc. vermischt wird.

    zaphistory habe ich entsprechend geändert und damit baut das Ganze.

    Das größere Problem ist epg2vdr, da Änderungen an /lib notwendig sind und da kommen wir dann in den Bereich der Mysql Datentypen und die Fehlermeldungen sind auch nicht schön. Ich fürchte, ich kann die Auswirkungen möglicher Änderungen nicht mehr einschätzen. Das ist nur ein Beispiel:

    Ich habe einen Downgrade des GCC auf 11.3.0 versucht - allerdings ohne Erfolg. Die glibc ist auf einem Stand der mal funktioniert hat.


    Bisher betrifft es die beiden Plugins epg2vdr und scraper2vdr. Nehme ich beide aus dem Build, fängt aber das Packet lirc mit Installationsproblemen an. Ich werde mal alles wegwerfen und ganz neu bauen lassen müssen. Es könnte sein, daß durch die vielen Up-/Down-/Upgrades da irgendwas durcheinander gekommen ist.


    So gerade mit ich mit dem 20er Branch sehr unzufrieden..

  • Warum auch immer hats früher gebaut und jetzt mag der Compiler aus einem time_t (long long int) kein char* mehr machen und macht aus dem warning jetzt einen error. Wohl zurecht.

    M.E. muss da erstmal epg2vdr gefixt werden.

    Einmal editiert, zuletzt von rell ()

  • Ich bin ziemlich sicher, das Problem ist, dass für TARGET_ARCH=arm nun time_t auf 64bit gesetzt ist und jetzt die Unsauberkeiten auffallen. time_t ist jetzt nicht mehr zufällig so groß wie long int oder pointer ist...

    https://github.com/Zabrimus/Co…b6c8c910a09f9d96d2a9dd69b

    Aber das sollte in epg2vdr gefixt werden.

  • Ich bin ziemlich sicher, das Problem ist, dass für TARGET_ARCH=arm nun time_t auf 64bit gesetzt ist und jetzt die Unsauberkeiten auffallen. time_t ist jetzt nicht mehr zufällig so groß wie long int oder pointer ist...

    Der Versuch, das temp. wieder auf 32 Bit zu setzen funktionierte nicht.

    Offensichtlich wollte man nicht bis 2038 auf einen Überlauf bei time_t (long int) warten.

  • Ich wollte mir die Fehlermeldungen von epg2vdr mal genauer anschauen und habe einen Debian Unstable Container erstellt - mit gcc 12.1 und glibc 2.33.

    Und was soll ich sagen? Es läuft einfach durch. Keine Fehlermeldungen...


    Also müssen irgendwelche globalen CFlags oder Compiler Direktiven für die Fehlermeldungen verantwortlich sein. Oder es liegt am Cross-Compiler oder ... an irgendwas anderem.

  • Hi Zabrimus,

    was ist der Grund, warum du die time64 patches für lirc und eventlircd wieder rausgenommen hast?


    Gruß

    Andreas

  • was ist der Grund, warum du die time64 patches für lirc und eventlircd wieder rausgenommen hast?

    Ich versuche noch irgendwie, den 20er Branch zu kompilieren. lirc und eventlircd liesen sich bei mir lokal mit dem Patches nicht kompilieren.

    Da es aber wohl aber offizielle Builds gibt, kann es eigentlich nur am Host liegen. Aber einer Lösung bin ich noch keinen Schritt weiter gekommen.


    Das live-Plugin schlägt fehl mit "Cross Compiler Badness", weil Includes vom Host verwendet werden. Ursache noch unbekannt. Der Kodi Build schlägt fehl. Ursache auch unbekannt.


    Mein nächster Versuch ist der Build unter Ubuntu Focal in einer sauberen Maschine. Aber da gibt es jetzt wohl ein Problem mit einem Paket bzw. den Sourcen, die nicht mehr gefunden werden (cxxtools).


    Ich habe aber auch nirgends gefunden, daß CoreELEC auf z.B. neueren Ubuntu Versionen (22.04) offiziell gebaut werden soll. Oder das eine ganz andere Distribution offiziell unterstützt wird.


    Es ist einfach zu Haare raufen. Der 20er Branch ist im Moment ein Experimentierfeld, daß ich irgendwie durchbringen will.

  • https://github.com/rellla/LibreELEC.tv


    Da habe ich einen Patch für live drin. Das Problem bei mir ist, dass tntnet-config nicht 3.0.0 sonder 2.2.1 zurückliefert, dann fehlt das typedef.

    Die Sourcen von tntnet und cxxtools kann ich dir geben, wenn du willst, ich hatte sie gezogen, bevor der Server down ging.


    Ich baue auf einem selfhosted Debian Bullseye über github actions. Das ist eigentlich ziemlich cool. Der lokale build hat mit dem live patch gestern funktioniert.

    Kann die workflows mal wo veröffentlichen, wenn du magst. Derzeit liegt das in einem privaten repo...


    Ansonsten ist das eine tolle Sache mit deinem Code ;) Ich habe es zwar nicht produktiv im Einsatz und warte noch immer, bis es jemand testen möchte ;)


    Nur ein Hinweis: Wenn sich die Toolchain geändert hat, musst du komplett neu bauen...


    Gruß

    Andreas


    EDIT: Der aktuelle Branch baut gerade ohne Probleme. A64 und H6 sind schon durch.

    Einmal editiert, zuletzt von rell ()

  • Es sollte jetzt wieder alles bauen. Allerdings musste ich für den 20er Branch live und restfulapi deaktivieren.


    Da habe ich einen Patch für live drin. Das Problem bei mir ist, dass tntnet-config nicht 3.0.0 sonder 2.2.1 zurückliefert, dann fehlt das typedef.

    Oh danke!!

    Den Patch habe ich einfach mal für den 20er Branch übernommen. Eine ähnliche Lösung könnte dann das Problem für restfulapi lösen. Wenn die Hitze vorbei ist, schaue ich mal nach.

    Die Sourcen von tntnet und cxxtools kann ich dir geben, wenn du willst, ich hatte sie gezogen, bevor der Server down ging.

    Auf Github (https://github.com/maekitalo/) findet man die wohl offiziellen Repositories zu tntnet und cxxtools. Allerdings muss der Build leicht umgebaut werden, damit das configure Script direkt nach dem entpacken erstellt wird.

    Ich baue auf einem selfhosted Debian Bullseye über github actions. Das ist eigentlich ziemlich cool. Der lokale build hat mit dem live patch gestern funktioniert.

    Kann die workflows mal wo veröffentlichen, wenn du magst. Derzeit liegt das in einem privaten repo...

    Das mache ich auch :) Im 19.4-Matrix-VDR Branch finden sich die Workflows. Ich habe gerade eine neue Version getagged und die Workflows getriggert. Ich will sehen, ob der Build durchläuft.


    Nur ein Hinweis: Wenn sich die Toolchain geändert hat, musst du komplett neu bauen...

    Mein lokales Repository war dermaßen strubbelig, da habe ich alles gelöscht und neu von Github geholt. Und damit ging es dann viel weiter, als vorher.


    Aktuelle Probleme sind noch:

    - cxxtools / tntnet im 20er Branch

    - live und restfulapi im 20er Branch


    Jetzt warte ich noch auf etwas kühleres Wetter. Es ist mir gerade viel zu warm und ich fange an unnötige Fehler zu machen.

Jetzt mitmachen!

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