[yavdr-ansible] 24.04-noble Problem mit intel_set_boot_edid

  • Ich versuche gerade yavdr auf 24.04 zu installieren und das Playbook bricht ab mit folgender Fehlermeldung:

    Zuvor findet er zwar alle Adapter und Modi:

    aber die drm.facts ist leer:

    Code
    TASK [yavdr-xorg : show drm data (emtpy for nvidia)] ***********************************************************************
    ok: [localhost] => {
        "drm": {
            "ignored_outputs": [],
            "primary": {},
            "secondary": {}
        }
    }

    CPU ist ein Celeron J4105 der prinzipiell auch alles kann, da es unter 22.04 schon mal lief (mit viel Mühen und letztendlich mit einem DP->HDMI-Adapter) aber unter 24.04 sollte es ja auch laufen.

    Auffällig ist, dass es keine card0 gibt:

    Code
    # grep connect /sys/class/drm/card*/status
    /sys/class/drm/card1-DP-1/status:disconnected
    /sys/class/drm/card1-DP-2/status:disconnected
    /sys/class/drm/card1-HDMI-A-1/status:connected
    /sys/class/drm/card1-HDMI-A-2/status:disconnected

    Die ansible-scripts hatte ich gestern schon auf "card?" gepatched (und drm.facts gelöscht sowie den HWE-Kernel installiert), aber das hat auch alles nichts geholfen. Anschließend hatte ich das intel_set_boot_edid weg gelassen und ansible lief durch aber setzt natürlich nicht die edid-Parameter in Grub. Da ich das ganze mit "Ubuntu Server (minimized)" installiert hatte, wo ansible mangels locale zuerst erst gar nicht gestartet ist, habe ich heute nochmal den normalen Ubuntu-Server installiert.

  • Die ansible-scripts hatte ich gestern schon auf "card?" gepatched

    Das erste ist eine Unix-Style Pattern Expansion, das zweite ein regulärer Ausdruck für das re Modul von Python (https://docs.python.org/3/library/re.html):

    Code: library/xrandr_facts.py
        STATUS_GLOB = '/sys/class/drm/card0*/status'
        CONNECTOR_RE = re.compile('card0-(?P<connector>[^/]+)/status')

    Versuch es mal so:

    Code: library/xrandr_facts.py
        STATUS_GLOB = '/sys/class/drm/card[0-9]*/status'
        CONNECTOR_RE = re.compile('card[0-9]+-(?P<connector>[^/]+)/status')
    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Jawollja :)

    Vorsichtshalber habe ich auch inroles/yavdr-xorg/templates/systemd/system/x-verbose@.service.j2 die beiden card0 mit card[0-9] ersetzt und dann lief das Playbook durch mit korrekter drm.facts.

    Nach dem Konfigurieren von Satip und channels.conf habe ich jetzt Bild, Ton und OSD.

    [Edit]Außerdem habe ich in /etc/X11/xorg.conf.d/20-intel.conf den Driver von intel auf modesetting ändern müssen, der intel-Treiber ist lt. Xorg-Log nicht installiert[/Edit]

    Allerdings ist /lib/firmware/edid leer, das edid-File steht nur unter /etc/X11. In /etc/default/grub stehen die richtigen Werte für video und edid-File drin und dmesg meint:

    Code
    [    6.384413] i915 0000:00:02.0: Direct firmware load for edid/edid.HDMI-1.bin failed with error -2
    [    6.384429] i915 0000:00:02.0: [drm] *ERROR* [CONNECTOR:155:HDMI-A-1] Requesting EDID firmware "edid/edid.HDMI-1.bin" failed (err=-2)
  • Die EDID-Dateien aus /etc/X11 sollten durch das Hook-Skript /etc/initramfs-tools/hooks/include-edid-data kopiert werden, wenn jemand update-iniramfs -u aufruft (normalerweise sollte das als Handler der grub-Rolle aufgerufen werden, wenn die Boot-Optionen geändert werden: https://github.com/yavdr/yavdr-an…s/intel.yml#L13 -> https://github.com/yavdr/yavdr-an…ndlers/main.yml - wenn man nur die yavdr-xorg Rolle laufen lässt, werden die Handler aus der anderen Rolle wohl nicht ausgeführt - man kann das aber auch von Hand nachziehen:

    Code
    sudo update-initramfs -u
    sudo update-grub
    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • wenn man nur die yavdr-xorg Rolle laufen lässt, werden die Handler aus der anderen Rolle wohl nicht ausgeführt

    Ich hatte aber das komplette ./install-yavdr.sh laufen lassen ...

    Eben nochmal probiert, immer noch leer. Evtl. wird der Teil nicht getriggered, weil beim zweiten Aufruf des Playbooks die Bedingungen nicht mehr erfüllt sind. Ich wollte es aber via Ansible machen und nicht rumfrickeln wie bei der ersten Installation ;)

    Immerhin gibt's jetzt nach den Updates der Ramdisk und Grub ein Bild wenn der Monitor nach dem Rechner eingeschaltet wird :thumbup:

    Das Playbook überschreibt noch den "Driver modesetting" in der Xorg und bei softhddevice das "-v va-api-egl" - kann man das in der hosts_vars/localhost irgendwie vorgeben?

  • Das Playbook überschreibt noch den "Driver modesetting" in der Xorg und bei softhddevice das "-v va-api-egl" - kann man das in der hosts_vars/localhost irgendwie vorgeben?

    Bislang noch nicht, aber das kann ich noch ergänzen - kannst du eventuell ausprobieren, ob der modesetting-Treiber mit erzwungenen EDIDs für die Anschlüsse in den Boot-Parametern auch mit zwei Bildschirmen funktioniert? MLD scheint den nur dann zu verwenden, wenn die Ausgabe lediglich auf einem Bildschirm erfolgt: https://www.minidvblinux.de/git/?a=viewblo…f.d/30_intel.sh

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Kann ich machen wenn Du mir die settings schickst, aber ich weiß nicht wie aussagekräftig das ist. Der Rechner hat zwei Displayport-Ausgänge, aber das Bild gab's bei ausgeschaltetem Monitor erst als ich einen DP->HDMI-Adapter verwendet habe (und ich habe nur einen davon). Ich müsste dann einen Ausgang via DP->HDMI anschließen und einen via DP direkt. Mit DP direkt gabs komische Modelines mit 0,0Hz auch wenn alle Auflösungen vorhanden waren.

  • Ich habe jetzt mal eingebaut, dass man den Treiber und die Ausgabemethode für softhddevice für Intel Grafikkarten selber setzen kann: https://github.com/yavdr/yavdr-an…646afe76d1b529e

    Zumindest unter Jammy mit einer Haswell-IGP funktioniert das nicht mit zwei angeschlossenen Bildschirmen - da muss ich den intel-Treiber nutzen, damit der X-Server überhaupt startet.

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich habe jetzt mal eingebaut, dass man den Treiber und die Ausgabemethode für softhddevice für Intel Grafikkarten selber setzen kann: https://github.com/yavdr/yavdr-an…646afe76d1b529e

    Danke, die drm.facts wird korrekt erstellt, ebenso die 20-intel.conf, aber das -v va-api-egl steht jetzt zweimal drin .... Bild habe ich aber trotzdem ;)

    Edit: Beim Grub-Eintrag fehlen noch ein paar Leerzeichen bei den disabled Ausgängen...

    Code
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=HDMI-A-1:D  drm.edid_firmware=HDMI-A-1:edid/edid.HDMI-1.bin video=DP-2:dvideo=HDMI-A-2:dvideo=DP-1:d"
  • Edit: Beim Grub-Eintrag fehlen noch ein paar Leerzeichen bei den disabled Ausgängen...

    Danke für den Hinweis, da war das Leerzeichen and der falschen Stelle.

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • ebenso die 20-intel.conf, aber das -v va-api-egl steht jetzt zweimal drin ...

    Das sind noch die Nachwehen des vorherigen Playbook-Durchlaufs, das neue Einträge hinzugefügt hat - https://github.com/yavdr/yavdr-an…up-xorg.yml#L53 ff. schaut aber nur nach dem ersten Auftreten von -v .* und ersetzt die Zeile, nachfolgende Zeilen werden dann vom Playbook ignoriert, da müsstest du also noch von Hand aufräumen.

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Guten Morgen. Wird damit auch das Problem [gelöst]24.04-noble boot Problem behoben?

    Meine VDRs

    VDR1: ASUS H81-GAMER Gaming | Intel® Core™ i3-4130 | GeForce GT 1030 | yaVDR Ansible | Mystique SaTiX-S2 Dual | GraphTFT mit Elecrow 10,1-Zoll-IPS-Monitor | ACPI Wakeup | Atric IR-Einschalter Rev.5
    VDR2: HP DC7700p | GeForce 610 | easyVDR 2.5 - VDR 2.2.0 | TeVii S464 V2.0 | ST-Link v2 IRMP-STM32 WakeUp

    Test VDR: Fujitsu Esprimo D756 E85+ Intel Core i5-6500 | Intel HD Graphics 530 | easyVDR 5 / yaVDR ansible | ST-Link v2 IRMP-STM32 WakeUp | Cine S2 V6.2

  • Das war jetzt alles erst mal nur für Intel-Grafikkarten - nvidia habe ich unter 24.04 noch nicht ausprobiert - aber wenn man den mittlerweile auch über KMS (Kernel Mode Setting) konfigurieren muss (laut https://wiki.archlinux.org/title/kernel_mode_setting war das bislang nur ein optionales Feature), dann sollte das recht einfach umzusetzen sein.

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ja, ich meinte auch für Intel. Auf Nvidia Systemen habe ich Noble noch nicht getestet.

    Meine VDRs

    VDR1: ASUS H81-GAMER Gaming | Intel® Core™ i3-4130 | GeForce GT 1030 | yaVDR Ansible | Mystique SaTiX-S2 Dual | GraphTFT mit Elecrow 10,1-Zoll-IPS-Monitor | ACPI Wakeup | Atric IR-Einschalter Rev.5
    VDR2: HP DC7700p | GeForce 610 | easyVDR 2.5 - VDR 2.2.0 | TeVii S464 V2.0 | ST-Link v2 IRMP-STM32 WakeUp

    Test VDR: Fujitsu Esprimo D756 E85+ Intel Core i5-6500 | Intel HD Graphics 530 | easyVDR 5 / yaVDR ansible | ST-Link v2 IRMP-STM32 WakeUp | Cine S2 V6.2

  • pille2011 hat doch laut Signatur und Logdateien ein System mit nvidia-Treiber.

    Das Setzen der EDID für Intel-Systeme muss man bislang von Hand aktivieren (den Kommentar drüber muss ich noch anpassen): https://github.com/yavdr/yavdr-an…p_vars/all#L167

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Habe mir gerade nochmal das Repository gezogen. Ich habe

    Code
    softhddevice_intel_output_method: "va-api-egl"

    in die host_vars übernommen. Nach einem Playbook Lauf stand in der

    Code
    /etc/vdr/conf.d/50-softhddevice.conf

    nur ein -v va-api-egl drin. Das passt. Allerdings funktioniert bei mir das mit der EDID nicht.

    /lib/firmware/edid/edid.HDMI-2.bin:

    Code
    No isoinfo available
    Install mkisofs to view ISO images

    /etc/X11/edid.HDMI-2.bin:

    Code
    No isoinfo available
    Install mkisofs to view ISO images

    Die Grub Einträge muss ich manuell setzen?

    Meine VDRs

    VDR1: ASUS H81-GAMER Gaming | Intel® Core™ i3-4130 | GeForce GT 1030 | yaVDR Ansible | Mystique SaTiX-S2 Dual | GraphTFT mit Elecrow 10,1-Zoll-IPS-Monitor | ACPI Wakeup | Atric IR-Einschalter Rev.5
    VDR2: HP DC7700p | GeForce 610 | easyVDR 2.5 - VDR 2.2.0 | TeVii S464 V2.0 | ST-Link v2 IRMP-STM32 WakeUp

    Test VDR: Fujitsu Esprimo D756 E85+ Intel Core i5-6500 | Intel HD Graphics 530 | easyVDR 5 / yaVDR ansible | ST-Link v2 IRMP-STM32 WakeUp | Cine S2 V6.2

  • No isoinfo available

    Install mkisofs to view ISO images

    Ok, ich habe gerade mal das gemacht was da steht ;D

    Meine VDRs

    VDR1: ASUS H81-GAMER Gaming | Intel® Core™ i3-4130 | GeForce GT 1030 | yaVDR Ansible | Mystique SaTiX-S2 Dual | GraphTFT mit Elecrow 10,1-Zoll-IPS-Monitor | ACPI Wakeup | Atric IR-Einschalter Rev.5
    VDR2: HP DC7700p | GeForce 610 | easyVDR 2.5 - VDR 2.2.0 | TeVii S464 V2.0 | ST-Link v2 IRMP-STM32 WakeUp

    Test VDR: Fujitsu Esprimo D756 E85+ Intel Core i5-6500 | Intel HD Graphics 530 | easyVDR 5 / yaVDR ansible | ST-Link v2 IRMP-STM32 WakeUp | Cine S2 V6.2

  • Das mit der EDID hat funktioniert :saint:

    Muss ich die Grub Parameter in der host_vars manuell setzen?

    Meine VDRs

    VDR1: ASUS H81-GAMER Gaming | Intel® Core™ i3-4130 | GeForce GT 1030 | yaVDR Ansible | Mystique SaTiX-S2 Dual | GraphTFT mit Elecrow 10,1-Zoll-IPS-Monitor | ACPI Wakeup | Atric IR-Einschalter Rev.5
    VDR2: HP DC7700p | GeForce 610 | easyVDR 2.5 - VDR 2.2.0 | TeVii S464 V2.0 | ST-Link v2 IRMP-STM32 WakeUp

    Test VDR: Fujitsu Esprimo D756 E85+ Intel Core i5-6500 | Intel HD Graphics 530 | easyVDR 5 / yaVDR ansible | ST-Link v2 IRMP-STM32 WakeUp | Cine S2 V6.2

  • Das mit der EDID hat funktioniert :saint:

    Muss ich die Grub Parameter in der host_vars manuell setzen?

    Eigentlich musst du nur die Variable intel_set_boot_edid auf True setzen: https://github.com/yavdr/yavdr-an…p_vars/all#L165 ff.

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Participate now!

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