Zusammenfassung Intel VAAPI & edid.bin

  • Hallo VDR Fans,

    nachdem meine VDRs mit Intel Ausgabe nun lange problemlos mit einer festen Modeline funktionierten, kam es mit neueren Kernels (4.15.0) in den letzten Wochen immer wieder mal zu dem Phänomen der fehlenden Videoausgabe, wenn AVR & Plasma beim automatischen VDR Start nicht eingeschaltet waren (Ton war da!) und man die Geräte danach einschaltete. Ein sudo systemctl restart lightdm.service und anschliessendes svdrpsend plug softhddevice deta; svdrpsend plug softhddevice atta brachte dann wieder Bild.

    Manchmal war es auch kein Problem und funktionierte einfach, also unterm Strich unzuverlässig und jedesmal erst per SSH drauf um eine laufende Aufnahme nicht zu stören war auch doof. Das Problem hatten wir ja mit Nvidia nicht, da wurde generell eine edid.bin geladen.

    Ich erinnerte mich dran vor langer Zeit mal gelesen zu haben das sollte auch mit Intel gehen, war aber seinerzeit zu faul es zu eruieren ...

    Daher nun das Ziel: VDR soll beim Start denken, da ist ein TV dran, selbst wenn kein HDMI Kabel steckt.

    Ausgehend von den Space Posts ab hier: vdr-softhddevice mit ffmpeg 3.5 habe ich angefangen das mal aufzuarbeiten. Mit den Infos von Space funktionierte schon mal Xorg, die edid.bin wurde auch vom Kernel irgendwann geladen, aber nicht direkt beim Start, was das Problem nicht behob ...


    Bei weitere Recherche bin ich über diesen sehr guten Post vom Nutzer "redstorm" im Kodi Forum gestossen, der noch ein paar mehr Details enthielt, z.B. muss die edid.bin auf der initramfs enthalten sein und man sollte den verwendeten Ausgabeport vom Kernel in eine bestimmte Auflösung forcieren.

    - https://forum.kodi.tv/showthread.php?tid=231955&page=282

    Eine weitere Hilfe war dieser Post von seahawk1986 in einem anderen Forum: https://forum.ubuntuusers.de/post/8928642/

    Zusammenfassend habe ich es jetzt bei mir mit Ubuntu 16.04 und Kernel 4.15.0 wie unten beschrieben umgesetzt. Sollte sich sicher auch auf andere Distros adaptieren lassen, Ubuntu 18.04 sowieso ...

    Kernel muss mit CONFIG_DRM_LOAD_EDID_FIRMWARE=y gebaut sein.


    Prüfbar unter Debian/Ubuntu mit:

    Code
    grep "CONFIG_DRM_LOAD_EDID_FIRMWARE" "/boot/config-$(uname -r)"

    Wenn ihr schon eine edid.bin habt, könnt Ihr die verwenden oder wie im o.a. Post beschrieben auch recht einfach auslesen, wenn der VDR ohne edid.bin mit dem eingeschalteten TV gestartet wurde:

    Code
    sudo mkdir /lib/firmware/edid
    sudo cp /sys/class/drm/card0-HDMI-A-1/edid /lib/firmware/edid/edid.bin

    Ich geh mal von HDMI1 und Dateiname "edid.bin" aus, bitte entsprechend anpassen ...

    Anschliessend grub folgende Kernelschalter übergeben, bei Ubuntu/Debian /etc/default/grub:

    Code
    ...
    GRUB_CMDLINE_LINUX="video=HDMI-A-1:1920x1080@50D drm.edid_firmware=HDMI-A-1:edid/edid.bin"
    ..

    Ausgang HDMI1 wird auf 1920x1080@50p forciert, das D ist kein Typo, das gehört so für den digitalen Ausgang. Die Zeile ist so für Kernel >=4.15.0 gültig.

    Für Kernel <4.15.0 muss man video=HDMI-A-1:1920x1080@50D drm_kms_helper.edid_firmware=HDMI-A-1:edid/edid.bin verwenden.

    Dann muss die edid.bin in der initramfs zur Verfügung stehen, dazu übernehmen wir den Hook aus dem o.a. Kodi Post sudo vi /etc/initramfs-tools/hooks/include-edid-data

    Dran denken den Namen der edid anzupassen, sollte er nicht "edid.bin" sein ... sudo chmod +x /etc/initramfs-tools/hooks/include-edid-data ebenso nicht vergessen.

    Bei Debian/Ubuntu die Konfiguration nun so übernehmen:

    Code
    sudo update-initramfs -u
    sudo update-grub

    Und dann abschliessend noch die edid.bin für Xorg definieren:

    Etwaige Modelines könnt ihr nun entfernen bzw. auskommentieren.

    Nach dem sudo reboot und abgezogenem HDMI Kabel sollte sich dann entsprechendes zeigen:

    bzw. Xorg.0.log, siehe Anhang.

    Vielen Dank an Space , seahawk1986 und redstorm aus dem Kodi Forum.

    => Anleitung für SuSE von 447377 - Klick: Zusammenfassung Intel VAAPI & edid.bin

    => Anleitung für ArchLinux von M-Reimer - Klick: Zusammenfassung Intel VAAPI & edid.bin

    Regards

    fnu

    Files

    HowTo: APT pinning

    Click for my gear

    [¹] Intel NUC Kit NUC7i5BNH, Akasa Newton S7, 8GB DDR4, WD Black SN700 500GB NVMe, Crucial MX500 2TB, CIR, SAT>IP, Ubuntu LTS 18.04.5, VDR 2.4.1 (15W)
    [²] Intel NUC Kit NUC7i3BNH, 8GB DDR4, WD PC SN520 250GB NVMe, Crucial MX500 1TB, CIR, SAT>IP, Ubuntu LTS 20.04.1, VDR 2.4.1 (13W)
    [³] BQ500, Asrock X470D4U, AMD Ryzen 5 5600, 32GB DDR4 ECC, 2x WDC SN750 512GB, 4x Samsung SSD 4TB, 1x Samsung SSD 8TB, 1x Crucial MX500 500GB, 1x WDC Blue SSD 500GB, Windows Server 2019 Hyper-V (35W)
    [⁴] Jultec JPS0501-12AN, JPS0501-8M2, Octopus Net (DVBS2-8) & openHABian 3.3.0

    Edited 10 times, last by fnu (July 13, 2020 at 2:30 AM).

  • Vielen Dank für die ausführliche Zusammenfassung :tup

    Weißt du zufällig, wie sich das verhält, wenn man wie von dir beschrieben eine Konfiguration aufbaut und dann andere Bildschirme anschließt? Kann man da ohne Reboot (für den man dann das Laden der EDID ausbaut) die Bildschirme neu erkennen lassen und an die neue EDID kommen? Bei nvidia-GPUs genügt es ja eine xorg.conf ohne Angabe einer EDID zu laden - das wäre praktisch, wenn sich die X-Konfiguration mit Intel-Grafik für yavdr-ansible automatisieren ließe.

    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 ich mich richtig erinnere ist das auch bei Intel Grafikkarten möglich. Es könnte aber sein, dass zusätzlich zu der geänderten xorg.conf auch noch ein "echo > /sys/module/drm_kms_helper/parameters/edid_firmware" nötig ist.

    MLD 6.5 mit vdr 2.7 - lirc yaUSBir - 4 x DD-Sat - SCR - Intel N100M - 4GB RAM - WD Green 12TB HDD - 22TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 6.5 mit vdr 2.7 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Weißt du zufällig, wie sich das verhält, wenn man wie von dir beschrieben eine Konfiguration aufbaut und dann andere Bildschirme anschließt?

    Also ich habe schon immer die edid.bin meines Panasonic TV auch mit anderen Monitoren verwendet, um die 50hz Ausgabe zu forcieren.

    Die im EDID enthaltenen Modelines sind nach "Electronic Industries Alliance (EIA-861B)" standardisiert und sollten von den allermeisten Displays unterstützt werden.

    Auch im Falle von Intel nutze ich nun die edid.bin meines Pansonic auf dem Test-VDR an einem hp FullHD Desktop Monitor. Dessen EDID beinhalten keine 50hz Modelines, aber zeigt sie dennoch an ...

    Es gibt natürlich keine Garantien, aber in 98% der Fälle sollte eine Standard edid.bin mit einer EIA Standardauflösung erstmal funktionieren.

    HowTo: APT pinning

    Click for my gear

    [¹] Intel NUC Kit NUC7i5BNH, Akasa Newton S7, 8GB DDR4, WD Black SN700 500GB NVMe, Crucial MX500 2TB, CIR, SAT>IP, Ubuntu LTS 18.04.5, VDR 2.4.1 (15W)
    [²] Intel NUC Kit NUC7i3BNH, 8GB DDR4, WD PC SN520 250GB NVMe, Crucial MX500 1TB, CIR, SAT>IP, Ubuntu LTS 20.04.1, VDR 2.4.1 (13W)
    [³] BQ500, Asrock X470D4U, AMD Ryzen 5 5600, 32GB DDR4 ECC, 2x WDC SN750 512GB, 4x Samsung SSD 4TB, 1x Samsung SSD 8TB, 1x Crucial MX500 500GB, 1x WDC Blue SSD 500GB, Windows Server 2019 Hyper-V (35W)
    [⁴] Jultec JPS0501-12AN, JPS0501-8M2, Octopus Net (DVBS2-8) & openHABian 3.3.0

    Edited 3 times, last by fnu (June 4, 2018 at 7:00 PM).

  • Ich bekomme an meinem Haswell-Laptop nur dann auf einem über HDMI angeschlossenen Bildschirm ein Bild, wenn ich den internen Bildschirm in der Grub-Konfiguration abschalte, also sowas setze:

    GRUB_CMDLINE_LINUX="video=HDMI-A-2:1920x1080@50D drm.edid_firmware=HDMI-A-2:edid/edid.HDMI-2.bin video=eDP-1:d"

    Sonst bleiben beide Bildschirme schwarz (interessanterweise wird aber trotzdem der X-Server erfolgreich mit den Display-Daten aus der EDID gestartet). Hat jemand schon mal erfolgreich mehr als einen Monitor statisch konfigurieren können?

    Es gibt natürlich keine Garantien, aber in 98% der Fälle sollte eine Standard edid.bin mit einer EIA Standardauflösung erstmal funktionieren.

    In den EDID-Dateien kann ja auch noch eine Beschreibung der unterstützten Tonformate stecken, daher ist das vermutlich für AV-Receiver nicht ganz unwichtig, was da tatsächlich als unterstützt gelistet wird.

    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.)

  • Bzgl. Tonformate, da hast Du vmtl. schon recht, kann mir aber nicht so recht erklären wie die o.a. EDID Konfiguration Einfluss auf die Ton Ausgabe nehmen sollte ... es wird DRM & Xorg bedient, aber weder alsa noch pulsaudio ...

    Ausserdem wäre in der Mehrheit der Fälle eher "EDID" Infos eines AVR hilfreich :P

    Wegen Deiner Grub Konfiguration, m.E.n. kann grub tatsächlich nur mit einem Display umgehen und das Zweite muss genauso abgeschaltet werden, wie Du es machst.


    HowTo: APT pinning

    Click for my gear

    [¹] Intel NUC Kit NUC7i5BNH, Akasa Newton S7, 8GB DDR4, WD Black SN700 500GB NVMe, Crucial MX500 2TB, CIR, SAT>IP, Ubuntu LTS 18.04.5, VDR 2.4.1 (15W)
    [²] Intel NUC Kit NUC7i3BNH, 8GB DDR4, WD PC SN520 250GB NVMe, Crucial MX500 1TB, CIR, SAT>IP, Ubuntu LTS 20.04.1, VDR 2.4.1 (13W)
    [³] BQ500, Asrock X470D4U, AMD Ryzen 5 5600, 32GB DDR4 ECC, 2x WDC SN750 512GB, 4x Samsung SSD 4TB, 1x Samsung SSD 8TB, 1x Crucial MX500 500GB, 1x WDC Blue SSD 500GB, Windows Server 2019 Hyper-V (35W)
    [⁴] Jultec JPS0501-12AN, JPS0501-8M2, Octopus Net (DVBS2-8) & openHABian 3.3.0

  • Wegen Ton: Wenn ich ohne HDMI starte, scheinen die entsprechenden Soundkarten gar nicht angelegt zu werden. Gibts hier noch einen Mechanismus, der das erledigt und ggf. auch pulseaudio beibringt auf ein HDMI-Profil zu wechseln?

    Gruß

  • fnu: kannst du vielleicht noch etwas dazu schreiben, wie du auf die Namen der Modes in der xorg.conf ("1920x1080@50p" "1920x1080@59.94p" "1920x1080@23.97" "1920x1080@24p" "1920x1080@60p") gekommen bist?

    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.)

  • seahawk1986

    Hmm, das fragst Du nun nach so langer Zeit ... :huh:

    Die Namen hatte ich schon länger und die, so aus meiner der Erinnerung, müssen so aus der edid.bin kommen, da die technischen Werte der Modelines auch daraus kommen. Dementsprechend müssten die Namen Intel, AMD, Nvidia übergreifend dann auch gleich sein. Im Prinzip auch für Monitore/TV, da die Modeline Werte ja in der Regel bei den Herstellern der Standardisierung nach "Electronic Industries Alliance (EIA-861B)" folgend definiert werden. Wird aber sicher den ein oder anderen kleinen Unterschied geben, zwischen den Herstellern und evtl. auch Modellen ...

    Wenn man seine eigenen Modelines in der xorg.conf verwendet, kann man ja dann auch eigene Namen vergeben.

    Aber mit dem VDR habe ich neben dem 50Hz nur noch den 60Hz Mode getestet, die anderen Modi wären ja m.E. nur für Kodi oder so interessant.

    Gruß

    Frank

    HowTo: APT pinning

    Click for my gear

    [¹] Intel NUC Kit NUC7i5BNH, Akasa Newton S7, 8GB DDR4, WD Black SN700 500GB NVMe, Crucial MX500 2TB, CIR, SAT>IP, Ubuntu LTS 18.04.5, VDR 2.4.1 (15W)
    [²] Intel NUC Kit NUC7i3BNH, 8GB DDR4, WD PC SN520 250GB NVMe, Crucial MX500 1TB, CIR, SAT>IP, Ubuntu LTS 20.04.1, VDR 2.4.1 (13W)
    [³] BQ500, Asrock X470D4U, AMD Ryzen 5 5600, 32GB DDR4 ECC, 2x WDC SN750 512GB, 4x Samsung SSD 4TB, 1x Samsung SSD 8TB, 1x Crucial MX500 500GB, 1x WDC Blue SSD 500GB, Windows Server 2019 Hyper-V (35W)
    [⁴] Jultec JPS0501-12AN, JPS0501-8M2, Octopus Net (DVBS2-8) & openHABian 3.3.0

    Edited once, last by fnu (January 5, 2019 at 3:44 AM).

  • Erstellung einer xorg.conf / 20-intel.conf für Intel-Grafikeinheiten

    Ergänzend zum Eingangsbeitrag von fnu hier noch eine Anleitung,

    wie man selber eine xorg.conf / 20-intel.conf für Intel-Grafikeinheiten

    und dem eigenen Monitor / Fernseher erstellen kann.

    Hier die Anleitung:

    Um zu wissen welche Auflösungen und Bildschirmwiederholfrequenzen der Monitor unterstützt,

    können diese auf der Konsole ermittelt werden.

    Auf der Konsole zuerst das Display exportieren (je nachdem wo der Monitor angeschlossen ist):

    export DISPLAY=:0

    Ermittelung der unterstützenden Auflösungen des Display:

    xrandr -q

    Ermittelung der Modeline für z.B. 1920x1080 50 Hz:

    cvt 1920 1080 50

    Ergebnis der Ausgabe:

    Modeline "1920x1080_50.00" 141.50 1920 2032 2232 2544 1080 1083 1088 1114 -hsync +vsync

    Die ermittelten Modelline können dann in der Section "Monitor" in der xorg.conf / 20-intel.conf eingetragen werden.

    (Siehe Abschnitt weiter unten)

    Aufbau der xorg.conf / 20-intel.conf

    Die xorg.conf / 20-intel.conf hat bei einem Display 3 Abschnitte (Device, Screen und Monitor).

    Im Abschnitt Device wird die Grafikeinheit mit den entsprechenden Optionen beschrieben.

    Wenn gewünscht, kann bei BoardName auch die eigene Grafikeinheit eingetragen werden.

    Die restlichen Werte brauchen nicht verändert werden.

    Meine Konfiguration hat auch die Option mit der CustomEDID.

    Im Abschnitt Screen wird festgelegt, wo der Monitor angeschlossen ist.

    In der SubSection werden die Auflösungen und Bildschirmwiederholfrequenzen des Monitor festgelegt.

    Im Abschnitt Monitor werden dann die ermittelten Modeline eingetragen.

    Bitte beachtet das cvt die Modeline mit einem "_" ausgibt, in der Anleitung von fnu ist ein "@".

    Die Angaben müssen in der xorg.conf / 20-intel.conf und /etc/default/grub dann gleich sein.

    Beispiel-xorg.conf / 20-intel.conf:

    Als Grundgerüst kann diese Konfiguration übernommen werden und auf die eigene Bedürfnisse angepasst werden.

    Wer sich in diesem Thema weiter vertiefen möchte, findet in den manpages auch Hilfe:

    https://manpages.ubuntu.com/manpages/bionic/man4/intel.4.html

    https://manpages.ubuntu.com/manpages/bioni…org.conf.5.html

    Schöne Grüße

    Christian

    Meine VDRs

    VDR 1: yaVDR ansible / Silverstone GD09; Gigabyte GA-H81M-S2H, Intel G1840, [inaktiv: Asus GT730 2 GB passiv], RAM 8 GB, ADATA SP900 128 GB, Seagate 2 TB, DVD LG, DD Cine S2 V7A, atric IR-Einschalter Rev. 5

    VDR 2: yaVDR ansible / Silverstone GD09, ASRock B360M-HDV, Intel G4900T, RAM 8 GB, Samsung 850 Pro 128 GB, Seagate 1 TB, DVD LG, DD Cine S2 V7A & DuoFlex C2T2 V3, atric IR-Einschalter Rev. 5

    VDR 3: yaVDR ansible / Silverstone GD09; Gigabyte GA-MA74GMT-S2, AMD Athlon II X4 640, MSI GT710 1 GB passiv, RAM 8 GB, Samsung 840 Pro 128 GB, Seagate 1 TB, DVD LG, DD Cine S2 V7A, atric IR-Einschalter Rev. 5

    VDR 4: yaVDR ansible / Silverstone GD09; ASRock 960GM-GS3 FX, AMD Sempron X2 190, GT 710, RAM 8 GB, ADATA SU650 120 GB, Samsung 500 GB, DVD LG, DD Cine S2 V6.5, atric IR-Einschalter Rev. 5

    In Rente VDR 5: LinVDR 0.7 + diverse Patches / MSI Hermes 651-P, Pentium IV 2,4 GHz, RAM 512 MB, Maxtor 80 GB, DVD LG, FDD NEC, Technotrend FF DVB-S Rev. 1.5

  • Ergänzend zum Eingangsbeitrag von fnu hier noch eine Anleitung,

    Das ist keine Ergänzung zu meinem Beitrag, eher das Gegenteil, da dieser genau darauf abzielt Modelines in xorg.conf zu vermeiden:

    nachdem meine VDRs mit Intel Ausgabe nun lange problemlos mit einer festen Modeline funktionierten, kam es mit neueren Kernels (4.15.0) in den letzten Wochen immer wieder mal zu dem Phänomen der fehlenden Videoausgabe ...

    Diese Modelines lassen sich auch nicht im Boot-Prozess nutzen, da muss man entweder eine VESA kompatible Auflösung setzen oder eben eine binäre Datei (edid.bin) mit den Display Modes des verwendeten Monitors hinterlegen.

    Ich denke alle Intel-Nutzer haben bis zu diesem Post feste Modelines für Intel verwendet bzw. tun es immer noch ...

    Regards

    fnu

    HowTo: APT pinning

    Click for my gear

    [¹] Intel NUC Kit NUC7i5BNH, Akasa Newton S7, 8GB DDR4, WD Black SN700 500GB NVMe, Crucial MX500 2TB, CIR, SAT>IP, Ubuntu LTS 18.04.5, VDR 2.4.1 (15W)
    [²] Intel NUC Kit NUC7i3BNH, 8GB DDR4, WD PC SN520 250GB NVMe, Crucial MX500 1TB, CIR, SAT>IP, Ubuntu LTS 20.04.1, VDR 2.4.1 (13W)
    [³] BQ500, Asrock X470D4U, AMD Ryzen 5 5600, 32GB DDR4 ECC, 2x WDC SN750 512GB, 4x Samsung SSD 4TB, 1x Samsung SSD 8TB, 1x Crucial MX500 500GB, 1x WDC Blue SSD 500GB, Windows Server 2019 Hyper-V (35W)
    [⁴] Jultec JPS0501-12AN, JPS0501-8M2, Octopus Net (DVBS2-8) & openHABian 3.3.0

  • Wenn man seine eigenen Modelines in der xorg.conf verwendet, kann man ja dann auch eigene Namen vergeben.

    Ja, das hatte ich im Sommer so gemacht, weil ich nicht ganz durchschaut hatte, wie man an die Bezeichnungen der Modes in den EDID-Daten kommt - natürlich kann ich mir die Modelines aus der EDID holen und mit einem sprechenden Namen in die xorg.conf schreiben, aber ich hatte gehofft, dass es da noch einen (gut automatisierbaren) Kniff gibt, wie man das eleganter lösen kann.

    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.)

  • Das ist keine Ergänzung zu meinem Beitrag, eher das Gegenteil, da dieser genau darauf abzielt Modelines in xorg.conf zu vermeiden:

    Diese Modelines lassen sich auch nicht im Boot-Prozess nutzen, da muss man entweder eine VESA kompatible Auflösung setzen oder eben eine binäre Datei (edid.bin) mit den Display Modes des verwendeten Monitors hinterlegen.

    Ich denke alle Intel-Nutzer haben bis zu diesem Post feste Modelines für Intel verwendet bzw. tun es immer noch ...

    Regards

    fnu

    Sorry, dass hatte ich leider überlesen das man laut deiner Anleitung keine Modelines verwenden sollte.

    Zum Versuch habe ich mal meine Konfiguration gemäß deiner Anleitung angepasst und habe u.a. die Modelines auskommentiert.

    Leider hat es bei mir nicht funktioniert, dass Bild wird mit 60 Hz statt 50 Hz angezeigt.

    Bei der Angabe der festen Modelines wird während des booten und des yaVDR-Splashscreen laut Fernseher 60 Hz angezeigt,

    ab dem Moment wo das Fernsehbild kommt wird auf 50 Hz umgeschalten.

    Vielleicht ist je nach Setup der Geräte möglich keine Modelines oder im anderen Fall erforderlich feste Modelines zu verwenden?

    Das muss man wohl ausprobieren. Die Anleitung würde ich jetzt aber mal so stehen lassen, sie wird sicherlich eine Konfigurationshilfe sein.

    Hättest du sonst noch eine andere Idee?

    Schöne Grüße

    Christian

    Meine VDRs

    VDR 1: yaVDR ansible / Silverstone GD09; Gigabyte GA-H81M-S2H, Intel G1840, [inaktiv: Asus GT730 2 GB passiv], RAM 8 GB, ADATA SP900 128 GB, Seagate 2 TB, DVD LG, DD Cine S2 V7A, atric IR-Einschalter Rev. 5

    VDR 2: yaVDR ansible / Silverstone GD09, ASRock B360M-HDV, Intel G4900T, RAM 8 GB, Samsung 850 Pro 128 GB, Seagate 1 TB, DVD LG, DD Cine S2 V7A & DuoFlex C2T2 V3, atric IR-Einschalter Rev. 5

    VDR 3: yaVDR ansible / Silverstone GD09; Gigabyte GA-MA74GMT-S2, AMD Athlon II X4 640, MSI GT710 1 GB passiv, RAM 8 GB, Samsung 840 Pro 128 GB, Seagate 1 TB, DVD LG, DD Cine S2 V7A, atric IR-Einschalter Rev. 5

    VDR 4: yaVDR ansible / Silverstone GD09; ASRock 960GM-GS3 FX, AMD Sempron X2 190, GT 710, RAM 8 GB, ADATA SU650 120 GB, Samsung 500 GB, DVD LG, DD Cine S2 V6.5, atric IR-Einschalter Rev. 5

    In Rente VDR 5: LinVDR 0.7 + diverse Patches / MSI Hermes 651-P, Pentium IV 2,4 GHz, RAM 512 MB, Maxtor 80 GB, DVD LG, FDD NEC, Technotrend FF DVB-S Rev. 1.5

  • ...

    Wenn ihr schon eine edid.bin habt, könnt Ihr die verwenden oder wie im o.a. Post beschrieben auch recht einfach auslesen, wenn der VDR ohne edid.bin mit dem eingeschalteten TV gestartet wurde:

    Code
    sudo mkdir /lib/firmware/edid
    sudo cp /sys/class/drm/card0-HDMI-A-1/edid /lib/firmware/edid/edid.bin

    Danke für die gute Aufarbeitung zu dem Thema.

    Möchte das auf Ubuntu 18.04.2 LTS (mit yavdr ansible) umsetzen.

    Im Pfad (/sys/class/drm/card0-HDMI-A-1/) ist eine edid mit 0 bytes - finde den Hinweis nicht wie ich eine neue erstelle :(

    Bitte helft mir auf die Sprünge, wo ist die Stelle im o.a. Post zu finden?

    Ich Blindfisch

    Klick für meine Hardware

    vdr1: Odroid N2+ 4GB | VDR*ELEC CE21-ng 64GB eMMC | Video über USB: 4TB SATA Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr2: Odroid N2+ 4GB | VDR*ELEC CE22-no 256GB eMMC | Video: 1TB microSD (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr3: HP ProDesk 400 G3 SFF (i3) | NVidia Quadro T400 | 2x 8GB | System: Ubuntu 24.02 LTS, yavdr ansible (vdr 2.7.3) auf 30GB mSATA SSD | Video: 3TB SATA (XFS) | 1x WinTV dualHD | IRMP RP2040 KBD

    TV: Philips 55OLED805

  • Möchte das auf Ubuntu 18.04.2 LTS (mit yavdr ansible) umsetzen.

    Du kannst auch die vom X-Server über xrandr ausgelesene EDID-Datei nehmen, die in /etc/X11/ vom yavdr-ansible Playbook für jeden erkannten Monitor abgelegt wird (als /etc/X11/edid.ANSCHLUSS.bin) - zeig mal bitte die /etc/ansible/facts.d/drm.fact, da müssten alle nötigen Infos drin stehen, die man zum laden der EDID über die Kernel-Argumente benötigt.

    Im Pfad (/sys/class/drm/card0-HDMI-A-1/) ist eine edid mit 0 bytes

    Bist du sicher, dass du den richtigen Anschluss erwischt hast? Die Datei ist üblicherweise dann leer, wenn da kein Monitor mit auslesbarer EDID dran hängt.

    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.)

  • Ok, ich lerne was dazu :)

    Meine Hardware (NUC7i3BNH) hat nur einen HDMI Ausgang. Habe HDMI sogar im Bios auf primary gesetzt.

    In /etc/ansible/facts.d/drm.fact steht:

    Also DP-1

    In /etc/ansible/facts.d/xorg.fact steht noch der bei Installation verwendete Monitor drin. Wie datet man die Geschichte up?

    Sehe gerade das /etc/X11/edid.DP-1.bin auch noch den Installations Monitor enthält.

    In /sys/class/drm/card0-DP-1/ ist auch eine 0 bytes edid Datei.

    Anfängerfehler von mir, hätte gleich am großen Monitor installieren müssen.

    Klick für meine Hardware

    vdr1: Odroid N2+ 4GB | VDR*ELEC CE21-ng 64GB eMMC | Video über USB: 4TB SATA Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr2: Odroid N2+ 4GB | VDR*ELEC CE22-no 256GB eMMC | Video: 1TB microSD (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr3: HP ProDesk 400 G3 SFF (i3) | NVidia Quadro T400 | 2x 8GB | System: Ubuntu 24.02 LTS, yavdr ansible (vdr 2.7.3) auf 30GB mSATA SSD | Video: 3TB SATA (XFS) | 1x WinTV dualHD | IRMP RP2040 KBD

    TV: Philips 55OLED805

  • Wie datet man die Geschichte up?

    Solange du noch keine EDID statisch laden lässt, kannst du die Rolle für die Bildschirmerkennung noch einmal laufen lassen - dazu im yavdr-ansible Verzeichnis folgenden Befehl ausführen (idealerweise den Clon mit git pull vorher noch auf den aktuellen Stand bringen):

    sudo -H ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags="yavdr-xorg"

    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.)

  • So habe ich es umgesetzt.

    Bei der xorg config Erstellung will er nicht richtig. Da kommt diese Fehlermeldung:

    Code
    TASK [yavdr-xorg : detect xorg configuration] ***********************************************************************************************************************************************************************
    fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Checksum Correct\n\nTraceback (most recent call last):\n  File \"/root/.ansible/tmp/ansible-tmp-1554648575.97-195535689023183/AnsiballZ_xrandr_facts.py\", line 113, in <module>\n    _ansiballz_main()\n  File \"/root/.ansible/tmp/ansible-tmp-1554648575.97-195535689023183/AnsiballZ_xrandr_facts.py\", line 105, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/root/.ansible/tmp/ansible-tmp-1554648575.97-195535689023183/AnsiballZ_xrandr_facts.py\", line 48, in invoke_module\n    imp.load_module('__main__', mod, module, MOD_DESC)\n  File \"/tmp/ansible_xrandr_facts_payload_5hkzE2/__main__.py\", line 393, in <module>\n  File \"/tmp/ansible_xrandr_facts_payload_5hkzE2/__main__.py\", line 363, in output_data\n  File \"/tmp/ansible_xrandr_facts_payload_5hkzE2/__main__.py\", line 214, in parse_edid_data\nValueError: need more than 0 values to unpack\n", "module_stdout": "Modeline \t\"Mode 14\" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync\n74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync\nModeline \t\"Mode 0\" 74.25 1920 2008 2052 2200 540 542 547 562 +hsync +vsync interlace\n74.25 1920 2008 2052 2200 540 542 547 562 +hsync +vsync interlace\nModeline \t\"Mode 1\" 74.25 1920 2448 2492 2640 540 542 547 562 +hsync +vsync interlace\n74.25 1920 2448 2492 2640 540 542 547 562 +hsync +vsync interlace\nModeline \t\"Mode 2\" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace\n74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace\nModeline \t\"Mode 3\" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace\n74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace\nModeline \t\"Mode 4\" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync\n74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync\nModeline \t\"Mode 5\" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync\n74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync\nModeline \t\"Mode 6\" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync\n27.027 720 736 798 858 480 489 495 525 -hsync -vsync\nModeline \t\"Mode 7\" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync\n27.000 720 732 796 864 576 581 586 625 -hsync -vsync\nModeline \t\"Mode 8\" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync\n148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync\nModeline \t\"Mode 9\" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync\n148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync\nModeline \t\"Mode 10\" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync\n74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync\nModeline \t\"Mode 11\" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync\n74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync\nModeline \t\"Mode 12\" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync\n74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync\nModeline \t\"Mode 13\"\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
    Klick für meine Hardware

    vdr1: Odroid N2+ 4GB | VDR*ELEC CE21-ng 64GB eMMC | Video über USB: 4TB SATA Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr2: Odroid N2+ 4GB | VDR*ELEC CE22-no 256GB eMMC | Video: 1TB microSD (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr3: HP ProDesk 400 G3 SFF (i3) | NVidia Quadro T400 | 2x 8GB | System: Ubuntu 24.02 LTS, yavdr ansible (vdr 2.7.3) auf 30GB mSATA SSD | Video: 3TB SATA (XFS) | 1x WinTV dualHD | IRMP RP2040 KBD

    TV: Philips 55OLED805

  • Kannst du mir bitte mal zeigen, wie bei laufendem X-Server die Ausgabe von xrandr -d :0 --verbose aussieht?

    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, so:

    Klick für meine Hardware

    vdr1: Odroid N2+ 4GB | VDR*ELEC CE21-ng 64GB eMMC | Video über USB: 4TB SATA Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr2: Odroid N2+ 4GB | VDR*ELEC CE22-no 256GB eMMC | Video: 1TB microSD (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr3: HP ProDesk 400 G3 SFF (i3) | NVidia Quadro T400 | 2x 8GB | System: Ubuntu 24.02 LTS, yavdr ansible (vdr 2.7.3) auf 30GB mSATA SSD | Video: 3TB SATA (XFS) | 1x WinTV dualHD | IRMP RP2040 KBD

    TV: Philips 55OLED805

Participate now!

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