Summary

Я хотел играть на телевизоре через Moonlight с беспроводным DualSense. Сначала телевизор перехватывал кнопку ○, затем пришлось разбираться с тактильными эффектами. Рабочая схема получилась такой: Bluetooth-адаптер в USB телевизора передаётся Windows через VirtualHere, а DSX создаёт для игры виртуальный USB DualSense с аудиоустройством. В The Last of Us Part I эффекты заработали. После запуска через Steam Big Picture их пришлось вернуть ещё раз — отключением Steam Input у конкретного ярлыка.

Что хотелось получить

Игру запускает Windows-ПК, Sunshine передаёт изображение и звук на Huawei Vision S, а на телевизоре работает Moonlight. Я играю с дивана и хочу пользоваться DualSense без провода: с рабочими кнопками, адаптивными триггерами и тактильной отдачей.

Обычное сопряжение геймпада с телевизором оказалось проблемным. Кнопку ○ перехватывал телевизор: вместо действия в игре запускалось приложение. Даже если управление работает, это ещё не означает, что до контроллера доходят все эффекты игры.

У штатного беспроводного подключения есть и отдельное ограничение. В справке TLOU Part I разработчики указывают поддержку обычной вибрации и адаптивных триггеров по беспроводному соединению, но детальную тактильную отдачу DualSense связывают с проводным подключением. Справка Naughty Dog.

Дальше описана моя рабочая конфигурация, проверенная 11–12 октября 2026 года на TLOU Part I. Поведение других игр в этой цепочке я отдельно не проверял.

Первая попытка: убрать перехват кнопки

Сначала я попробовал отключить AppGallery через ADB. Запуск приложения по ○ исчез, но сама кнопка в Moonlight так и не заработала. Убрать видимую реакцию телевизора оказалось недостаточно.

Запись событий через ADB показала, где теряется нажатие: системный обработчик Huawei HwPhoneWindowManager получал код 98 и отправлял команду открытия игрового раздела. После отключения приложения запуск завершался ошибкой, но обработчик продолжал срабатывать. Обычное подключение DualSense кабелем к телевизору тоже сохранило этот перехват.

Следующим шагом подключил DualSense кабелем в USB телевизора и передал его на ПК через VirtualHere. Кнопка заработала. Это дало направление для следующей попытки: передать Windows USB Bluetooth-адаптер, чтобы геймпад остался беспроводным.

VirtualHere для Android позволяет использовать USB-устройство на удалённом ПК так, будто оно подключено к нему напрямую. Разработчик отдельно описывает передачу USB Bluetooth-адаптеров.

Я вставил TP-Link UB500 в USB телевизора, передал адаптер Windows и сопряг DualSense уже с Windows. После этого управление и ○ заработали без кабеля к геймпаду.

Физически адаптер находится возле дивана, а Bluetooth-соединением управляет Windows. Встроенный Bluetooth телевизора в этой схеме не участвует. Для меню ТВ остаётся пульт.

Как устроена рабочая цепочка

У изображения и геймпада здесь разные пути. Sunshine и Moonlight передают картинку и основной звук игры. VirtualHere передаёт Bluetooth-адаптер, а DSX связывает физический контроллер с виртуальным устройством, которое видит игра.

flowchart TB
    P["DualSense возле дивана"] -->|Bluetooth| A["TP-Link UB500 в USB телевизора"]
    A <-->|"VirtualHere по сети"| W["Bluetooth в Windows"]
    W <--> D["DSX на ПК"]
    D <--> V["Виртуальный USB DualSense: HID + Audio"]
    V <--> G["The Last of Us Part I"]
    G -->|"Изображение и основной звук"| S[Sunshine]
    S -->|"Видеопоток"| M["Moonlight на телевизоре"]

Нажатия идут от физического DualSense к игре, а эффекты возвращаются через DSX и Bluetooth. Для игры при этом доступен виртуальный USB DualSense с компонентами управления и аудио.

В проверенной конфигурации использовались Windows 11, Huawei Vision S с Android 10, VirtualHere Android Server 4.8.0 и Windows Client 6.0.3, официальная DSX с DSX+ версии 3.2.0 Beta 02 и TLOU Part I версии 1.1.5.0. Это снимок рабочего состояния: после обновлений названия пунктов и поведение могут измениться.

Sunshine и Moonlight: проверить именно сеанс на телевизоре

Sunshine работает на игровом ПК: захватывает экран и звук, кодирует видеопоток и передаёт его клиенту. Moonlight установлен на телевизоре и показывает этот поток. Игра продолжает выполняться на ПК.

В моей настройке Sunshine работает как служба. Для RTX 3070 Ti используется захват ddx и аппаратное кодирование nvenc; в output_name выбран экран стрима. Из параметров управления дисплеем в рабочей конфигурации:

