Как заставить Steam Controller работать?

У меня есть Steam Controller, и мне нужно заставить его работать в Ubuntu, как мне это сделать?

1
задан 16 October 2015 в 15:31

6 ответов

Для выпусков Ubuntu старше 15.10

Распознавание контроллера

Создайте файл udev:

sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules

, затем добавьте следующее содержимое,

# This rule is needed for basic functionality of the controller in
# Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"

# This rule is necessary for gamepad emulation; make sure you
# replace 'pgriffais' with the username of the user that runs Steam
KERNEL=="uinput", MODE="0660", GROUP="pgriffais", OPTIONS+="static_node=uinput"

Предоставьте контроллеру доступ к /dev/uinput

Для быстрого и грязного sudo chmod 666 /dev/uinput. Обходной путь, который выживает при перезагрузке: sudo apt-get install python3-autopilot Затем выйдите из системы или перезагрузитесь. Это добавит вас в группу, которая имеет доступ на запись к /dev/uinput. Это добавит несколько пакетов, которые вам, вероятно, не понадобятся, но вы можете удалить их, как только поступит обновление пакета.

См. также:

Для быстрого и грязного sudo chmod 666 /dev/uinput https://bugs.launchpad.net/ubuntu/+source/steam/+ bug / 1498655 Для обхода, который выживает при перезагрузке: sudo apt-get install python3-autopilot Затем выйдите из системы или перезагрузитесь. Это добавит вас в группу, которая имеет доступ на запись к /dev/uinput. Это добавит несколько пакетов, которые вам, вероятно, не понадобятся, но вы можете удалить их, как только поступит обновление пакета.
31
ответ дан 23 May 2018 в 16:38
  • 1
    Я на 15.10, и у меня есть файл .rules. Однако вторая строка (KERNEL=="uinput", MODE= ...) не включена. Означает ли это, что мне также нужно добавить эту строку, если мне нужна эмуляция геймпада? Или это добавится автоматически? – Joschua 7 November 2015 в 17:43
  • 2
    «Если у вас есть 15.10 и новее, вам не нужно ничего делать, кроме как подключить ключ и спарить контроллер, когда вы запускаете режим большого изображения в паре» Я на Xubuntu 15.10, я подключил ключ, я запускаю большую картинку, и я не могу спарить контроллер. Он отлично работает в Windows и работает при подключении к сети Linux, а также работает на моей установке SteamOS, но для меня это не работает для Xubuntu 15.10. – Aaron Franke 11 December 2015 в 02:12

Инструкции для Ubuntu 16.10

Поскольку контроллер не работал из коробки, это было простое решение:

sudo apt install steam-devices

После перезагрузки он работал нормально.

10
ответ дан 23 May 2018 в 16:38
  • 1
    Добавление к этому: по состоянию на 9 ноября (когда я протестировал это), вам также понадобится Steam в режиме Bata для следующего обновления контроллера в режиме Big Picture, – Svetlana Belkin 10 November 2016 в 04:22

У меня 15.10, и мой контроллер не работал.

Я просмотрел файлы, упомянутые выше, и я вижу опечатку в предоставленном дистрибутиве файле. Он имеет ATTRS{idVendor} два раза. Второй должен быть idProduct.

Чтобы повторить, это то, что файл говорил:

# Steam Controller device node write access, per lp:1498655
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idVendor}=="1102", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idVendor}=="1142", MODE="0666"
# Steam Controller udev write access, per lp:1498658
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess"

И это то, что он должен был сказать ( и работает для меня):

# Steam Controller device node write access, per lp:1498655
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1102", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1142", MODE="0666"
# Steam Controller udev write access, per lp:1498658
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess"
7
ответ дан 23 May 2018 в 16:38

Как отметил Хорхе Кастро. Решение работает хорошо. Если вы измените GROUP на users, он будет охватывать все учетные записи пользователей в системе. Таким образом, если ваша установка использует разные учетные записи, вам не нужно вносить изменения в файл.

4
ответ дан 23 May 2018 в 16:38

Я только что получил свой Steam Controller, подключил его к моей системе Ubuntu 15.10 x64, и это вообще не сработало. Тем не менее, я заметил что-то другое, что не упоминалось здесь.

Я набрал lsusb в Терминале и нашел это:

Bus 001 Device 011: ID 28de:1042

Я заметил, что idProduct, указанный в по умолчанию правила udev были «1102» или «1142». Итак, я добавил следующую строку в /lib/udev/rules.d/99-steam-perms.rules (под другими аналогичными строками):

SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1042", MODE="0666"

Затем я отсоединил USB-ключ, подключил его и он работает! Затем он сразу же обновил прошивку (в Steam) до «1142», и поэтому мне технически не нужна строка, которую я добавил больше. Надеюсь, это поможет кому-то еще.

4
ответ дан 23 May 2018 в 16:38

Не удалось заставить мой контроллер работать. Ubuntu 16.04. Я поместил текст в файлы, как это было предложено Insperatus, но до сих пор нет любви.

Вместо этого поместите текст в файл в /etc/udev/rules.d.

Введите это в терминал: sudoedit /etc/udev/rules.d/99-steam-controller-perms.rules

Затем вставьте из этого ответа: [!d3 ]

# This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"


KERNEL=="uinput", MODE="0660", GROUP="users", OPTIONS+="static_node=uinput"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"

# DualShock 4 over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"

# DualShock 4 wireless adapter over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"

# DualShock 4 Slim over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"

# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

Я использовал блок текста сверху и назвал файл, как было предложено в 1-м ответе: 99-steam-controller-perms.rules

Теперь работает контроллер.

1
ответ дан 23 May 2018 в 16:38

Другие вопросы по тегам:

Похожие вопросы: