Hadmut Danisch

Ansichten eines Informatikers

Kuriose HDMI-Erfahrungen

Hadmut
4.8.2009 21:21

Kürzlich hatte ich ja von blöden Problemen mit dem HDMI-Eingang eines Fernsehers geschrieben. Nun ist mir noch was komisches passiert.

Eigentlich hatte ich das Problem, daß der Fernseher ein 1366×768 Panel hat, aber irgend ein Schlaumeier in die Firmware geschrieben hat, daß sich der Fernseher auf dem HDMI nur mit 1920×1080 und 720×480 meldet. Ein Linux-Rechner sucht sich nur aus den angebotenen Auflösungen eine raus. Entweder liefert er dann eine zu hohe Auflösung, die der Fernseher runterskaliert, oder er liefert eine niedrigere Auflösung, die der Fernseher hochskaliert. Beides blöd, beides unscharf. beides ärgerlich. Hersteller stur.

Nun ist mir was komisches passiert.

Früher hatte ich denselben Rechner an einem anderen Fernseher angeschlossen, der ein anderes Problem hatte. Der hatte ein 1440×900 Panel, auf dem HDMI aber ganz viele Auflösungen gelistet, auch 1920×1080, aber eben auch seine eigentliche 1440×900. Das heißt, daß Linux hier die höchste nahm, weil der X-Server es “gut meinte”. Da konnte man in die X11-Config reinschreiben, daß der Monitor 1440×900 hat, und schon hat sich Linux die richtige rausgesucht. Hat prächtig funktioniert.

Das habe ich jetzt mit dem anderen, kleineren Fernseher auch probiert, Ging zunächst nicht. Der Linux-Server hing stur an den 1920×1080 fest und verweigerte 1366×768 kategorisch.

Doch dann passierte etwas seltsames: Plötzlich ging’s. Der X-Server kam hoch, der Fernseher zeigte als Auflösung 1360×768 (tatsächlich 1360 und nicht 1366) an, was laut Hersteller völlig ausgeschlossen und unmöglich sei, aber das Bild war scharf, die Auflösung richtig und der Hadmut happy. Und weil ich gerade anderes zu tun habe und meine Anforderungen zunächst mal erfüllt waren, hatte ich jetzt auch nicht so den Forschungsdrang herauszufinden, warum es plötzlich ging.

Bis ich merkte, daß etwas anderes nicht mehr ging:

Nun nämlich meldeten sich BIOS und Linux-Konsolenmodes gar nicht mehr auf dem HDMI. Das Bild erschien erst, wenn der X-Server lief. Auch nicht optimal. Also habe ich zusätzlich auf die kombinierte DVI/VGA-Buchse noch ein Analog-Kabel gesteckt und geprüft, wo das BIOS und das Konsolen-Bild hinverschwunden war. Es trieb sich tatsächlich auf dem VGA-Port herum.

Und nun ging auf dem HDMI plötzlich gar nichts mehr. Auch nicht X11. Hadmut flucht.

Bis ich das Problem gefunden hatte: Das HDMI-Kabel war nicht richtig drin und saß locker.

Das BIOS hatte den HDMI-Monitor deshalb nicht richtig erkannt und war der Meinung, keinen digitalen Monitor zu haben. Wenn nichts geht, geht analog. Aus irgendwelchen Gründen gab der X11-Server das Signal dann – ohne die Tabelle des Fernsehers auszulesen – in der richtigen Auflösung aus und der Fernseher zeigte es richtig an. Anscheinend funktionierte beim lockeren Stecker nur die eine aber nicht die andere Datenrichtung. Als ich dann mit dem Analog-Kabel am Fernseher rumhantiert habe, ist der HDMI-Stecker noch ein Stückchen weiter rausgerutscht und es ging gar nichts mehr.

Steckt man ihn richtig rein, ist wieder der alte Zustand hergestellt: BIOS und Konsole prächtig, aber X11 mit 1920×1080 und damit schwer lesbar klein und unscharf.

Irgendwie überzeugt mich der HDMI nicht.


