Forum: PC Hard- und Software Displayport bzw. HDMI-Anschluss am PC resetten?


von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

In einem Museum läuft ein PC in Endlosschleife, der abwechselnd ein 
Video zeigt oder ein einfaches interaktives Spiel (mit OpenCV) per 
Beamer ermöglicht.

Manchmal (nicht immer) ist es so, dass der Beamer beim gemeinsamen 
(Fern-) Einschalten nicht rechtzeitig hochgefahren ist, so dass der PC 
"denkt" er hätte kein Display und nix ausgibt. Der Beamer ergeht sich 
danach in einer endlosen Suche durch seine Eingänge (HDMI1, HDMI2, VGA 
usw.), ohne Resultat.

Das Problem lässt sich ohne Neustart des PC lösen, indem man kurz den 
Displayport-Stecker am PC rauszieht und wieder reinsteckt, dann ist das 
Bild sofort da. Das Aus- und Einschalten des Beamers dagegen bringts 
nicht.

Frage nun: Gibts einen Kommandozeilenbefehl, mit dem man dises Ziehen 
und neu Stecken des Displayport-Steckers simulieren kann?

(PC hat Displayport, hängt per HDMI-Adapterkabel am Beamer).

: Bearbeitet durch User
von pj (Gast)


Lesenswert?

betriebssystem?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

pj schrieb:
> betriebssystem?

Oh, sorry: Win 10 Pro 64 bit

von DPA (Gast)


Lesenswert?

Ich sitze gerade nicht vor meinen Linuxsystemen, darum kann ich das 
gerade nicht ausprobieren/nachprüfen. Aber ich Versuchs mal so aus der 
Erinnerung.

Man könnte es mit dem Blanking versuchen. Die EDID wird dabei aber 
normalerweise nicht neu abgefragt.

Solange man den Framebuffer nutzt, z.B. auf der Linux Konsole, könnte 
man  das Signal so ein/ausschalten (geht nicht unter DRM):
echo 1 > /sys/class/graphics/fb0/blank # Aus
echo 0 > /sys/class/graphics/fb0/blank # Ein

Vermutlich ginge das auf den VTs auch mit setterm, aber das bekomme ich 
nicht zum laufen.

Ich glaube mit "vbetool dpms off" und "vbetool dpms on" geht das dann 
noch etwas extremer, schaltet meistens etwas mehr aus. Läuft aber nur 
auf Systemen mit ACPI, deshalb hab ich das noch nicht ausprobiert.

Grösstenteils für X11 gibt es hier noch äquivalent und ergänzende 
Kommandos:
https://raspberrypi.stackexchange.com/questions/59898/how-can-i-blank-the-screen-from-the-command-line-over-ssh#answer-59916

Und dann gibt es noch die Möglichkeit, in sys mit bind und unbind 
Sachen zu de und reinitialisieren. Ob ein USB-Stick, ne PCI-E Graka oder 
ein DRM Bildschirm, einfach den Treiber suchen und den namen des Device 
in die unbind und bind Dateien reinschreiben. Vor dem unbind stehen die 
in der regel noch im selben Ordner als Unterordner oder Symlinks. Einige 
Treiber mögen dass aber nicht so sehr, und wenn dadurch mehrere 
anbhängige Dinge geunbinded werden, kann es sein dass man einige davon 
auch manuell wieder mit bind mit nem Treiber initialisieren muss.

Und ich glaube in /sys/class/graphics/fb*/ sowie /sys/class/drm/*/ gab 
es noch modes Dateien oder so, die mal mit cat ansehen, da sollten 
Auflösungen drin sein, eine pro Linie. Und ich glaube eine edid Datei 
gab es dort auch, aber die muss man mit entsprechenden Tools ansehen. 
Statt den /sys/class/graphics/fb*/modes Dateien kann man glaub ich auch 
fbset nehmen.

Aber eben, das ist alles aus der Erinnerung, also alle Angaben ohne 
gewähr.


Edit: Ja, ich habe gesehen, das OS wurde mittlerweile genannt, aber 
jetzt das was ich geschrieben habe deshalb nicht mehr zu posten währe 
irgendwie schade, und vielleicht hilft es ja jemand anderem mal, also 
poste ich es trotzdem mal.

von fchk (Gast)


Lesenswert?

Pin 18 am DisplayPort (Hotplug Detect) schalten sollte das Problem 
lösen.

fchk

von pj (Gast)


Lesenswert?

devcon.exe

von Michael X. (Firma: vyuxc) (der-michl)


Lesenswert?

Ich würde den Start von Windoofs solange verzögern bis der Beamer sicher 
gebootet hat. W10 sollte auch sowas wie einen Bootmanager haben in dem 
man einen Timeout für default setzen kann.

von bluppdidupp (Gast)


Lesenswert?

Windows+Ctrl+Shift+B könnte man auch probieren, das resettet in der 
Regel zumindest einen Teil des Grafikkartentreibers

von Philip S. (Firma: ueberblick industries) (ueberblick)


Lesenswert?

Einfach einen EDID Manager zwischen beamer und Grafikkarte stecken. Dann 
merkt die Grafikkarte nicht, dass der Beamer noch nicht da ist und gibt 
immer Signal aus. Der EDID Manager ist im Kern ein EPROM, welcher der 
Grafikkarte mitteilt, welche Auflösung sie zu seinden hat. So ein EPROM 
steckt auch am Eingang jedes Displays und Beamers. Leider haben Beamer 
die Angewohnheit dieses EPROM nur einzuschalten, wenn sie hochgefahren 
sind. Bei üblichen displays ist es immer aktiv.

Im billigsten Fall:

https://m.reichelt.de/hdmi-edid-emulator-logilink-hd0105-p236215.html?PROVID=2788&gclid=CjwKCAjw0N3nBRBvEiwAHMwvNpC3KNj4BcA5-FY_2vD-2Rcv2osvSJ3b6LZTq-hZtfe3cmrs8QJQ9BoCvBEQAvD_BwE&&r=1

Es gibt aber auch welche, die konfigurierbar sind und entsprechend mehr 
kosten. In Deinem Fall aber unnötig.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Danke für die Tips.

Ich werde zuerst die Softwarelösung (Windows+Ctrl+Shift+B per 
Keypress-Emulator oder Devcon) probieren, sollte das nicht fruchten, den 
EDID-Emulator (kannte ich noch nicht!). Danke.

: Bearbeitet durch User
von pj (Gast)


Lesenswert?

Erkenntnisse?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.