Virtual Display Driver — 4K 120 Hz z HDR bez monitora 4K

Virtual Display Driver jako wirtualny monitor w Windows 11 dla Sunshine: telewizor dostaje 4K, 120 Hz i HDR, a rozdzielczość dopasowuje się sama.

Sunshine przechwytuje obraz z ekranu, który Windows faktycznie renderuje. Jeśli przy komputerze stoi monitor 2560×1440, strumień na telewizor 4K też będzie miał 1440p — przeskalowany w górę i rozmyty. Jeśli monitor jest wyłączony, Windows może w ogóle przestać renderować obraz i Moonlight pokaże czarny ekran.

Rozwiązaniem jest wirtualny monitor: sterownik, który udaje podłączony ekran o dowolnej rozdzielczości i odświeżaniu. Windows renderuje grę w natywnym 4K 120 Hz z HDR, a Sunshine przesyła dokładnie to, co wyświetliłby telewizor podłączony kablem HDMI.

Instalacja Virtual Display Driver

Używamy otwartoźródłowego Virtual Display Driver (projekt VirtualDrivers/Virtual-Display-Driver na GitHubie). Najpierw zainstaluj pakiet Microsoft Visual C++ Redistributable (x64) — bez niego sterownik zgłasza brak vcruntime140.dll.

Instalacja przez winget:

Okno terminala
winget install --id=VirtualDrivers.Virtual-Display-Driver -e

Alternatywnie pobierz z zakładki Releases aplikację Virtual Driver Control (VDC) i kliknij w niej Install. VDC przyda się tak czy inaczej, bo to w niej wygodnie zarządzasz rozdzielczościami.

Po instalacji w Ustawienia → System → Ekran pojawi się drugi ekran. Konfiguracja sterownika leży w pliku:

C:\VirtualDisplayDriver\vdd_settings.xml

Rozdzielczości i odświeżanie

W aplikacji VDC dodaj tryby, których będą żądać Twoje urządzenia. Dla telewizora LG OLED i ewentualnie laptopa:

Rozdzielczość Odświeżanie Dla kogo
3840×2160 120, 60 Hz Telewizor 4K
2560×1440 120, 60 Hz Telewizor przy słabszej sieci, monitor 1440p
1920×1080 120, 60 Hz Laptop, połączenie przez VPN

Zapisz ustawienia i zrestartuj sterownik z poziomu VDC. Tryby muszą istnieć w sterowniku, żeby Sunshine mógł je włączyć na żądanie klienta.

HDR na wirtualnym ekranie wymaga Windows 11 w wersji 23H2 lub nowszej. Włącz obsługę HDR w VDC, a w Windowsie pozostaw ją wyłączoną — Sunshine włączy HDR sam, gdy klient o to poprosi.

Sunshine: automatyczne przełączanie ekranu

Sunshine ma wbudowany mechanizm konfiguracji wyświetlaczy w Windowsie. Przy starcie strumienia potrafi włączyć wybrany ekran, wyłączyć pozostałe, ustawić rozdzielczość, odświeżanie i HDR zgodnie z żądaniem klienta, a po zakończeniu przywrócić wszystko do stanu sprzed strumienia.

  1. W panelu Sunshine otwórz Troubleshooting → Logs i znajdź listę wykrytych wyświetlaczy (sekcja z urządzeniami wyświetlającymi wypisywana przy starcie). Skopiuj identyfikator wirtualnego ekranu — w Windowsie ma postać UUID w nawiasach klamrowych.
  2. W Configuration → Audio/Video ustaw:
sunshine.conf (fragment)
# Identyfikator wirtualnego ekranu (UUID z logów Sunshine)
output_name = {wklej-tutaj-identyfikator-ekranu-vdd}
# Na czas strumienia: tylko wirtualny ekran aktywny, fizyczny monitor wyłączony
dd_configuration_option = ensure_only_display
# Rozdzielczość, odświeżanie i HDR takie, o jakie prosi klient
dd_resolution_option = auto
dd_refresh_rate_option = auto
dd_hdr_option = auto
  1. Zapisz i zrestartuj Sunshine z panelu (Troubleshooting → Restart).

Efekt: gdy telewizor połączy się w trybie 4K 120 Hz z HDR, fizyczny monitor przy komputerze zgaśnie, a gra wyrenderuje się w pełnym 4K na wirtualnym ekranie. Po zakończeniu strumienia monitor wróci z poprzednią rozdzielczością.

Granie bez monitora

Z wirtualnym ekranem komputer do gier nie potrzebuje żadnego monitora. Może stać w szafie, pod biurkiem albo w serwerowni obok homelabu. Po restarcie Windows widzi wirtualny ekran i renderuje pulpit, więc Sunshine ma zawsze co przechwytywać.

Przydatne w takim układzie:

  • Automatyczne logowanie do Windows albo pozostawienie sesji zalogowanej. Sunshine działa jako usługa, ale gry i Steam wymagają zalogowanego użytkownika.
  • Wybudzanie przez sieć (Wake-on-LAN), opisane w części 3.

Dźwięk

Domyślnie dźwięk trafia do klienta — odtwarzanie na komputerze-serwerze włączasz osobną opcją w Moonlight. Jeśli komputer nie ma podłączonych głośników ani monitora z głośnikami, Windows może nie mieć aktywnego urządzenia audio do przechwycenia. W panelu Sunshine (Configuration → Audio/Video) wskaż wtedy wirtualne urządzenie audio jako ujście (Virtual Sink). Jeśli masz zainstalowany Steam, dostępne jest urządzenie Steam Streaming Speakers.

Pułapki

  • Gra uruchamia się na złym ekranie — gry zapamiętują monitor z ostatniego uruchomienia. Uruchom grę raz w trakcie strumienia i ustaw ekran w jej opcjach. Z ensure_only_display problem praktycznie znika.
  • Obraz ma 60 Hz zamiast 120 Hz — tryb 120 Hz nie został dodany w VDC albo klient żąda 60 kl./s. Sprawdź ustawienia Moonlight.
  • HDR wyblakły — po pierwszym włączeniu HDR uruchom aplikację Kalibracja HDR w systemie Windows (Microsoft Store) na wirtualnym ekranie w trakcie strumienia, oglądając obraz na telewizorze.

Serwer i wirtualny ekran są gotowe. Zostaje telewizor — w ostatniej części zainstalujesz Moonlight na LG OLED i dostroisz obraz.