Таблица совместимости функций DualSense в играх на Linux, общие советы и решения


Здесь будут описаны некоторые хитрости и общие советы по настройке Wine/DualSense для Linux, а также таблица совместимости со всей информацией, которую мне удалось собрать. Список будет со временем пополняться и изменяться в зависимости от того, удастся ли исправить те или иные проблемы, связанные с геймпадом от Sony.

Таблица совместимости игр

https://docs.google.com/spreadsheets/d/1YvnaCKplTCEyWBWw-ypcDK1N_saDmuygA3RWhpcO8Ak/edit#gid=0

Если вашей игры нет в списке, это не значит, что она не работает, автор чисто физически не может протестировать абсолютно все игры на планете. Если у вас есть положительные тесты, вы можете отправить сообщение мне с вашими настройками запуска.

Полный список игр, поддерживающих подключение и ввод с геймпада DualSense (не факт, что в этих играх будут работать особенности в виде адаптивных курков, HD отдачи, гироскопа и динамика):
https://www.pcgamingwiki.com/wiki/List_of_games_that_support_DualSense

Список игр, поддерживающих особенности DualSense:
https://www.pcgamingwiki.com/wiki/Controller:DualSense#Games_with_adaptive_trigger_and_haptic_feedback_support

Исправления работоспособности DualSense

Примечание: для распознавания DualSense игрой необходимо включить параметр “DINPUT PROTOCOL” в настройках PP. PROTON_LG или WINE_LG должны быть версии 8.X и выше. Рекомендуются версии 9.X и выше.

Для работы всех функций DualSense должен быть подключен по проводному соединению USB Type-C! (желательно в гнездо USB 3.1 или Type-C и выше)

При запуске игры из-под Steam, убедитесь, что система ввода Steam отключена!

Также для работы Haptic Feedback (Тактильной отдачи) необходимо включить звук DualSense Wireless Controller в настройках звука, например в KDE (громкость больше 0)

Исправление Haptic Feedback

На примере игры Alan Wake 2.

  1. Открываем окно запуска нашей игры. В данном примере “AlanWake2.exe”
    и выбираем из списка WINE и меняем на “PROTON_LG-9-5-1” (или выше). В PREFIX стираем DEFAULT и пишем свой префикс, например “AW2” (без кавычек).
  2. Переходим в НАСТРОЙКИ и активируем опцию DINPUT PROTOCOL (важно!). Ползунок должен быть в правом положении.
  3. Сохраняем изменения и запускаем игру.

Дополнительная проверка работы Haptic Feedback: открываем программу pavucontrol или в моем случае Helvum. Если присутствуют две колонки со звуком и одна из них проецирует звук на DualSense Wireless Controller (PS5), то все сделано правильно (колонки может и не быть, так как в этот момент вы могли переключиться на клавиатуру + мышь. Следует протестировать вибрацию непосредственно в игре).

Отдельные исправления для игр
Animal Well

В настройках PortProton добавляем в колонку Принудительно использовать/отключить библиотеки:

xaudio2_8,xaudio2_9=b


Запускаем игру под PROTON_LG_9-7 в новом префиксе, например ANIMAL_WELL


После сворачиваем игру и запускаем pavucontrol (проделываем данный трюк каждый раз при включении игры), указываем для Animal Well: audio stream #2 DualSense wireless controller (PS5)…

Genshin Impact

В настройках игры переключить тип управления с “Клавиатура/Мышь” на “Геймпад”

GhostWire: Tokyo

В последнем обновлении иконки кнопок геймпада отображаются от геймпада Xbox, но DualSense игрой распознается и все функции работают корректно:

Scars Above

Та же самая проблема, что и в GhostWire: Tokyo: все функции DualSense работают, но вместо привычных кнопок показываются иконки от геймпада Xbox (что не мешает играть).

Star Wars Jedi: Survivor

В настройках PortProton добавляем в колонку Принудительно использовать/отключить библиотеки:

xaudio2_8,xaudio2_9=n


Также в префиксе не должно быть рекомендованных DLL от PortProton!

Silent Hill 2 (2024)

см. способ Star Wars Jedi: Survivor.

Until Dawn

см. способ Star Wars Jedi: Survivor.

Грязный хак для использования Haptic Feedback (Тактильной отдачи/HD вибрации) везде

Для работоспособности хака необходима программа, которая реализует “patchbay” механику, например pavucontrol или в моем случае Helvum.
Открываем pavucontrol/Helvum и любую программу/бразуер/игру, где есть звук.
Теперь в левой стороне видим, что у нас отображаются отдельные колонки со звуком (устройств может быть больше или меньше в зависимости от установок системы).


У меня включена игра Apex Legends, на ней и протестируем. Как видно на скриншоте, весь звук сейчас передается на мои наушники. Но что, если звук будет передаваться одновременно и наушникам, и геймпаду? Добавим Output_FL и output_FR в playback_RL и playback_RR соответственно. Тянем Output_FL в playback_RL с помощью мыши и точно так же с Output_FR в playback_RR. Наглядный пример:

Если в игре играет музыка, ее вибрация передается непосредственно в DualSense благодаря технологии Haptic Feedback, основанной на звуке.
Вот так легко мы можем внедрить свою поддержку Haptic Feedback, даже если это не задумано изначально разработчиком. =)

Программы/Софт
Программа dualsensectl для настройки геймпада DualSense

Доступна программа со всякими настройками для геймпада DualSense под названием dualsensectl
Ссылка: https://github.com/nowrep/dualsensectl

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

Удобная программа с графическим интерфейсом для настройки своих адаптивных триггеров и не только

Ссылка: https://github.com/Etaash-mathamsetty/trigger-control

Источники

https://www.pcgamingwiki.com/wiki/
https://github.com/ValveSoftware/Proton/issues/5900/
https://github.com/ClearlyClaire/wine
https://github.com/ClearlyClaire/wine/commits/proton-wine-9.0-1%2Bdualsense/
https://github.com/nowrep/dualsensectl
https://github.com/Etaash-mathamsetty/trigger-control

Последнее обновление: 10.01.2025.
Причина: добавлен сайт pcgamingwiki для ознакомления.

4 Likes