capture = ddx
encoder = nvenc
dd_configuration_option = ensure_primary
dd_config_revert_on_disconnect = enabled
dd_hdr_option = disabled

Экран стрима становится основным на время подключения, а при отключении конфигурация возвращается. Значение output_name привязано к конкретному дисплею — его нужно выбирать для своего ПК. Разрешение тоже не стоит считать постоянным: в одной сессии игра предлагала 1080p, в другой — 4K.

Сначала DSX проверялась на ПК, но меня интересовал полный сценарий: запустить Moonlight на телевизоре и открыть игру через стрим. Во время такого подключения мы проверили виртуальный USB DualSense с аудиоустройством и журналы, после чего я подтвердил работу эффектов в TLOU Part I с дивана. Затем в этом же сценарии убрали дублирование звука контроллером и вернули игру на нужный экран.

Нужно ли отключать геймпады в Sunshine

В нашей рабочей конфигурации передача контроллеров Sunshine глобально осталась включённой, gamepad_driver = all. Сам DualSense при этом приходит в Windows отдельным путём через VirtualHere и DSX.

При диагностике мы рассматривали возможность появления дополнительного виртуального геймпада от Sunshine. Но запись об ошибке создания Xbox в журнале сама по себе ещё не означает, что у игры есть работающий второй контроллер. Менять настройки для всех клиентов без проверки устройств мы не стали. Позже исчезновение эффектов при запуске через Big Picture удалось исправить у конкретного ярлыка Steam.

Основной звук Sunshine в этой настройке берёт с устройства по умолчанию: отдельный audio_sink не задан. Поэтому после появления виртуального Audio DualSense нужно проверить, куда направлен звук игры. Ниже — настройка, которая оставила звук на ТВ и сохранила моторы геймпада.

Что нужно настроить

1. Передать адаптер Windows

На телевизоре нужен VirtualHere USB Server, на ПК — VirtualHere Client. В клиенте выбираю TP-Link UB500 Adapter и проверяю статус In-use by you.

Для адаптера включён Auto-Use Device, общий Auto-Use All выключен. Так автоматически передаётся нужное устройство.

DualSense добавляется в Bluetooth-настройках Windows. Для сопряжения нужно выключить геймпад, затем удерживать Create + PS до быстрого мигания. Если Windows уже помнит контроллер, повторное сопряжение не требуется.

У Android-сервера VirtualHere есть ограниченный пробный режим. Перед постоянным использованием стоит проверить актуальные условия лицензии в FAQ разработчика.

2. Создать виртуальный DualSense с аудио

Я использую официальную DSX из Steam с DSX+. На странице продукта Bluetooth Audio/Haptic Feedback обозначены как функции DSX+ в бета-режиме.

DSX запускаю через Steam. Для этой конфигурации нужны Nefarius VirtualPad, создающий виртуальный USB DualSense с аудиоустройством, и HidHide. Компоненты устанавливаются через штатный установщик драйверов DSX.

Основные параметры моего профиля:

Настройка DSXЗначение
Virtual deviceЭмуляция DualSense
SubtypeRevision 1 + audio device
Native game feedback / passthroughВключено
Передача rumble и адаптивных триггеров игрыВключена
Send output dataВключено
Дополнительная вибрация от системного звукаВыключена

Подтип с аудиоустройством оказался существенной частью решения. В этой настройке удалось получить нативные эффекты TLOU Part I при физическом Bluetooth-соединении геймпада. Дополнительную вибрацию от общего звука системы я не включал.

3. Скрыть физический контроллер через HidHide

В Windows появляются физический Bluetooth DualSense и виртуальный USB DualSense. В моей настройке игре доступен виртуальный, а физический скрыт через HidHide и доступен DSX.

HidHide позволяет ограничивать доступ приложений к устройствам ввода. Здесь включено скрытие (Cloak ON), обратный режим выключен (inverse OFF), а официальный исполняемый файл DSX добавлен в список разрешённых приложений.

Критичная деталь: скрывать нужно именно физическое Bluetooth-устройство. У физического и виртуального DualSense совпадают идентификаторы производителя и модели. Если выбирать всё по названию Sony или VID/PID, можно скрыть и устройство, которое нужно игре.

После изменения пути установки DSX стоит проверить её запись в списке разрешённых приложений. Если DSX закрыта, скрытый физический контроллер сам по себе не становится доступен игре.

Аудиоустройство нужно, даже если динамик геймпада молчит

Когда эффекты заработали, появился следующий вопрос: как оставить основной звук на телевизоре и приглушить динамик DualSense?

В DSX, в разделе Тактильность / Вибрация → Advanced → Audio Routing and Volume, рабочие значения получились такими:

ПараметрЗначение
Audio Volume0
Haptic MotorsВключены
Левый и правый мотор100
Haptics Gain2
Audio Output ModeAuto

