Как я могу заставить Steam Controller работать?

39

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

    
задан Jorge Castro 16.10.2015 в 14:31
источник

7 ответов

25

Обновление от 11/22/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"

Теперь отключите и снова замените свой парольный ключ и восстановите его.

    
ответ дан Insperatus 26.11.2016 в 08:37
источник
31

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

См. также:

ответ дан Jorge Castro 16.10.2015 в 14:31
10

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

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

sudo apt install steam-devices

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

    
ответ дан TheGhost 16.10.2016 в 21:53
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"
    
ответ дан Stephen 19.12.2015 в 03:08
5

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

    
ответ дан Kent Seaton 21.10.2015 в 15:43
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», и поэтому мне технически не нужна строка, которую я добавил больше. Надеюсь, это поможет кому-то другому.

    
ответ дан Monkey 19.12.2015 в 15:52
1

Не удалось заставить мой контроллер работать. 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 09.01.2017 в 10:00