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 |
| Subtype | Revision 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 Volume | 0 |
| Haptic Motors | Включены |
| Левый и правый мотор | 100 |
| Haptics Gain | 2 |
| Audio Output Mode | Auto |
После установки 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.
В моём случае причиной оказалось именно это преобразование. Исправление:
- Открыть в Big Picture настройки контроллера того ярлыка TLOU Part I, из которого запускается игра.
- Нажать «Отключить систему ввода Steam».
- Проверить надпись «Используется встроенная в игру поддержка».
- Полностью выйти из уже запущенной игры штатным способом и открыть её снова при работающей DSX.
После отключения Steam Input эффекты вернулись. В обычном интерфейсе Steam аналогичная настройка находится в Свойства → Контроллер → Отключить Steam Input.
Tip
Эта настройка относится к конкретной записи библиотеки. У нового стороннего ярлыка она может быть другой. В профиль DSX она не входит, поэтому восстановление профиля её не исправит.
Big Picture после этого остаётся удобным способом запуска. Отключать Steam Input глобально ради одной игры не нужно: здесь описан результат для TLOU Part I в моей конфигурации.
Порядок запуска с дивана
После настройки пользуюсь таким порядком:
- Открываю VirtualHere Server на телевизоре и клиент на ПК. Проверяю In-use by you у адаптера.
- Запускаю DSX через Steam, включаю DualSense кнопкой PS и жду подключения профиля.
- Проверяю эмуляцию DualSense → Revision 1 + audio device.
- Подключаюсь через Moonlight к Sunshine.
- Запускаю TLOU Part I из ярлыка с отключённым Steam Input.
- Проверяю управление, доступность тактильных параметров игры и реальные ощущения от эффектов. Основной звук должен идти на ТВ.
Автозапуск всей цепочки у меня пока не настроен. 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 напомнила, что проверять нужно весь путь до игры, включая способ её запуска.