После установки Audio Volume в ноль звук из контроллера исчез, моторы продолжили работать.

Аудиоустройство виртуального DualSense в Windows отключать нельзя: в этой схеме оно нужно для тактильной отдачи. Основной звук игры направляется на выход, который захватывает Sunshine. Приглушение динамика делается внутри DSX.

Подсветку я тоже оставил под управлением DSX: HSL, автоматический обратный цвет, скорость 20 и яркость 90. Games control LEDs выключено, чтобы игра не меняла переливание. Это личная настройка, для передачи эффектов она не обязательна.

Ловушка Steam Big Picture

11 октября всё работало. 12 октября я запустил игру через Steam Big Picture — и нативные эффекты снова пропали.

При этом виртуальные USB HID и Audio в Windows были исправны, профиль DSX не изменился. В игре появились подсказки Xbox, а Steam показывал, что используется преобразование через Steam Input.

В моём случае причиной оказалось именно это преобразование. Исправление:

  1. Открыть в Big Picture настройки контроллера того ярлыка TLOU Part I, из которого запускается игра.
  2. Нажать «Отключить систему ввода Steam».
  3. Проверить надпись «Используется встроенная в игру поддержка».
  4. Полностью выйти из уже запущенной игры штатным способом и открыть её снова при работающей DSX.

После отключения Steam Input эффекты вернулись. В обычном интерфейсе Steam аналогичная настройка находится в Свойства → Контроллер → Отключить Steam Input.

Tip

Эта настройка относится к конкретной записи библиотеки. У нового стороннего ярлыка она может быть другой. В профиль DSX она не входит, поэтому восстановление профиля её не исправит.

Big Picture после этого остаётся удобным способом запуска. Отключать Steam Input глобально ради одной игры не нужно: здесь описан результат для TLOU Part I в моей конфигурации.

Порядок запуска с дивана

После настройки пользуюсь таким порядком:

  1. Открываю VirtualHere Server на телевизоре и клиент на ПК. Проверяю In-use by you у адаптера.
  2. Запускаю DSX через Steam, включаю DualSense кнопкой PS и жду подключения профиля.
  3. Проверяю эмуляцию DualSense → Revision 1 + audio device.
  4. Подключаюсь через Moonlight к Sunshine.
  5. Запускаю TLOU Part I из ярлыка с отключённым Steam Input.
  6. Проверяю управление, доступность тактильных параметров игры и реальные ощущения от эффектов. Основной звук должен идти на ТВ.

Автозапуск всей цепочки у меня пока не настроен. Sunshine работает как служба, остальные звенья проверяю перед игрой.

Ещё одна мелочь: в новой сессии игра иногда выбирала монитор ПК. Помог выбор экрана стрима в Параметры → Изображение → номер экрана, затем «Применить изменения» и подтверждение «Да». Номер экрана зависит от текущей сессии, поэтому чужое значение копировать бессмысленно.

Где искать причину, если снова сломалось

СимптомЧто проверить первым
Телевизор снова перехватывает ○Передан ли адаптер Windows и с кем сопряжён DualSense
DSX не видит геймпадСтатус VirtualHere, питание геймпада, разрешение для DSX в HidHide
После Big Picture появились Xbox-подсказки и исчезли эффектыSteam Input у используемого ярлыка
После отключения Steam Input пропало управлениеПолностью перезапустить игру при работающей DSX
Управление есть, тонкой отдачи нетПодтип с Audio, передача эффектов игры и Haptic Motors
Звук идёт ещё и из геймпадаAudio Volume в DSX и основной аудиовыход игры
Игра открылась на мониторе ПКВыбор экрана внутри игры с применением и подтверждением

Самая полезная проверка здесь — результат в игре. Наличие устройств в Windows подтверждает только часть цепочки. В моём случае исправные USB HID и Audio не помешали Steam Input изменить то, как контроллер был доступен игре.

Что получилось и что ещё не проверено

На этой конфигурации я подтвердил беспроводное управление с рабочей ○, нативные эффекты TLOU Part I в сеансе Moonlight/Sunshine и приглушённый динамик контроллера при включённых моторах.

Микрофон, гироскоп, тачпад и гарнитуру через разъём 3,5 мм я отдельно полностью не проверял. Замеров задержки тоже нет, а качество Bluetooth менялось между сессиями. Результат для одной игры не даёт гарантии всех функций DualSense во всей библиотеке.

Кабельное подключение самого DualSense к USB телевизора через VirtualHere остаётся запасным вариантом: кнопку ○ я на нём проверил, нативные эффекты отдельно — нет.

Главная находка для меня — возможность оставить Bluetooth-адаптер возле места игры, но передать управление им Windows. DSX затем даёт игре нужное виртуальное устройство. А история со Steam Input напомнила, что проверять нужно весь путь до игры, включая способ её запуска.