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

42

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

Хорхе Кастро
источник

Ответы:

26

Дополнение от 22.11.2016 (если вы использовали это решение )

Из-за недавнего обновления ваше правило udev должно быть обновлено.

Отредактируйте файл 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 a group that the user that runs Steam belongs to
KERNEL=="uinput", MODE="0660", GROUP="pgriffais", 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"

Теперь отключите и снова подключите ключ Steam и отремонтируйте контроллер.

Insperatus
источник
2
Это исправило мою проблему с тем, что SC не распознавался по кабелю, но мне также нужно было зарегистрироваться для участия в Steam Beta . В противном случае не изменилось.
Кэрол
Прекрасно работает здесь! Благодарность! (С моей стороны больше не нужна Steam Beta)
Доминик Хейс
Это исправило мою проблему в Ubuntu GNOME 17.04. Благодарность!
Джесси
32

Для версий 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. Это добавит несколько пакетов, которые вам, вероятно, не понадобятся, но вы можете удалить их, как только появится обновление пакета steam.

Смотрите также:

Хорхе Кастро
источник
1
Я на 15.10 и у меня есть .rulesфайл. Однако вторая строка ( KERNEL=="uinput", MODE=...) не включена. Означает ли это, что я также должен добавить эту строку, если я хочу эмуляцию геймпада? Или это будет добавлено автоматически?
Джошуа
«Если у вас 15.10 и новее, вам не нужно ничего делать, кроме как подключить ключ и подключить контроллер при запуске Steam Big Picture Mode». Я нахожусь на Xubuntu 15.10, я подключил ключ, я запускаю большую картинку и Я не могу соединить контроллер. Он отлично работает в Windows и работает, когда подключен проводным способом в Linux, а также работает с моей установкой SteamOS, но не работает для Xubuntu 15.10 для меня.
Аарон Франке
Эти шаги выполняются при установке steam-устройств в более поздних версиях Ubuntu. Однако, зная, что это источник проблемы, я попросил установить steam-устройства и переустановить steam самостоятельно в моей системе, поскольку моя установка была очень старой (вероятно, Steam был установлен вручную давно)
marcus
12

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

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

sudo apt install steam-devices

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

Призрак
источник
В добавление к этому: по состоянию на 9 ноября (когда я это тестировал) вам также понадобится Steam в режиме Bata для следующего обновления контроллера в режиме Big Picture,
Светлана Белкин
7

У меня 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"
Стивен
источник
1
Какие файлы [упомянутые выше]?
Оли
Понимаю. /lib/udev/rules.d/99-steam-perms.rulesТеперь внизу;)
Оли
5

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

Кент Ситон
источник
4

Я только что получил свой 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», и поэтому мне больше не нужна строка, которую я добавил. Я надеюсь, что это помогает кому-то еще.

Обезьяна
источник
2

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

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

Введите это в терминале: sudoedit /etc/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"


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

Контроллер сейчас работает.

user640096
источник