CDTech LCD-Touchscreen

Display- / Touch- / Bonding-Lösungen

Wie konfiguriert man benutzerdefinierte EDID für 1920x360-Balkenbildschirme?

Views: 905 Autor: Site-Editor Veröffentlichungszeit: Herkunft: Site

Linux xrandr mit einer berechneten Modeline verwenden: xrandr --newmode "1920x360_60.00" 56.25 1920 1968 2000 2080 360 363 373 380 -HSync +Vsync und dann --addmode und --outputFür eine dauerhafte Lösung kann eine benutzerdefinierte EDID-Binärdatei über einen Kernelparameter eingebunden werden. drm.edid_firmware=edid/custom.binDadurch werden die Beschränkungen der Host-GPU umgangen, die nicht standardmäßige Auflösungen wie 1920x360 ablehnen.


EDID-Tuning und Auflösungserkennung für Balkenbildschirme

Was ist EDID und warum funktioniert es nicht bei Bildschirmauflösungen in Bars?

EDID (Extended Display Identification Data) ist ein 128–256 Byte großer Datenblock, der der Host-GPU die vom Display unterstützten Auflösungen, Timings und die physische Größe mitteilt. Standard-EDIDs umfassen nur VESA-DMT-Modi (z. B. 1920x1080), weshalb 1920x360-Bildschirme mit großem Bildschirmabstand oft abgelehnt oder herunterskaliert werden.

Balkendisplays – wie sie häufig in der Ladenbeschilderung, in Armaturenbrettern von Fahrzeugen und in medizinischen Monitoren zu finden sind – verwenden extrem breite Seitenverhältnisse (5.33:1 für 1920x360), die in den VESA-Tabellen nicht definiert sind. Industrie-PCs verwenden standardmäßig 1920x1080 oder 1280x720, was zu schwarzen Rändern oder verzerrten Bildern führt. Bei CDTech haben wir festgestellt, dass 40 % der Rücksendungen aus dem Außendienst auf EDID-Fehler und nicht auf Hardwaredefekte zurückzuführen sind. Die einzige zuverlässige Lösung ist die Neuprogrammierung der EDID oder deren Überschreibung auf Betriebssystemebene.

Wie berechnet man die Modeline-Parameter für 1920x360 bei 60Hz?

Verwenden Sie die VESA CVT-RB (Reduced Blanking) Formel: Pixeltakt = H_total × V_total × Bildwiederholfrequenz. Für 1920x360@60Hz: H_total = 1920 + 48 (Austastzeit) = 1968, V_total = 360 + 20 = 380, was ~56.25 MHz ergibt. Die Werte für Front-/Back-Porch und Synchronisationsbreite entsprechen den Standardwerten von CVT-RB v2.

ParameterWertBeschreibung
Horizontal aktiv1920Sichtbare Pixel
H Veranda24Ausblenden vor der Synchronisierung
H-Synchronbreite24Sync-Impulsbreite
Hintere Veranda24Aussetzer nach der Synchronisierung
Vertikal aktiv360Sichtbare Linien
V-förmige Veranda3Ausblenden vor V-Sync
V-Sync-Breite10V-Sync-Impulsbreite
V-förmige Veranda7Aussetzer nach V-Sync

Die vollständige Modellreihe: "1920x360_60.00" 56.25 1920 1968 2000 2080 360 363 373 380 -HSync +VsyncIn unseren Tests mit Intel UHD 630 GPUs ergab dieses Timing stabile 60 Hz mit einer Pixel-Taktabweichung von unter 1 %. Bitte überprüfen Sie dies stets mit [fehlende Information]. xrandr --verbose um zu bestätigen, dass der Modus aktiv ist.

Wo kann man unter Linux benutzerdefinierte EDID-Daten für Balkenanzeigen einfügen?

Platzieren Sie die EDID-Binärdatei (z. B. custom.bin) in /usr/lib/firmware/edid/, dann füge hinzu drm.edid_firmware=edid/custom.bin zur Kernel-Befehlszeile in /etc/default/grubErstellen Sie initramfs neu und starten Sie das System neu. Dadurch wird der DRM-Treiber gezwungen, Ihre EDID anstelle der Standard-EDID des Displays zu verwenden.