Nachtrag: Aufgrund des unten genannten Kommentars habe ich folgendes getan:

  1. Bei den nachfolgenden Gebamsel festgestellt, daß man die vom Hersteller angegebene Auflösung 1366×768 nicht konfigurieren kann, weil 1366 nicht durch 8 teilbar ist. 768 * 16/9 ist 1365,33, also scheint der Hersteller gerade mal wüst gerundet zu haben. Deshalb hat das mit dem losen Kabel wohl auch 1360 statt 1366 angezeigt. Also nehmen wir versuchsweise mal 1368 in der Breite.
  2. cvt 1368 768
    und die Ausgabe dann in das xorg.conf in die Sektion Monitor eingefügt, dabei den Namen “1368x768_60.00” in “1368×768” geändert. Und zur Erleichterung des Testens auch gleich noch eine mit 1360×768.
  3. X11 neu gestartet (damit die Änderung in der xorg.conf wirksam wird)
  4. mit xrandr -q geprüft, ob die neuen Einstellungen auch angekommen sind
  5. xrandr –addmode HDMI-0 “1368×768” (der Name ist der aus der Ausgabe von cvt)
  6. xrandr -s 1368×768
  7. Jubeln, weil es geht 🙂

Jetzt muß ich nochmal testen, ob das auch ohne das addmode geht. Dann kommt es in die Startup-Skripten in /etc/X11/Xsession.d und gut is.

Danke für den Kommentar! 🙂

[Eigentlich hätte ich mit etwas suchen auch selbst drauf kommen können. Aber wie das halt so ist…]


7 Kommentare (RSS-Feed)

Stefan
5.8.2009 3:51
Kommentarlink

Da mußt Du das Kabel patchen, und in die richtige Ader einen Schalter einbringen, der den Rückkanal ausschaltbar macht, und wenn X11 dann läuft kann der Schalter vielleicht wieder umgelegt werden (das Kabel richtig reingedrückt werden).


ne
6.8.2009 17:18
Kommentarlink

schon mal probiert eine ModeLine in die xorg.con ein zu tragen? ModeLine kann man sich mit gtf $breite $höhe $frequnz generieren


Hadmut
6.8.2009 18:09
Kommentarlink

Ja klar, klappt aber nur mit den vom Monitor gemeldeten Auflösungen. Genau mit dem Setzen der Auflösung in der xorg.conf hat es ja funktioniert, als das Kabel nicht drin war.

Allerdings bringt die ModeLine da nichts, weil die ModeLine ds Analogsignal beschreibt, nicht das Digitalsignal.


TEN
7.8.2009 8:25
Kommentarlink

Gegen derlei Probleme ist mit dem EDID-Inserter ein Kraut gewachsen (vor allem an KVM-Switches ein Segen)…
http://vdr-portal.de/board/thread.php?threadid=75291
Anders als Software-Patches lässt sich damit die für den jeweiligen Bildschirm optimale EDID auch treiberunabhängig so ziemlich jedem System unterjubeln – fehlt nur jemand, der dieses keinen Euro teure EEPROM (auch direkt ab Grafikkarte programmierbar u.a. per PowerStrip, aber mit geeigneten Defaults z.B. für FullHD ab Werk wäre das wohl bei vielen Usern nie nötig) zumindest in Kleinserie in HDMI-, DVI- und VGA-Zwischenstecker oder -Kabel verbaut, um diese Lösung auch der Anwendermehrheit ohne “Lizenz zum Löten” zugänglich zu machen (vgl. http://www.hardwareluxx.de/community/showthread.php?t=471748).


ne
7.8.2009 16:19
Kommentarlink

mit gestartetem Xorg:

xrandr –addmode HDMI 1366×768
xrandr –output HDMI –mode 1366×768

hat zumindest bei einem nicht erkanten S-Video gerät funktioniert.


Hadmut
7.8.2009 16:29
Kommentarlink

Oh, das sieht gut aus, das muß ich mal ausprobieren. 🙂


TEN
9.8.2009 14:16
Kommentarlink

Eine ganze Modeline kann man ihm zumindest in neueren Versionen auch unterjubeln:
xrandr –verbose –newmode 1366×768 85.86 1368 1426 1570 1800 768 769 772 795 -HSync +Vsync
xrandr –verbose –addmode VGA 1366×768
xrandr –verbose –output VGA –mode 1366×768
(Beispiel vom EeePC, anders als bei Dir also leider nur VGA ohne HDMI getestet)

Und der Vollständigkeit halber der Thread zum EDID-Inserter aus dem PowerStrip-Forum: http://forums.entechtaiwan.com/index.php?topic=1970.msg21481#msg21481