Tester für xrandr-Parser gesucht

  • Hallo,
    ich würde gerne ohne Spezialbehandlung für NVidia-Grafikkarten die EDID-Daten und Display-Modi der angeschlossenen Bildschirme auslesen können. Dazu habe ich ein Python-Skript geschrieben, das die nötigen Informationen aus der Ausgabe von

    Code
    xrandr --verbose

    liest, im json-Format ausgibt, den besten Mode für die TV-Betrieb errät und zusätzlich die EDID-Informationen in Dateien schreibt, die nach dem jeweiligen Output benannt sind (also z.B. edid.HDMI-0.bin): https://gist.github.com/seahawk1986/82…d102ead18434d64

    Bei einem HD-ready TV sieht das z.B. so aus:

    Display Spoiler

    Und bei einem Testrechner mit zwei Bildschirmen so:

    Display Spoiler


    Es wäre toll, wenn das mal ein paar Leute mit Intel, AMD und NVidia-GPUs (egal ob mit noveau oder dem proprietären nvidia-Treiber) mit einem oder mehreren Monitoren laufen lassen und die Ausgabe hier posten könnten. Benötigt wird neben xrandr nur Python2 (oder Python3) und ein X-Server, der ohne xorg.conf läuft, die die EDID setzt oder separate X-Server startet (wie es z.B. bei yaVDR der Fall ist). Falls der optimale TV-Modus nicht richtig ermittelt wurde, bitte die Ausgabe von xrandr und das erwartete Ergebnis für den besten Mode dazu posten.

    Man könnte das Skript z.B. so herunterladen und starten (die DISPLAY-Variable muss natürlich so gesetzt sein, dass xrandr funktioniert):

    Code
    wget https://gist.githubusercontent.com/seahawk1986/824585ba8a8f804efd102ead18434d64/raw/73ec123c12d21bf6d7fdde49912d004d3f33962f/parse_xrandr_debug.py
    python parse_xrandr_debug.py
    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.)

  • Display Spoiler

    Debian Stretch xfce auf msi P55-GD65 mit HD4350, Sundtek MediaTVIII (DVB-T2), VDR 2.2.0 mit HEVC-patch

  • Danke, war das mit der HD4350 aus deiner Signatur?

    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 hätte Dir ja gerne den Output gepostet, aber leider funktioniert Dein Script bei mir nicht:

    Code
    vdr01_64 ~ # ./parse_xrandr_debug.py
    xrandr: Failed to get size of gamma for output default
    Traceback (most recent call last):
      File "./parse_xrandr_debug.py", line 117, in <module>
        output_data(xorg)
      File "./parse_xrandr_debug.py", line 109, in output_data
        best_mode = max(modes, key=sort_mode)
    ValueError: max() arg is an empty sequence
    vdr01_64 ~ #
  • Wie sieht denn die Ausgabe von

    Code
    xrandr --verbose

    bei dir aus?

    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 gehts besser:

    [/code]

  • Dann sollte es für mein Skript eigentlich klappen, wenn du wie oben geschrieben die DISPLAY-Variable setzt:

    Code
    DISPLAY=:0 ./parse_xrandr_debug.py
    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.)

  • Jo, wer lesen kann, ist klar im Vorteil. ;)

    Display Spoiler
  • Prima, dann passt es ja (und ich baue am besten noch einen Fallback auf das DISPLAY :0 ein, wenn es nicht als Umgebungsvariable übergeben 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.)

  • Ich würde wirklich gerne mithelfen, aber bei mir kommt "keine Berechtigung":

    Code
    root@myVDR:~# DISPLAY=:0 ./parse_xrandr_debug.pybash: ./parse_xrandr_debug.py: Keine Berechtigung


    Auch wenn ich den Befehl als root (root -s) ausführe?

    Mit vorherigem chmod 755 und DISPLAY:=1 hats dann geklappt.

    Hier die Ausgabe für meine Karte lt. Signatur an einem HD-ready LG-TV:

    Display Spoiler

    Edit2:
    Obwohl ich selbst draufgekommen bin, danke an 3PO für die schnelle Antwort - war nur langsamer mit Korrigieren, als du mit antworten ;)

    MyVDR: yaVDR-Ansible (Ubuntu 20) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Prima, dann passt es ja (und ich baue am besten noch einen Fallback auf das DISPLAY :0 ein, wenn es nicht als Umgebungsvariable übergeben wird).


    Könnte sein, dass es daran liegt, dass ich einen XMING Server im LAN habe:

    Code
    vdr01_64 ~ # env |grep DISPLAY
    DISPLAY=localhost:11.0
    vdr01_64 ~ #
  • Ich würde wirklich gerne mithelfen, aber bei mir kommt "keine Berechtigung":

    Code
    root@myVDR:~# DISPLAY=:0 ./parse_xrandr_debug.py
    bash: ./parse_xrandr_debug.py: Keine Berechtigung


    Auch wenn ich den Befehl als root (root -s) ausführe?

    Code
    chmod 755  parse_xrandr_debug.py
  • Könnte sein, dass es daran liegt, dass ich einen XMING Server im LAN habe:

    Ja, klar, wenn die DISPLAY-Umgebungsvariable für den XMING-Server gesetzt ist, nutzt xrandr die.

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

  • Hier mein Output vom VDR (ASRock, nvidia GT218, Treiber nvidia 340.98 :(

    Display Spoiler


    vdruser@vdr:~> ./parse_xrandr_debug.py
    {
    "Screen 0:": {
    "DVI-D-0": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    },
    "HDMI-0": {
    "EDID": "00ffffffffffff004c2d600b0100000030170103807944780aee91a3544c99260f5054bdef80714f81c0810081809500a9c0b3000101023a801871382d40582c450077f43100001e662156aa51001e30468f330077f43100001e000000fd00184b0f5117000a202020202020000000fc0053414d53554e470a202020202001c6020330f14d901f04130514031220212207162309070783010000e2000f72030c002000b82d21d0080140073f405090a0011d80d0721c1620102c258077f43100009e011d8018711c1620582c250077f43100009e011d00bc52d01e20b828554077f43100001e011d007251d01e206e28550077f43100001e00000000000000fe",
    "current": "1920x1080_50",
    "is_connected": true,
    "modes": {
    "1024x768": [
    75,
    70,
    60
    ],
    "1152x864": [
    75
    ],
    "1280x1024": [
    75,
    60
    ],
    "1280x960": [
    60
    ],
    "1400x1050": [
    75,
    60
    ],
    "1600x1200": [
    65,
    60
    ],
    "1920x1080": [
    50
    ],
    "320x240": [
    73,
    60
    ],
    "400x300": [
    72
    ],
    "512x384": [
    70,
    60
    ],
    "640x480": [
    75,
    73,
    60
    ],
    "700x525": [
    75,
    60
    ],
    "800x600": [
    75,
    72,
    60,
    56
    ],
    "832x624": [
    75
    ]
    },
    "preferred": "1024x768_75"
    },
    "VGA-0": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    }
    },
    "best_tv_mode": [
    "HDMI-0",
    "1920x1080",
    50
    ]
    }

    Sowie vom Desktop (nvidia GTX980 Treiber 375.39)

    Display Spoiler


    speedy:~% ./parse_xrandr_debug.py
    {
    "Screen 0:": {
    "DP-0": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    },
    "DP-1": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    },
    "DP-2": {
    "EDID": "00ffffffffffff0010acb9a04c52563031180104a53420783a0495a9554d9d26105054a54b00714f8180a940d1c0d100010101010101283c80a070b023403020360006442100001e000000ff0030384458443443313056524c0a000000fc0044454c4c2055323431350a2020000000fd00313d1e5311000a20202020202001e402031cf14f9005040302071601141f12132021222309070783010000023a801871382d40582c450006442100001e011d8018711c1620582c250006442100009e011d007251d01e206e28550006442100001e8c0ad08a20e02d10103e96000644210000180000000000000000000000000000000000000000000000000000000c",
    "current": "1920x1200_60",
    "is_connected": true,
    "modes": {
    "1024x768": [
    75,
    60
    ],
    "1152x864": [
    75
    ],
    "1280x1024": [
    75,
    60
    ],
    "1280x720": [
    60,
    50
    ],
    "1600x1200": [
    60
    ],
    "1920x1080": [
    60,
    50,
    30,
    25,
    24
    ],
    "1920x1200": [
    60
    ],
    "640x480": [
    75,
    60
    ],
    "720x480": [
    60
    ],
    "720x576": [
    50
    ],
    "800x600": [
    75,
    60
    ]
    },
    "preferred": "1920x1200_60"
    },
    "DP-3": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    },
    "DP-4": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    },
    "DP-5": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    },
    "DVI-I-0": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    },
    "DVI-I-1": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    },
    "HDMI-0": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    }
    },
    "best_tv_mode": [
    "DP-2",
    "1920x1080",
    50
    ]
    }

    VDR2: ASRock J4105-ITX, DVBSky S952, openSUSE Tumbleweed, VDR 2.4.7

    softhddevice/vaapidevice, DFAtmo, xmltv2vdr, tvscraper, tvguideng, VDRAdmin-AM (alles git, aber alt)

  • Grafik nvidia GT630 mit Treiber 375.39
    DVI-D-0: Dell U2410
    HDMI-0: Philips TV

    Display Spoiler


    {
    "Screen 0:": {
    "DVI-D-0": {
    "EDID": "00ffffffffffff0010ac15f04c4e4b413015010380342078ee1ec5ae4f34b1260e5054a54b008180a940d100714f0101010101010101283c80a070b023403020360006442100001a000000ff00463532354d314251414b4e4c0a000000fc0044454c4c2055323431300a2020000000fd00384c1e5111000a20202020202000ea",
    "current": "1920x1200_60",
    "is_connected": true,
    "modes": {
    "1024x768": [
    75,
    60
    ],
    "1152x864": [
    75
    ],
    "1280x1024": [
    75,
    60
    ],
    "1600x1200": [
    60
    ],
    "1920x1200": [
    60
    ],
    "640x480": [
    75,
    60
    ],
    "800x600": [
    75,
    60
    ]
    },
    "preferred": "1920x1200_60"
    },
    "HDMI-0": {
    "EDID": "00ffffffffffff00410c00000101010108130103808048780ae692a3544a99260f4a4c2108008bc08180a94001010101010101010101023a801871382d40582c450000d05200001e023a80d072382d40102c458000d05200001e000000fc005068696c697073204654560a20000000fd00303e0f460f000a20202020202001c7020331f1521f102021221405130412031102160715060126091f07150750830100006a030c002000382d806565e3050301011d803e73382d407e2c458000d05200001e011d80d0721c1620102c258000d05200009e011d00bc52d01e20b828554000d05200001e011d8018711c1620582c250000d05200009e000000000000a4",
    "current": "1920x1080_50",
    "is_connected": true,
    "modes": {
    "1024x768": [
    60
    ],
    "1280x1024": [
    60
    ],
    "1280x720": [
    60,
    50
    ],
    "1360x765": [
    60
    ],
    "1600x1200": [
    60
    ],
    "1920x1080": [
    60,
    50,
    30,
    25,
    24
    ],
    "640x480": [
    60
    ],
    "720x480": [
    60
    ],
    "720x576": [
    50
    ],
    "800x600": [
    60
    ]
    },
    "preferred": "1920x1080_60"
    },
    "VGA-0": {
    "EDID": "",
    "current": "",
    "is_connected": false,
    "modes": {},
    "preferred": ""
    }
    },
    "best_tv_mode": [
    "HDMI-0",
    "1920x1080",
    50
    ]
    }

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

    Git-Repo: gitlab.com/kamel5

  • Hi,
    So ähnlich ist es in EasyVDR3.0 auch durch Bleifuss2 seit längerem integriert.
    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    http://www.easy-vdr.de

Participate now!

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