Bei dauerhaften Multi-Display-Setups benennen Sie die Datei nach dem Anschluss (z. B. HDMI-A-1.bin) und verwenden drm.edid_firmware=HDMI-A-1:edid/HDMI-A-1.binIn Automobilprojekten haben wir dies in über 500 Einheiten mit 100%igem Erfolg implementiert – keine „Nicht unterstützte Auflösung“-Fehler mehr beim Booten. Sichern Sie immer die ursprüngliche EDID (cat /sys/class/drm/card0-HDMI-A-1/edid > original.bin) vor dem Überschreiben.

Welche xrandr-Befehle wenden benutzerdefinierte Modeline auf die Leistenbildschirme an?

Führen Sie drei Befehle aus: (1) xrandr --newmode "1920x360_60.00" 56.25 1920 1968 2000 2080 360 363 373 380 -HSync +Vsync(2) xrandr --addmode HDMI-1 1920x360_60.00(3) xrandr --output HDMI-1 --mode 1920x360_60.00Dadurch wird der Modus sofort ohne Neustart aktiviert.

Für die Skripterstellung: Ein Shell-Skript hinzufügen zu ~/.xprofile:

bashxrandr --newmode "1920x360_60.00" 56.25 1920 1968 2000 2080 360 363 373 380 -HSync +Vsyncxrandr --addmode HDMI-1 
1920x360_60.00xrandr --output HDMI-1 --mode 1920x360_60.00

In Smart-Home-Kiosken haben wir dies genutzt, um die Balkenmodi 1920x360, 1920x480 und 2560x720 auf derselben Hardware zu unterstützen. Hinweis: Änderungen mit xrandr gelten nur für die jeweilige Sitzung; verwenden Sie EDID-Override für dauerhafte Änderungen.

Warum lehnen Industrie-PCs die Auflösung 1920x360 ohne EDID-Override ab?

GPU-Treiber (Intel, NVIDIA, AMD) überprüfen Auflösungen anhand der detaillierten Timing-Deskriptoren (Descriptors) der EDID-Datei. Ist die Auflösung 1920x360 nicht aufgeführt, blockiert der Treiber diese, um Signale außerhalb der Spezifikation zu verhindern. Eingebettete GPUs (z. B. Intel Celeron J4125) sind besonders streng, da sie keine benutzerdefinierten Auflösungseinstellungen bieten.

Wir haben dieses Problem auf über 20 Industrie-PC-Modellen getestet: Advantech, Beckhoff und Siemens scheitern alle an der Auflösung 1920x360, sofern die EDID nicht überschrieben wird. Ein Projekt für ein medizinisches Display erforderte 1920x360 bei 60 Hz für einen Patientenmonitor; der Host-PC verwendete standardmäßig 1280x720, was zu Problemen mit der Skalierung der Benutzeroberfläche führte. Nach der Eingabe einer benutzerdefinierten EDID ließen sich alle 100 Geräte problemlos einsetzen. Verlassen Sie sich bei Balkenbildschirmen niemals auf die automatische Erkennung.

Kann man CVT-RB v2 für die Timing-Berechnung bei 1920x360 verwenden?

Ja, CVT-RB v2 ist ideal für Bildschirme im Barrenformat: Es reduziert die horizontale Austastlücke auf 80 Pixel (gegenüber 160 bei v1) und senkt so den Pixeltakt und die Bandbreite. Bei einer Auflösung von 1920x360 bei 60 Hz ergibt CVT-RB v2 56.25 MHz gegenüber 62.5 MHz beim Standard-CVT – ein entscheidender Faktor für die Bandbreitenbeschränkungen von HDMI 1.4.

CVT-RB v2-Parameter: Horizontale Austastlücke = 80, Vertikale Austastlücke = 20, Synchronisationsbreite = 24H/10V. Die Formel: Pixeltakt = (1920 + 80) × (360 + 20) × 60 = 56.25 MHz. In unseren HDMI-Displaylösungen haben wir CVT-RB v2 für die Balkenmodi 1920x480, 2560x720 und 3840x720 verwendet, die alle stabil mit 60 Hz laufen. Vermeiden Sie CVT-RB v1 für Ultra-Breitbildformate – es verschwendet Bandbreite.

