← На главную

Moonshine запускает игры в изолированных сессиях Wayland на Linux

20.07.2026 00:16 · hackernews

Moonshine — это open-source сервер для удалённого стриминга игр с ПК на любое устройство с клиентом Moonlight. Ввод с клавиатуры, мыши и геймпада передаётся обратно на хост, так что играть можно так, будто сидишь прямо перед компьютером.

Каждая стрим-сессия работает в собственном изолированном композиторе Wayland, полностью отдельно от рабочего стола. Пока идёт стрим, хостом можно пользоваться для других дел. Подключение работает и на headless-серверах — HDMI-заглушка не нужна. Поддерживается аппаратное кодирование H.264, H.265 и AV1 на GPU. Но с AV1 есть нюансы: на NVIDIA картах размер кадров со временем растёт. Драйвер 595.44.3.0 должен это исправить, а пока лучше использовать H.264 или H.265.

Moonshine умеет стримить настоящее 10-битное HDR, передавать звук в стерео и объёмном формате 5.1/7.1 с низколатентным Opus-кодеком. Полная поддержка мыши, клавиатуры и геймпадов — включая motion-сенсоры, тачпад и тактильную отдачу.

Проект только для Linux. Тестировали на Arch Linux, но работает и на других дистрибутивах. Требуется systemd, GPU с Vulkan video encoding (NVIDIA RTX, AMD RDNA2+ или Intel Arc) и Moonlight версии 6.0.0 или новее.

Проще всего установить из AUR. После установки нужно включить user lingering через sudo loginctl enable-linger $USER, чтобы Moonshine запускал приложения даже когда пользователь не залогинен. Затем — sudo systemctl enable --now moonshine@$USER.

Для сборки вручную нужны зависимости — clang, cmake, rust и другие. Конфиг создаётся автоматически при первом запуске. При подключении через Moonlight вы увидите PIN-код. На хосте придёт уведомление со ссылкой на страницу сопряжения http://localhost:47989/pin. Можно подтвердить и через curl.

Приложения добавляются в config.toml: указываете название, путь к иконке (опционально), команду запуска. Можно задать pre_command и post_command — например, остановить конфликтующий сервис или переключить производительность GPU.

Сканеры находят установленные игры автоматически: Steam-сканер собирает все игры из библиотеки, Desktop-сканер — приложения из .desktop-файлов.

Чем Moonshine отличается от Sunshine? Sunshine поддерживает больше платформ и функций. Moonshine — только Linux. Его главная фишка: каждая сессия в своём изолированном окружении, отдельно от рабочего стола. Так хост остаётся доступным, и всё работает без активной сессии.

Важно: Moonshine не предназначен для публичных сетей. Протокол GameStream не шифрует трафик на уровне приложения. Для стриминга через интернет используйте VPN — Tailscale, WireGuard или ZeroTier. Прямое открытие портов Moonshine в интернет — плохая идея.

Проект опирается на наработки Moonlight (клиент), Sunshine (API хоста), Inputtino (виртуальные устройства ввода) и magic-mirror (идея headless-стриминга через Vulkan и Wayland).

Читать оригинал →