Ok, da liefert parse-edid einen Mode 13 ohne Timing-Informationen - ich habe den Python-Code mal angepasst - bitte hol dir noch mal den aktuellen Git-Stand und versuche es erneut.
Zusammenfassung Intel VAAPI & edid.bin
-
-
Super, jetzt läuft alles mit grün durch!
Jetzt passt es und ich kann die /etc/X11/edid.DP-1.bin als Vorlage benutzen.
Komisch, in dem Monitor OSD wird unter Info nicht 50hz angezeigt.
Die Ausgabe von xrandr -d :0 --verbose deute ich so dass er 1920x1080+0+0 (0x46)
bzw.
Code1920x1080_50 (0x46) 148.500MHz +HSync +VSync *current +preferred h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 56.25KHz v: height 1080 start 1084 end 1089 total 1125 clock 50.00Hz
also 50hz ausgibt. ..
-
Komisch, in dem Monitor OSD wird unter Info nicht 50hz angezeigt.
Was sagt denn xrandr -d :0 und was steht in der /etc/ansible/facts.d/xrandr.fact?
-
Code
Alles anzeigenroot@vdr5:/home/rossi# xrandr -d :0 Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767 DP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 890mm x 500mm 1920x1080_50 50.00*+ 1920x1080i 60.00 + 50.00 59.94 1920x1080_60 60.00 1920x1080 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98 1920x1080_30 60.00 30.00 1920x1080_25 50.00 25.00 1920x1080_24 24.00 1920x540_60 120.11 1920x540_50 100.09 1280x720_60 60.00 60.00 1280x720_50 50.00 1280x720 60.00 50.00 59.94 720x576_50 50.00 720x576 50.00 720x480_60 60.00 59.94 720x480 60.00 59.94 640x480 60.00 59.94 VIRTUAL1 disconnected (normal left inverted right x axis y axis)
und
Code
Alles anzeigenroot@vdr5:/etc/ansible/facts.d# cat xrandr.fact { "xrandr": { "Screen 0:": { "DP-1": { "EDID": "00ffffffffffff0038a38567000000000914010380593278321aada455499b250f474a20000001010101010101010101010101010101011d8018711c1620582c250076f23100009e011d80d0721c1620102c258076f23100009e000000fd00313d1a440f000a202020202020000000fc00503430310a2020202020202020019f02031ff14c851404130312101f20212200230907078301000065030c001000011d007251d01e206e28550076f23100001e011d00bc52d01e20b828554076f23100001e8c0ad08a20e02d10103e960076f2310000188c0ad090204031200c40550076f23100001800000000000000000000000000000000000000000000000054", "auto": "", "current": "", "is_connected": true, "modes": { "1280x720": [ 60, 50 ], "1920x1080": [ 60, 50, 30, 25, 24 ], "640x480": [ 60 ], "720x480": [ 60 ], "720x576": [ 50 ] }, "preferred": "" }, "DP-2": { "EDID": "", "auto": "", "current": "", "is_connected": false, "modes": {}, "preferred": "" }, "HDMI-1": { "EDID": "", "auto": "", "current": "", "is_connected": false, "modes": {}, "preferred": "" } } }
-
1920x1080_50 50.00*+
Zumindest sieht es so aus, als ob er 1080p50 gewählt hätte - das Sternchen markiert den aktuell gewählten Mode, das Plus den bevorzugten.
-
Danke seahawk1986 für die zielführende Hilfe!
An dem Punkt xorg.conf und edid definieren muss ich in der Woche weitermachen.
Wo ist die bei yavdr ansible zu finden? /etc/X11/xorg-verbose.conf ?
Hoffe das fnu nicht sauer ist, weil ich seinen Beitrag gekapert habe.
Immerhin hilft das den steigenden yavdr ansible Benutzern weiter
-
An dem Punkt xorg.conf und edid definieren muss ich in der Woche weitermachen.
Das musst du nicht zwingend machen - Ich hatte da in [Gelöst] yaVDR ansible / osd2web mit Intel-Grafik auf TFT ff. schon was dazu geschrieben - prinzipiell genügt es dem Kernel die EDID-Datei für den Anschluss mitzugeben.
Wenn du wie von fnu beschrieben video=HDMI-A-1:1920x1080@50D setzt, funktioniert nur ein angeschlossener Bildschirm, aber es hat den Vorteil, dass es keine Mode-Umschaltung beim Start des X-Servers gibt (der Rechner würde dann mit 1920x1080@50Hz booten und der X-Server das beibehalten) - ansonsten würde er mit dem Bevorzugten EDID-Mode starten (normalerweise 1920x1080@60Hz) und dann beim Start des X-Servers auf 1920x1080@50Hz umschalten.
Wo ist die bei yavdr ansible zu finden? /etc/X11/xorg-verbose.conf ?
Die Datei dient nur dazu den X-Server bei der Bildschirmerkennung mit Debug-Ausgabe starten zu lassen und sollte nicht verändert werden.
Für den normalen Betrieb wird die /etc/X11/xorg.conf.d/20-intel.conf für die Intel-Konfiguration genutzt. Das Laden der EDID über die Xorg-Konfiguration ist nach meiner Erfahrung überflüssig, weil die EDID sowieso schon vom Kernel fest vorgegeben wird, wenn man eine Boot-Option wiedrm.edid_firmware=HDMI-A-1:edid/edid.HDMI-1.bin gesetzt hat.
-
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.
Nachdem ich das endlich auf OpenSuSE umgesetzt habe (vielen Dank Frank!), stelle ich leider fest, dass der Ton fehlt, wenn der Monitor beim Boot nicht angeschlossen/ eingeschaltet war.
Es ist dann noch ein HDMI-Reset notwendig. Ist das bei Euch auch so?
Bash#!/bin/bash xrandr -display :0.0 --output HDMI1 --off xrandr -display :0.0 --output HDMI1 --auto
Und wenn in der xorg.conf keine 50 Hz-Modeline eingetragen ist, schaltet der Monitor danach auf 60 Hz um.
Danke und Gruß
Stefan
-
Nein, bei mir ist das nicht nötig, funktioniert immer noch wie oben beschrieben. Bei meinen neueren Intel NUCs ist nur der Abzweig nötig, HDMI1 im Kernel beim Boot, in Xorg dann DP1, aufgrund des LSPCon HDMI 2.x Konverters.
Erzähl mal was zur Hardware?
Wie gibst Du den Ton aus, alsa oder pulseaudio?
Regards
fnu
-
Erzähl mal was zur Hardware?
Das Wichtigste wieder vergessen...
Asus H310i-plus + i3-8100 + alsa
Stefan
System: Host: vdr2 Kernel: 4.12.14-lp150.12.58-default x86_64 bits: 64 gcc: 7.3.1 Console: tty 0 dm: lightdm
Distro: openSUSE Leap 15.0
Machine: Device: desktop Mobo: ASUSTeK model: PRIME H310I-PLUS v: Rev X.0x serial: N/A
UEFI: American Megatrends v: 2201 date: 03/12/2019
CPU: Quad core Intel Core i3-8100 (-MCP-) arch: Skylake rev.11 cache: 6144 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 28800
clock speeds: min/max: 800/3600 MHz 1: 3600 MHz 2: 3600 MHz 3: 3600 MHz 4: 3600 MHz
Memory: Using dmidecode: root required for dmidecode
Graphics: Card: Intel Device 3e91 bus-ID: 00:02.0 chip-ID: 8086:3e91
Display Server: X.org 1.20.4 driver: intel tty size: 131x34 Advanced Data: N/A out of X
Audio: Card Intel Device a348 driver: snd_hda_intel bus-ID: 00:1f.3 chip-ID: 8086:a348
Sound: Advanced Linux Sound Architecture v: k4.12.14-lp150.12.58-default
Network: Card: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
driver: r8169 v: 2.3LK-NAPI port: 3000 bus-ID: 02:00.0 chip-ID: 10ec:8168
IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 0c:9d:92:11:a8:03
WAN IP: 93.238.148.11
IF: eth0 ip-v4: 192.168.0.101 ip-v6-link: fe80::e9d:92ff:fe11:a803
Drives: HDD Total Size: 1000.2GB (1.8% used)
ID-1: /dev/nvme0n1 model: Samsung_SSD_960_EVO_1TB size: 1000.2GB
serial: S3X3NF0K205418R firmware: 3B7QCXE7
Optical: No optical drives detected.
Partition: ID-1: / size: 40G used: 7.4G (20%) fs: ext4 dev: /dev/nvme0n1p3
label: N/A uuid: 8c7e7efe-115d-497e-8c15-a59edfae097e
ID-2: /boot/efi size: 500M used: 5.0M (1%) fs: vfat dev: /dev/nvme0n1p1 label: N/A uuid: 5071-7461
ID-3: /home/stefan/vdr size: 850G used: 7.6G (1%) fs: xfs dev: /dev/nvme0n1p4
label: N/A uuid: 8924b6e9-a8ec-4dcb-a965-6b9d61092863
ID-4: swap-1 size: 2.15GB used: 0.00GB (0%) fs: swap dev: /dev/nvme0n1p2
label: N/A uuid: b889fc05-c0c6-413b-bafa-6707d499038e
RAID: No RAID data: /proc/mdstat missing-is md_mod kernel module loaded?
Unmounted: ID-1: /dev/nvme0n1 size: 1000.20G label: N/A uuid: N/A
Sensors: System Temperatures: cpu: 40.0C mobo: N/A
Fan Speeds (in rpm): cpu: 0
Info: Processes: 147 Uptime: 0:39 Memory: 310.5/6876.8MB
Init: systemd v: 234 runlevel: 5 default: graphical.target Gcc sys: 7.4.0
Client: Shell (bash 4.4.231 running in tty 0) inxi: 2.3.40
-
Asus H310i-plus + i3-8100 + alsa
Interessant, lt. Specs macht das Board auch "nur" HDMI1.4, wie die Kaby/Coffee Lake Intel Graphics, d.h. eigentlich sollte kein Konverter Chip von z.B. LSPCon dazwischen sein.
Kannst Du dennoch mal prüfen was Dein VDR da macht, mit und ohne gesteckten HDMI Kabel, im entsprechenden Xorg Log?
Gruß
Frank
-
Beim Vergleich mit/ohne angeschlossenem Monitor kann ich im Xorg-Log keine Unterschiede erkennen.
Gruß
Stefan
P.s.: Danke, Frank, für Deine Mühen!
-
Ja, da ist kein Unterschied, bleibt beim definierten HDMI Anschluß ... kein Konverter.
Da habe ich dann leider nun auch erstmal keine Idee mehr, vmtl. wirst Du nicht drum rum kommen den VDR mal ohne HDMI Kabel zu starten, das Kabel einzustecken und danach mal alle Log Files auf verdächtiges zu prüfen ...
Gruß
Frank
-
den VDR mal ohne HDMI Kabel zu starten, das Kabel einzustecken und danach mal alle Log Files auf verdächtiges zu prüfen ...
Das einzig Auffällige ist eine Zeile im Log nach dem Anschluss des HDMI-Kabels:
Codekernel: [drm] Got external EDID base block and 1 extension from "edid/edid.bin" for connector "HDMI-A-1"
Warum bekommt er eine "external EDID..." beim Anschluss des Monitors, wenn er die gleiche EDID doch zum Boot und dann auch noch zum X-Start übergeben bekommt?
Stefan
-
Im Zuge einer Neuinstallation mit Kernel 5.1 funktioniert alles wie gewollt - der Ton ist da, ein HDMI-Reset ist nicht mehr notwendig.
Woran es lag, kann ich somit leider nicht sagen.
Dir Frank nochmals vielen Dank für die Anleitung zu Beginn dieses Threads und Deine Unterstützung bei der Fehlersuche!
Stefan
P.s.: Falls jemand eine Anleitung zu Ramdisk und Opensuse benötigt, so kann ich diese gerne hier einstellen. Übrigens geht dabei auch ein 2. Monitor für osd2web.
-
Dir Frank nochmals vielen Dank für die Anleitung
Gerne doch, schön das es jetzt bei Dir läuft.
P.s.: Falls jemand eine Anleitung zu Ramdisk und Opensuse benötigt, so kann ich diese gerne hier einstellen. Übrigens geht dabei auch ein 2. Monitor für osd2web.
Einfach machen, werde im 1. Post dann darauf verlinken.
Gruß
Frank
-
Anleitung für SuSE
Gerne doch, schön das es jetzt bei Dir läuft.
Einfach machen, werde im 1. Post dann darauf verlinken.
Gruß
Frank
Hallo Frank,
nun hatte ich die Opensuse-Anleitung völlig vergessen. Aber lieber spät als nie...
Unter Opensuse 15.1 ist alles wie in Deinem ersten Link gleich, nur das Erzeugen der Ramdisk geht anders:
Code: /usr/lib/dracut/dracut.conf.d/edid.conf#This file has recently been added to kpartx. # Not all dracut versions know about it. install_items+=" /lib/firmware/edid/edid.bin "
Ramdisk zur Kontrolle entpacken (hier muss nun die edid-Datei enthalten sein):
Codemkdir /tmp/initrdmount && cd /tmp/initrdmount && /usr/lib/dracut/skipcpio /boot/initrd | unxz | cpio -i && ll lib/firmware/edid
Grub anpassen
Code: /etc/default/grubGRUB_CMDLINE_LINUX="video=HDMI-A-1:1920x1080@50D drm.edid_firmware=HDMI-A-1:edid/edid.bin"
Auch wenn Opensuse 15.1 einen Kernel < 4.15 hat, muss dennoch drm.edid_firmware genommen werden (Suse portiert gerne mal neuere Änderungen in den alten Kernel).
Viel Spaß
Stefan
P.s.: Da ich noch ein zweites Display habe, habe ich einfach die zweite edid in die Ramdisk und in Grub auch dazu genommen und die Angabe der video-Auflösung in Grub weggelassen. Seahwak hatte das mal erläutert. [Gelöst] yaVDR ansible / osd2web mit Intel-Grafik auf TFT
-
Anleitung für ArchLinux
Hier einmal eine Anleitung speziell für Arch:
https://github.com/VDR4Arch/vd…ation-(en_US)#Intel_VAAPI
Ich möchte testhalber Kodi mit Wayland starten und dafür ist wichtig direkt beim Booten in die richtige Auflösung zu starten. Genau das geht mit den Optionen in meiner Auflistung. Direkt beim Booten wird auf 1080p50 gestellt und eigentlich sollte das, dank edid.bin, auch gehen wenn der HDMI-Stecker nicht gesteckt ist.
-
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?
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.
Ein paar Jahre später habe ich die Nuss hoffentlich geknackt, wie man die Bildschirme neu erkennen lassen kann, wenn man nach obiger Vorgehensweise eine oder mehrere EDID-Dateien über early KMS geladen hat - zumindest klappt das so auf meinem Haswell-Testsystem.
Mit den Schritten, die in https://wiki.archlinux.org/tit…ng#Forcing_modes_and_EDID aufgeführt sind, wird davon ausgegangen wird, dass man die Bildschirme einmal ab- und wieder anstecken muss, damit die originale EDID des Monitors am Anschluss wieder sichtbar wird - den Schritt kann man sich sparen, wenn man "detect" in den status-Node schreibt - also kann man z.B. sowas machen, um alles für die erste Grafikkarte zurückzusetzen:
Code: reset-drm-edids.sh#!/usr/bin/bash printf '\0' > /sys/module/drm/parameters/edid_firmware # reset assignments of edids to connectors shopt -s nullglob for e in /sys/kernel/debug/dri/0/*/edid_override; do echo -n reset > "$e"; done # reset edid overrides for e in /sys/class/drm/*/status; do echo -n detect > "$e"; done # force display detection
Was zumindest bei meinem Laptop nicht zuverlässig klappt ist an die EDID des internen Bildschirms zu kommen, wenn der beim Booten mittels video=eDP-1:d deaktiviert war - wenn man den mittels echo -n 'on-digital' > /sys/class/drm/card0-eDP1/status anschaltet, bevor man obiges Skript laufen lässt, wird der zwar als verbunden angezeigt, aber es gibt dann einen Kernel-Oops, weil die EDID des Displays nicht gelesen werden kann.
Mich würde interessieren, ob das auch mit AMD-Karten und neueren Intel-IGPs funktioniert, dann wäre das eine deutlich Vereinfachung für die automatische Konfiguration der Ausgabe mit yavdr-ansible.
-
Xorg.Auszug Nein, bei mir ist das nicht nötig, funktioniert immer noch wie oben beschrieben. Bei meinen neueren Intel NUCs ist nur der Abzweig nötig, HDMI1 im Kernel beim Boot, in Xorg dann DP1, aufgrund des LSPCon HDMI 2.x Konverters.
Ich kämpfe gerade auch mit dem Problem, dass ich nur Bild bekomme, wenn AV-Receiver und TV beim Start an sind.
Ich habe jetzt sämtliche Schritte wie ganz oben von fnu beschrieben durchgeführt, bin aber nicht sicher, ob ich das mit HDMI1 und DP1 in der Xorg auf meinem NUC richtig verstanden habe.
Section "Device"
Identifier "Device0"
Driver "intel"
Option "CustomEDID" "HDMI1:/lib/firmware/edid/edid.bin"
Option "IgnoreEDID" "false"
Option "UseEDID" "true"
Option "TearFree" "true"
Option "DRI" "3"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "DP1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080_50"
EndSubSection
EndSection
Section "Monitor"
Identifier "DP1"
Modeline "1920x1080_50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync
EndSection
Section "Monitor"
Identifier "DP2"
Option "Ignore" "true"
EndSection
Section "Monitor"
Identifier "HDMI1"
Option "Ignore" "true"
EndSection
Beim Starten (wenn AVR und TV aus) taucht dann in der Xorg.0.log dieses hier auf:
... Unable to find connected outputs
[ 8.988] (==) intel(0): Default visual is TrueColor
[ 8.988] (**) intel(0): Option "CustomEDID" "HDMI1:/lib/firmware/edid/edid.bin"
[ 8.988] (**) intel(0): Option "DRI" "3"
[ 8.988] (**) intel(0): Option "TearFree" "true"
[ 8.989] (II) intel(0): Output DP1 using monitor section DP1
[ 8.989] (II) intel(0): Enabled output DP1
[ 8.989] (--) intel(0): Using a maximum size of 256x256 for hardware cursors
[ 8.995] (II) intel(0): Output VIRTUAL1 has no monitor section
[ 8.995] (II) intel(0): Enabled output VIRTUAL1
[ 9.003] (II) intel(0): EDID for output DP1
[ 9.003] (II) intel(0): EDID for output VIRTUAL1
[ 9.003] (II) intel(0): Output DP1 disconnected
[ 9.003] (II) intel(0): Output VIRTUAL1 disconnected
[ 9.003] (WW) intel(0): No outputs definitely connected, trying again...
[ 9.003] (II) intel(0): Output DP1 disconnected
[ 9.003] (II) intel(0): Output VIRTUAL1 disconnected
[ 9.003] (WW) intel(0): Unable to find connected outputs - setting 1024x768 initial framebuffer
Wenn der AVR/TV an sind, schaut die Passage in der Xorg.0.log so aus, d.h. der Monitor an DP1 wird erkannt:
[ 9.439] (==) intel(0): Default visual is TrueColor
[ 9.439] (**) intel(0): Option "DRI" "3"
[ 9.439] (**) intel(0): Option "TearFree" "true"
[ 9.439] (II) intel(0): Output DP1 using monitor section DP1
[ 9.439] (II) intel(0): Enabled output DP1
[ 9.439] (--) intel(0): Using a maximum size of 256x256 for hardware cursors
[ 9.439] (II) intel(0): Output VIRTUAL1 has no monitor section
[ 9.439] (II) intel(0): Enabled output VIRTUAL1
[ 9.485] (II) intel(0): EDID for output DP1
[ 9.485] (II) intel(0): Manufacturer: MEI Model: a296 Serial#: 16843009
[ 9.485] (II) intel(0): Year: 2013 Week: 0
[ 9.485] (II) intel(0): EDID Version: 1.3
[ 9.485] (II) intel(0): Digital Display Input
Weiß jemand, was ich da falsch mache?Viele Grüße
Brummel
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!