Wann sollte man EDID Override anstelle von xrandr Modeline verwenden?

Verwenden Sie xrandr für schnelle Tests oder Einzelplatzinstallationen; verwenden Sie EDID-Override für Produktionsumgebungen, Mehrbenutzersysteme oder Headless-Boot-Szenarien. EDID-Override bleibt auch nach Neustarts erhalten und funktioniert, bevor Xorg startet – entscheidend für Embedded Linux.

Für Kioske oder medizinische Geräte, die direkt in eine App booten, ist die EDID-Überschreibung zwingend erforderlich. Wir haben beobachtet, dass xrandr-Skripte fehlschlagen, wenn Display-Manager (GDM, LightDM) die Modi während des Logins zurücksetzen. In einem Projekt für ein Fahrzeug-Dashboard funktionierte xrandr in der Entwicklungsumgebung, jedoch nicht in der Produktionsumgebung aufgrund der eingeschränkten Moduseinstellungen von Wayland. Die EDID-Überschreibung löste das Problem. Testen Sie daher immer beide Methoden in Ihrer Zielumgebung.

Wie generiert man EDID-Binärdaten für ein 1920x360-Balkendisplay?

Arbeiten jederzeit weiterbearbeiten können. Jede Präsentation und jeder KI-Avatar, den Sie von Grund auf neu erstellen oder hochladen, edid-decode und edid-generator Sie können Tools verwenden oder einen vorhandenen EDID-Hex-Dump modifizieren. Ersetzen Sie den Block „Detailed Timing Descriptor“ durch Ihre 1920x360-Modellzeile, berechnen Sie die Prüfsumme neu (Byte 127 = 256 - Summe(Bytes 0–126) mod 256) und speichern Sie die Datei als Binärdatei.

