- PVSM.RU - https://www.pvsm.ru -

TL;DR: Apollo [1] + Moonlight [2]
С появлением handheld консолей на Android, Windows и SteamOS и контролера для телефона возникает желание поиграть на этих девайсах в игры с ПК. Самым простым решением будет использовать Steam Link [3], но из-за постоянных отвалов и фризов стало ясно что решение не самое оптимальное.
Самое популярное — связка клиентского приложения Moonlight [2] и сервера Sunshine. [4] Довольно удобное решение, так как нет ограничений на железо ПК, задержка для соло игр незаметна, а подключение (зачастую) стабильно.
В связке Moonlight и Sunshine я прошел RDR2 на Nintendo Switch (и да, для него тоже есть клиент), The Legend of Zelda: Breath of the Wild на Legion Go и Doom Eternal на Steam Deck. Самый печальный опыт, ожидаемо, был на Nintendo Switch, так как он имеет довольно слабый Wi-FI модуль и Moonlight не имеет доступа к GPU, но играл я с удовольствием, хоть и картинка иногда сыпалась.
То, чего реально не хватало - автоматическое создание виртуальных экранов, и подключение к ним. К примеру, Nintendo Switch и Steam Deck имеют нестандартное для экранов ПК разрешение (1280x720 и 1280×800 соответственно), а Steam Deck Oled вообще имеет возможность выводить HDR картинку!
Одним из решений были IddSampleDriver [5] и скрипты которые триггерятся на подключение/отключение клиента к серверу. По моему опыту, это работает нестабильно, иногда после отключения девайса виртуальный монитор остается и иногда монитор ПК не включается обратно. Самой лучшей альтернативой для меня стал форк Sunshine - Apollo [1].
Встроенная поддержка виртуальных экранов с поддержкой HDR.
Система разрешений для клиентов.
Синхронизация буфера обмена между клиентом и сервером (Работает только в андроид клиенте Artemis [6], который является форком Moonlight).
Apollo при подключении девайса создает виртуальный экран, со значениями высотышириныфреймрейта клиента и поддержкой HDR при наличии таковой на клиенте, что позволяет растягивать контент под нестандартные экраны (к примеру, если подключаться с клиента с разрешением экрана 16:10).
Реализация виртуальных экранов работает намного лучше, чем отдельный IddSampleDriver и скрипты. О реализации функционала можно почитать в readme проекта [7].
Сейчас я использую Apollo на ПК с Windows 11, Ryzen 7500F и RX7700XT, такой конфигурации достаточно для комфортного стриминга большинства игр.
Как клиенты я использовал все свои девайсы - Android телефон, Oculus Quest 3, Macbook, Steam Deck, Nintendo Switch Oled. Если у устройства есть поддержка 5Ghz Wi-Fi - можно пробовать его в роли клиента. Но даже для девайсов со старым модулем Wi-Fi есть клиенты, к примеру Playstation Vita [8], Nintendo 3DS [9].
В роли роутера у меня выступает Xiaomi AX3000T, прошитый на OpenWRT.
Никаких дополнительных конфигураций Apollo не требовал, все работает из коробки.
К Apollo можно подключаться извне локальной сети, по инструкции из Wiki [10], подключать отдельный девайс как полноценный дополнительный монитор к ПК.
Установка сервера подробно описана в документации Sunshine [11], она аналогична установке Apollo. Скачать Apollo можно с Github страницы проекта [12].
На большинстве девайсов Moonlight можно установить прямо из стора с приложениями, если там его не оказалось — вам сюда [13].
Автор: frkam
Источник [14]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/igry/407485
Ссылки в тексте:
[1] Apollo: https://github.com/ClassicOldSong/Apollo
[2] Moonlight: https://github.com/moonlight-stream/moonlight-qt
[3] Steam Link: https://store.steampowered.com/app/353380/Steam_Link/
[4] Sunshine.: https://github.com/LizardByte/Sunshine
[5] IddSampleDriver: https://github.com/roshkins/IddSampleDriver
[6] Artemis: https://github.com/ClassicOldSong/moonlight-android
[7] readme проекта: https://github.com/ClassicOldSong/Apollo?tab=readme-ov-file#about-virtual-display
[8] Playstation Vita: https://github.com/xyzz/vita-moonlight/releases
[9] Nintendo 3DS: https://github.com/zoeyjodon/moonlight-N3DS
[10] инструкции из Wiki: https://github.com/moonlight-stream/moonlight-docs/wiki/Setup-Guide#streaming-over-the-internet
[11] документации Sunshine: https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/setup.html
[12] Github страницы проекта: https://github.com/ClassicOldSong/Apollo/releases
[13] вам сюда: https://github.com/moonlight-stream/moonlight-qt/releases/tag/v6.1.0
[14] Источник: https://habr.com/ru/articles/873034/?utm_source=habrahabr&utm_medium=rss&utm_campaign=873034
Нажмите здесь для печати.