Thema: |
|
||
Autor: | mat | ||
Datum: | 21.08.23 16:40 | ||
Antwort auf: | Die Bildschirm-Problematik von mat | ||
Hab das Problem jetzt mit einem Treiber für einen virtuellen Monitor gelöst. Obendrein zu meiner vollsten Zufriedenheit. Beim Starten des Streamings wird automatisch mit Windows-Bordmitteln vom echten Monitor auf den virtuellen geschaltet. Ersterer geht daraufhin in den Standby. Beim Beenden des Streamings wechselt das System wieder auf den echten Monitor zurück und sorgt dafür, dass der virtuelle deaktiviert wird, so dass ich mich nicht ständig mit einen unsichtbaren Zweitmonitor rumärgern muss. Es ist auch unproblematisch, wenn der echte Monitor gar nicht aktiv ist (weil zB der falsche Eingang ausgewählt ist), weil dann sowieso der virtuelle einspringt. Ich weiß allerdings nicht, wie man das umsetzt, wenn man ein Multi-Monitor-Setup hat. Das hier funktioniert meines Wissens nach nur, wenn nur ein physischer Monitor am System hängt. Da gibt es auch sicher Möglichkeiten, alle physischen Monitore zu deaktivieren. Evtl ist "pnputils" ein Ansatzpunkt, damit kann man per Kommandozeile Geräte deaktivieren, so wie es auch der Gerätemanager kann. Meine Sorge, dass der virtuelle Monitor nicht von der GeForce bespielt werden kann, war übrigens offenbar unbegründet, zumindest lief Everspace 2 in 800p schonmal problemlos. ^^ Den virtuellen Monitor an den Start zu bringen, ist ein bisschen frickelig (Anleitung ist für Win10): - Den Treiber hier [https://github.com/ge9/IddSampleDriver/releases] herunterladen und alles nach `c:\IddSampleDriver` entpacken. - `option.txt` öffnen und so bearbeiten, wie es einem passt (bei Bedarf kann man sogar die möglichen Bildwiederholfrequenzen setzen). Die Auflösungen (und Bildwiederholfrequenzen) werden hinterher in den Windows Anzeigeeinstellungen als Optionen auftauchen. Fürs Deck macht eine Zeile wie `1280 800 60` Sinn. Ich hab noch ein paar andere Zeilen für andere Streaming-Ziele hinzugefügt bzw dringelassen. - Ein Terminal-/CMD-Fenster mit Admin-Rechten öffnen und per `cd c:\IddSampleDriver` in den Ordner navigieren, dort `./installCert.bat` ausführen - Im Geräte-Manager eine Kategorie anklicken (wichtig, weil der folgende Menupunkt sonst aus dummen Microsoft-Gründen fehlt), und dann Aktion -> Legacy-Hardware hinzufügen -> Weiter -> "Hardware manuell auswählen" -> Grafikkarten -> Weiter -> Datenträger (an der Stelle darf man sich kurz über den vorgeschlagenen Pfad "A:\“ freuen) -> Durchsuchen -> Nach `c:\IddSampleDriver` navigieren und die `.inf` anklicken -> Öffnen -> Ok -> Weiter -> Weiter -> Fertig. Jetzt sollte der Monitor in den Anzeigeeinstellungen auftauchen. Hier kann man auch wie üblich die gewünschte Auflösung auswählen und unter "Erweiterte Anzeigeeinstellungen" die Hz-Zahl; das kommt alles aus der `option.txt`. Ich hab den Monitor direkt deaktiviert, indem ich unter "Mehrere Bildschirme" einfach "Nur auf 1 anzeigen" ausgewählt hab. Aktiviert werden soll der dann ja automatisch. Falls man den Bums aus Gründen wieder entfernen will, muss übrigens im Gerätemanager unter "Grafikkarten" die IddSample-Grafikkarte entfernt werden. Das Entfernen der entspr. Einträge für Monitore nützt nix, die kommen automatisch zurück. Nach dem Setup kann man schon locker durch Drücken von Win+P zwischen den Monitoren wechseln. "Nur PC-Bildschirm" aktiviert den physischen Monitor, "Nur zweiter Bildschirm" den virtuellen. Beim Zurückschalten ist man etwas auf sich allein gestellt, weil man den virtuellen Monitor ja nicht sehen kann. Mit Pfeiltasten hoch/runter und Enter nach Drücken von Win+P kann man die Situation retten, falls man in selbige geraten ist. :D Das wollen wir jetzt alles noch automatisieren, also geht es jetzt in die Sunshine-Konfiguration unter `https://localhost:47990/config`. Schnell einloggen, dann runter zu den "Command Preparations". Wir nutzen DisplaySwitch.exe, das ist das Programm, das auch durchs Drücken von Win+P gestartet wird und das netterweise auch über die Kommandozeile genutzt werden kann. - Für "Do" also Folgendes eingetragen: `c:\Windows\System32\DisplaySwitch.exe /external` - Und für "Undo": `c:\Windows\System32\DisplaySwitch.exe /internal` - Das Häkchen für "Elevated" scheint aktiviert sein zu müssen, zumindest hatte ich beim Testen Probleme mit dem Umschalten, als es nicht aktiv war. Hat gelegentlich auch mal ohne funktioniert, aber dieser mit Windows mitgelieferten .exe traue ich sowieso. - Nun eine neue Zeile per "+ Add" anlegen und in "Do" `timeout 5` eintragen. Das gibt dem System 5s Zeit, den Monitor zu wechseln. Ohne streamte Sunshine teilweise den Bildschirminhalt des inzwischen deaktivieren physischen Monitors - ohne, dass sich da noch was an den Pixeln tat. - "Save" und dann "Apply" anklicken, fertig. Bin sehr happy, und heute Abend folgt der Produktiveinsatz. ^^ |
|||
< antworten > | |||