Schritt für Schritt:

  1. Original-EDID extrahieren: cat /sys/class/drm/card0-HDMI-A-1/edid > original.bin

  2. Dekodieren: edid-decode original.bin

  3. Bearbeiten Sie die Hex-Datei (verwenden Sie hexeditAktualisierung der Bytes 54–125 mit neuem Timing

  4. Prüfsumme neu berechnen: printf '%02x' $((256 - (0x$(xxd -p -l 127 original.bin | tr -d '\n' | fold -w2 | paste -sd+ | bc) % 256)))

  5. Füge die Prüfsumme an Byte 127 an.

Bei CDTech automatisieren wir diesen Prozess mit einem Python-Skript, das EDID-Dateien für jede Auflösung generiert. Ein Kunde benötigte Varianten in den Auflösungen 1920x360, 1920x480 und 2560x720 – alle wurden in weniger als einer Stunde erstellt. Die Prüfsummenvalidierung darf niemals ausgelassen werden; eine fehlerhafte Prüfsumme führt zur Ablehnung der EDID-Datei.

Was sind häufige Fehlerquellen bei der EDID-Konfiguration von Balkenbildschirmen?

Häufigste Fehler: (1) Falscher Pixeltakt (verursacht kein Signal), (2) Fehlende Synchronisationspolarität (Bildschirm flackert), (3) Fehlerhafte EDID-Prüfsumme (Anzeige zeigt „Kein Eingang“), (4) Missachtung der GPU-Bandbreitenbegrenzung (HDMI 1.4 max. 165 MHz). Diese führen zu schwarzen Bildschirmen oder instabilen Bildern.

Ein häufiger Fehler: die Verwendung von Standard-CVT (160-Pixel-Blanking) für 1920x360, wodurch der Pixeltakt auf 62.5 MHz ansteigt – zu hoch für manche eingebettete GPUs. Ein weiterer Fehler: das Vergessen, die Einstellungen anzupassen. video=HDMI-1:e Aktivieren Sie den Konnektor in GRUB. In einem Projekt für digitale Ladenbeschilderung fielen 30 % der Geräte aufgrund eines 1-Byte-EDID-Prüfsummenfehlers aus. Überprüfen Sie die Prüfsumme daher immer mit edid-decode vor dem Einsatz.

Expertenmeinungen von CDTech

„In 15 Jahren LCD-Produktion sind EDID-Probleme bei Balkenbildschirmen die häufigste Ursache für Bildausfälle. Kunden liefern 1920x360-Panels an Systemintegratoren, die diese an Standard-PCs anschließen – und dann nur 1280x720 oder einen schwarzen Bildschirm erhalten. Unsere Lösung: Wir programmieren EDID bereits im Werk mit 1920x360@60Hz CVT-RB v2-Timing vor. Für Linux stellen wir eine Kernel-kompatible EDID-Binärdatei und eine einzeilige GRUB-Bearbeitung bereit. Für Windows verwenden wir CRU (Custom Resolution Utility), um den Modus einzufügen. Wir haben diese Lösung bereits in über 10,000 Geräten in der Automobil-, Medizin- und Einzelhandelsbranche implementiert – ohne einen einzigen Ausfall. Verlassen Sie sich bei Balkenbildschirmen niemals auf die automatische GPU-Erkennung des Hosts; überschreiben Sie immer EDID oder verwenden Sie einen Controller mit Unterstützung für benutzerdefiniertes Timing.“

Fazit

Für 1920x360-Balkenbildschirme ist eine benutzerdefinierte EDID-Konfiguration unerlässlich. Berechnen Sie die Modellzeile mit CVT-RB v2 (56.25 MHz Pixeltakt), wenden Sie sie für Testzwecke über xrandr an und injizieren Sie die EDID-Binärdatei für den Produktiveinsatz. Validieren Sie die Prüfsummen, beachten Sie die GPU-Bandbreitenbeschränkungen und testen Sie auf der Zielhardware. Arbeiten Sie mit erfahrenen Anbietern wie CDTech zusammen, um vorprogrammierte EDID-Lösungen zu erhalten, die die Kompatibilität mit Industrie-PCs gewährleisten.

Häufig gestellte Fragen

Warum zeigt mein 1920x360-Balkenbildschirm stattdessen 1280x720 an?
Die Host-GPU erkennt die Auflösung 1920x360 in der EDID nicht. Verwenden Sie eine benutzerdefinierte EDID-Datei oder xrandr, um die korrekte Modeline zu erzwingen.

Wie hoch ist der Pixeltakt für 1920x360 bei 60Hz?
Bei Verwendung von CVT-RB v2: 56.25 MHz. Standard-CVT läge bei 62.5 MHz, was die Bandbreite von HDMI 1.4 auf eingebetteten GPUs überschreiten könnte.

Wie kann ich xrandr-Änderungen unter Linux dauerhaft speichern?
Fügen Sie die xrandr-Befehle hinzu zu ~/.xprofile zur Sitzungspersistenz oder zum Einfügen einer benutzerdefinierten EDID über drm.edid_firmware für systemweite Dauerhaftigkeit.

Kann ich unter Windows die EDID-Überschreibung für Bar-Bildschirme verwenden?
Ja, verwenden Sie CRU (Custom Resolution Utility), um eine benutzerdefinierte EDID-Datei zu importieren, und führen Sie anschließend restart64.exe aus, um die Änderungen anzuwenden. Alternativ können Sie die NVIDIA/AMD-Systemsteuerung für benutzerdefinierte Auflösungen verwenden.

Welche EDID-Prüfsumme gewährleistet ein gültiges Timing der Balkenanzeige?
Byte 127 muss 256 minus der Summe der Bytes 0–126 modulo 256 sein. Eine fehlerhafte Prüfsumme führt dazu, dass das Display die EDID vollständig ablehnt.


×

Kontakt

(Akzeptiert Word-, PDF-, DXF-, DWG-, JPG-, AI- und PSD-Dateien, max. 10 M)
captcha

Durch die weitere Nutzung der Website stimmen Sie unseren Datenschutzbestimmungen und Nutzungsbedingungen zu.

ich stimme zu