Segfault bei Parse-Edid

  • Moin,


    ich bin nun endlich auch mal bei einem 4K-Fernseher gelandet.

    Ein klasse Philips 55OLED806 ist es geworden.

    VDR und KODI laufen ohne sichtbare Probleme, aber mit 1920x1080.

    Beim VDR reicht das auch dicke aber KODI hätte ich gerne mehr.

    Beim reinschauen in die Logs fand ich diese allerdings vollgeschrieben mit Fehlern beim Edid parsen:

    Code
    1. May 27 15:13:35 YAVDR kernel: [ 2803.368604] parse-edid[16524]: segfault at 55ba75d6f000 ip 000055ba75b67612 sp 00007fffd7364f70 error 4 in parse-edid[55ba75b66000+3000]
    2. May 27 15:13:36 YAVDR kernel: [ 2804.585024] parse-edid[16530]: segfault at 5609706d0000 ip 00005609704c8612 sp 00007ffde0a9ded0 error 4 in parse-edid[5609704c7000+3000]
    3. May 27 15:13:37 YAVDR kernel: [ 2805.801865] parse-edid[16536]: segfault at 555bbb07e000 ip 0000555bbae76612 sp 00007ffd6ac5a580 error 4 in parse-edid[555bbae75000+3000]
    4. May 27 15:13:38 YAVDR kernel: [ 2807.017721] parse-edid[16542]: segfault at 562fc36e7000 ip 0000562fc34df612 sp 00007ffeb428a4f0 error 4 in parse-edid[562fc34de000+3000]
    5. May 27 15:13:40 YAVDR kernel: [ 2808.235244] parse-edid[16549]: segfault at 556868d38000 ip 0000556868b30612 sp 00007ffc0d2acf40 error 4 in parse-edid[556868b2f000+3000]
    6. May 27 15:13:41 YAVDR kernel: [ 2809.452792] parse-edid[16555]: segfault at 557371f65000 ip 0000557371d5d612 sp 00007ffd8c3e99f0 error 4 in parse-edid[557371d5c000+3000]
    7. May 27 15:13:42 YAVDR kernel: [ 2810.672734] parse-edid[16562]: segfault at 55a6d029e000 ip 000055a6d0096612 sp 00007ffd6c893e10 error 4 in parse-edid[55a6d0095000+3000]

    read-edid|parse-edid sieht auch nicht besser aus:

    Die Xorg.conf hat immer noch den alten LG Fernseher drin. Weil noch ein Yamaha Receiver dazwischen hängt, hatte ich das glaube ich mal fest eingetragen.


    Die Installation ist sicher nicht mehr die frischeste und ein Update längst überfällig, aber vielleicht hat trotzdem jemand einen Tipp.

  • Kannst du mal die EDID, die du mittels get-edid bekommst in eine Datei umleiten und anhängen?


    Ich nutze für yavdr-ansible mittlerweile edid-decode, weil das mit dem moderneren EDID-Formaten zurecht kommt: https://github.com/yavdr/yavdr…rary/xrandr_facts.py#L233

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hier ist sie.

    Danke für deine Hilfe.

  • Das sagt edid-decode dazu:

    Ich sehe nicht, dass da von der EDID ein Modus mit 3840x2160 und 50 Hz angeboten wird, nur 24, 25 und 30 Hz - wie hast du die Grafikkarte mit dem TV verbunden? Ist der Eingang für den PC-Modus konfiguriert?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    The post was edited 1 time, last by seahawk1986 ().

  • Mal zum Vergleich, das ist mein ION-VDR an einem 4k TV - die alte GPU mit HDMI 1.4 kann natürlich kein 4k mit 60Hz, aber die Modes sind in der EDID sichtbar: edid-decode.txt

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Da ist noch ein Yamaha RX-V475 dazwischen. Der kann wohl nur 4K 30Hz ;(.

    Da brauche ich wohl auch ein Update.

    Wie bekomme ich den parse-edid still?

    Der haut mir ja nur das Log voll.

  • Erst mal herausfinden, wer das im Minutentakt aufruft - hast du da irgendwelche Skripts, die das machen? yavdr-ansible nutzt parse-edid in der Version für bionic nur bei der Bildschirmerkennung durch das Playbook (https://github.com/yavdr/yavdr…rary/xrandr_facts.py#L207), aber nicht, wenn der VDR normal läuft.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke, dass du mich mal wieder auf die Spur gebracht hast.

    Der alte LG Fernseher hatte immer Probleme, wenn der VDR gestartet wurde während der Fernseher aus war (Kein Bild oder Ton).

    Daher hatte ich tatsächlich ein eigenes Script am laufen, was feststellte, wenn der Fernseher eingeschaltet wurde und dann den YaVDR-Xorg-Service neu startete.


    Mit dem neuen TV scheint sich das erledigt zu haben und das Script damit eh überflüssig zu sein.

    Hier der entscheidende Ausschnitt:

    Code
    1. tv_on() {
    2. tv=`get-edid 2>/dev/null|parse-edid 2>/dev/null|grep ModelName`
    3. if [[ $tv == *"LG"* ]]
    4. then
    5. echo "on"
    6. else
    7. echo "off"
    8. fi
    9. }

    Meine Xorg.conf und die dort hinterlegte Edid habe ich wie von dir beschrieben (https://github.com/yavdr/yavdr-ansible#rescan-displays) durch einen Rescan neu erstellt.

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

    Nun kann ich in KODI bis zu 4K 30Hz auswählen. Das mach aber eh nur für Fotos Sinn. Mehr als FHD Filme habe ich sowieso keine.