[yaVDR-ansible] Wie Modfikation für vdr-client auf Raspi4?

  • Einige Fragen, zu denen die ich trotz Suchen als zwar langjähriger yaVDR Nutzer, jedoch kein vdr-Experte keine Antwort gefunden habe:


    1. Im yavdr-ansible gibt es eine Möglichkeit direkt einen "yavdr07-headless" zu installieren.Wie müsste ich das Playbook modifizieren, um einen "yavdr07-rpi-client" zu erzeugen?
    2. Wenn ich die verschiedenen Diskussionen richtig verfolgt habe, müsste es möglich sein, das "rpihddevice" durch "vdr-plugin-softhddevice-drm-gles" zu ersetzen, um den Client auf Raspi4 lauffähig zu machen. Dazu ist aber X zu deaktivieren. Könnte ich das nach 1. durchführen?
    3. Wie kann ich einen lauffähigen yavdr 7 einfach in einen "-headless" umzuwandeln?
    4. Gibt es noch weitere Plugins, die auf der einen oder anderen Seite notwendig/sinnvoll sind?


    Danke!

    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

  • Im yavdr-ansible gibt es eine Möglichkeit direkt einen "yavdr07-headless" zu installieren.Wie müsste ich das Playbook modifizieren, um einen "yavdr07-rpi-client" zu erzeugen?

    Es gibt bislang nur eine Sonderbehandlung, die für einen Raspberry Pi bis zur 3. Generation auf 32-Bit Systemen gedacht ist: https://github.com/yavdr/yavdr…lob/focal/yavdr07-rpi.yml - wenn die entsprechenden Pakete in den eingebundenen PPAs vorhanden sind, sollte es genügen in der tasks/main.yml der Rolle rpi die nötigen Anpassungen an den zu installierenden Paketen und ggf. benötigten Boot-Parametern vorzunehmen: https://github.com/yavdr/yavdr…es/rpi/tasks/main.yml#L17 ff. - da ich keine passende Hardware habe, kann ich das nicht selber ausprobieren.

    Quote

    Wenn ich die verschiedenen Diskussionen richtig verfolgt habe, müsste es möglich sein, das "rpihddevice" durch "vdr-plugin-softhddevice-drm-gles" zu ersetzen, um den Client auf Raspi4 lauffähig zu machen. Dazu ist aber X zu deaktivieren. Könnte ich das nach 1. durchführen?

    Ich hattee das vdr-plugin-softhddevice-drm schon paketiert (allerdings bislang nur für die amd64 Architektur gebaut: https://launchpad.net/~seahawk…shed&field.series_filter=), das vdr-plugin-softhddevice-drm-gles (das wäre https://github.com/rellla/vdr-plugin-softhddevice-drm-gles) von rella braucht aber Bibliotheken, die - wenn ich das richtig in Erinnerung habe - erst mit Ubuntu 24.04 vorhanden sind. Außerdem hat das zumindest laut README noch einige bekannte Probleme bei der Ausgabe.


    Ich habe das Paket gerade mal in das PPA für den VDR 2.6.7 hochgeladen (https://launchpad.net/~seahawk…shed&field.series_filter=), aber das hat bislang nur Pakete für amd64 gebaut (die Unterstützung für 32-Bit ARM Systeme ist bei Ubuntu 24.04 mit Ausnahme von Ubuntu Core weggefallen, das bedeutet dann auch das Ende der Unterstützung für die alten RPIs 1-3 mit dem vdr-plugin-rpihddevice als Ausgabeplugin - da würden auch einige Pakete nach der Umstellung auf einen 64-Bit Zeitwert nicht mehr ohne Anpassungen bauen). Ich lasse gerade die ganzen Pakete für noble im PPA noch mal neu bauen, damit die auch für arm64 gebaut werden - da müsstest du also mit deinen Experimenten noch warten, bis alles in https://launchpad.net/~seahawk…+archive/ubuntu/vdr-2.6.7 durch ist - https://launchpad.net/~seahawk…archive/ubuntu/noble-main enthält schon die nötigen arm64 Pakete.


    Außerdem fehlt unter noble noch das vdr-addon-avahi-linker - dadurch funktioniert die yavdr-network Rolle noch nicht, die man bräuchte, wenn man die exportierten Aufnahmen vom Server automatisch einbinden will - ich hoffe, da komme ich morgen oder am Wochenende dazu.


    Wie kann ich einen lauffähigen yavdr 7 einfach in einen "-headless" umzuwandeln?

    Am einfachsten dürfte es sein die Rolle headless-session laufen zu lassen - die deaktiviert die Systemd-Units für den X-Server, falls die aktiv sind: https://github.com/yavdr/yavdr…ession/tasks/main.yml#L42 und richtet eine headless-Session ein, damit z.B. das automatische Mounten von Wechseldatenträgern mittels udiskie weiterhin funktioniert. Dann ggf. noch das Ausgabeplugin deaktivieren bzw. auf sowas wie das Ausgabedevice vom vdr-plugin-vnsiserver, das nulldevice von dbus2vdr oder das vdr-plugin-dummydevice wechseln.

    Gibt es noch weitere Plugins, die auf der einen oder anderen Seite notwendig/sinnvoll sind?

    Das hängt davon ab, wie du das DVB-Signal auf den Raspberry bekommen willst.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke für die ausführliche Antwort und die Mühe

    Das hängt davon ab, wie du das DVB-Signal auf den Raspberry bekommen willst.

    Die Idee ist, meinen laufenden Revo mit den beiden Sundtek nur noch als Server zu nutzen. Da dann die Ausgabe und Decodierung entfällt, sollten dann auch z.B. ein HD-Stream und eine HD-Aufnahme möglich sein. Der RPi4 sollte als Client an dem Server hängen. Das müsste mit Streamdev-server und -client doch gehen oder?

    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

  • Außerdem hat das zumindest laut README noch einige bekannte Probleme bei der Ausgabe.

    Die sollten aber behoben sein.

    So, ich hoffe es funktioniert jetzt für RPi4 und 5. Habe nur kurz getestet, aber das hat geklappt. Wers testen will, der code wäre hier.

    Die readme habe ich noch nicht ergänzt

    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

  • Vor- und Rücklauf funktioniert nicht richtig, da bin ich dran. Aber das funktioniert m.W. beim Original genauso nicht richtig. Wer ansonsten mit den noch fehlenden Features attach/detach, grab, und passthrough (ungetestet mangels Hardware) leben kann, für den sollte es passen.


    seahawk1986 Welche libs wären das, die fehlen?

  • Ich habe es gerade erfolgreich für jammy bauen können - da hatte ich wohl etwas falsch in Erinnerung. Dann könnte ich die Pakete im vdr-2.6.7 PPA auch für jammy noch mal für arm64 bauen lassen, dann müsste man auch mit einer Ubuntu Server 22.04 arm64 Installation experimentieren können.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • dann müsste man auch mit einer Ubuntu Server 22.04 arm64 Installation experimentieren können.

    So, ich habe jetzt mal Ubuntu 22.04.4 LTS arm64 auf dem Raspi4 installiert


    Code
    pi@vdr-c:~$ uname -a
    Linux vdr-c 5.15.0-1053-raspi #56-Ubuntu SMP PREEMPT Mon Apr 15 18:50:10 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

    Das booten, beim dem "cloud-init" aufgerufen wird, dauert mit ca. 170' recht lang. Interessant finde ich, dass dmesg folgendes ausweist:

    Code
    [    7.776607] rpivid-mem feb00000.hevc-decoder: rpivid-hevcmem initialised: Registers at ...
    [    7.776922] rpivid-mem feb10000.rpivid-local-intc: rpivid-intcmem initialised: Registers ...
    [    7.777175] rpivid-mem feb20000.h264-decoder: rpivid-h264mem initialised: Registers ...
    [    7.777430] rpivid-mem feb30000.vp9-decoder: rpivid-vp9mem initialised: Registers ... 
    [    7.856814] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
    [    7.857134] vc_sm_cma: module verification failed: signature and/or required key missing - tainting kernel
    [    7.858073] bcm2835_vc_sm_cma_probe: Videocore shared memory driver

    Am Raspi hängt keine DVB-Quelle, nur ein Display via HDMI.


    Macht es Sinn, jetzt mal eine erste Installation auf Basis yavdr07-rpi.yml mit Basis vdr-2.6.7 PPA zu probieren?

    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

  • Ich habe mal eine rudimentäre angepasste Rolle und ein entsprechendes Installationsskript hinzugefügt (ungetestet) - da müsstest du die install-yavdr-arm64.sh aufrufen, um das zu nutzen.


    Für Boot-Parameter, Konfiguration des Ausgabeplugins usw. muss man dann noch selber Hand anlegen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich habe mal eine rudimentäre angepasste Rolle und ein entsprechendes Installationsskript hinzugefügt (ungetestet) - da müsstest du die install-yavdr-arm64.sh aufrufen, um das zu nutzen.

    Ja super! Welches ppa sollte ich denn da am besten eintragen?


    Melde mich natürlich sobald ich erste Tests habe. Vielleicht starte ich zuerst mal mit einen Standardinstallation und schließe einen meiner Sundteks sowie den TT-USB Receiver an. Strip down auf einen reinen Client dürfte danach ja möglich sein.

    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

  • Ich würde es mal so probieren:


    Code
    branch: jammy
    ppa_owner: 'ppa:seahawk1986-hotmail'
    # add the following PPAs
    repositories:
      - '{{ ppa_owner }}/{{branch}}-main'
      - '{{ ppa_owner }}/vdr-2.6.7'

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Leider scheint noch ein python Modul zu fehlen:

    Code
    TASK [yavdr-common : apt | install basic packages] *********************************************************************
    fatal: [localhost]: FAILED! => {
    "changed": false
    }
    MSG:
    No package matching 'python3-kmodpy' is available

    Übrigens: Wo werden die PPA-Einstellungen aus localhost überschrieben?


    Code
    TASK [yavdr-common : add PPAs] *****************************************************************************************
    skipping: [localhost] => (item=ppa:seahawk1986-hotmail/jammy-main)
    skipping: [localhost] => (item=ppa:seahawk1986-hotmail/vdr-2.6.7)
    
    
    TASK [yavdr-common : add PPAs for Raspberry Pi] ************************************************************************
    skipping: [localhost] => (item=ppa:seahawk1986-hotmail/jammy-main)
    skipping: [localhost] => (item=ppa:seahawk1986-hotmail/jammy-vdr)
    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

    Edited once, last by klausb ().

  • Wo werden die PPA-Einstellungen aus localhost überschrieben?

    o.k. gefunden. In der localhost fehlt der Eintrag für die rpi_repositories.
    Eingetragen, jedoch wird bei einem neuen Aufruf keine Änderung übernommen!

    Code
    TASK [yavdr-common : add PPAs for Raspberry Pi] ************************************************************************
    skipping: [localhost] => (item=ppa:seahawk1986-hotmail/jammy-main)
    skipping: [localhost] => (item=ppa:seahawk1986-hotmail/vdr-2.6.7)

    Kann ich nochmals alles zurücksetzen?

    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

  • Habe gerade festgestellt, dass die /etc/apt/sources.list.d nach dem zweiten Aufruf ganz leer war. Habe jetzt mal manuell via add-apt-repository aktiviert. Dann python3-kmodpy manuell installiert.


    Es bleiben nach einem apt-get dist-upgrade noch

    Code
    Die folgenden Pakete sind zurückgehalten worden:
      python3-update-manager update-manager-core
    0 aktualisiert, 0 neu installiert, 0 zu entfernen und 2 nicht aktualisiert.

    Danach läuft alles durch bis

    seahawk1986: rpi.conf.j2 fehlt.

    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

  • Ich habe das fehlende Template mal ergänzt - bitte mach ein git pull im yavdr-ansible Verzeichnis und lass das Playbook dann noch mal laufen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke. Kann ich heute Abend testen.

    Warum waren die PPAs verschwunden und mussten händisch ergänzt werden?

    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

  • Warum waren die PPAs verschwunden und mussten händisch ergänzt werden?

    Weil https://github.com/yavdr/yavdr…n/tasks/configure_apt.yml für ansible_architecture bislang nur auf x86-Abkömmlinge und armv7l prüft - kannst du dann heute Abend erst mal die Ausgabe von ansible localhost -m setup posten (Der Wert für ansible_architecture sollte reichen)?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • kannst du dann heute Abend erst mal die Ausgabe von ansible localhost -m setup posten

    Here it is:

    Code
    pi@vdr-c:~$ ansible localhost -m setup | grep ansible_architecture
    [WARNING]: No inventory was parsed, only implicit localhost is available
    "ansible_architecture": "aarch64",


    Ich habe das fehlende Template mal ergänzt - bitte mach ein git pull im yavdr-ansible Verzeichnis und lass das Playbook dann noch mal laufen.

    Läuft soweit durch. Offensichtlich ist ja die "headless" Rolle eingestellt. Der Start des vdr-service führt jedoch zu einem core-dump :(. Details siehe Anhang.


    Übrigens noch die Konfiguration:

    • Raspi 4B, 4GB RAM
    • Boot von USB-SSD (256GB)
    • Bildschirm per HDMI angeschlossen
    • Tastatur per USB
    • (noch) kein DVB-Device
    • OS


  • Gibt es bei dir ein vom Kernel angelegtes DRM-Device?

    Code
    ls -la /sys/class/drm

    Vermutlich muss du noch in der /boot/config.txt dtoverlay=vc4-kms-v3d setzen und dann das System neu starten, wenn ich https://discourse.ubuntu.com/t…-incorrect-fkms-kms/28370 richtig verstehe.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Da muss ich noch ein bisschen recherchieren. Die /boot/config.txt gibt es zwar in Raspbian, nicht aber in dieser Ubuntu Version. Stattdessen gibt es /boot/config-5.15.0-1053-raspi resp. /boot/config-5.15.0-1046-raspi, die beide aber generiert sind:

    Code
    #
    # Automatically generated file; DO NOT EDIT.
    # Linux/arm64 5.15.0-1053-raspi Kernel Configuration
    #
    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

  • Gibt es bei dir ein vom Kernel angelegtes DRM-Device?

    Ach ja, gibt es:

    Code
    $ cat /sys/class/drm/version
    drm 1.1.0 20060810
    • yaVDR 0.6 stable (läuft nicht mehr wegen Problemen mit NVidia Treiber ); Asus M4N78-VM, Athlon II X2 215, 2 x Terratec Cinergy C PCI HD

      yaVDR 0.7 ansible; Ubuntu 20.04.6; ACER Aspire Revo 3610, 2 x Sundtek MediaTV Digital Home (DVB-CT), TT USB-IR, Logitech Harmony One

Participate now!

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