Як змусити працювати контролер Steam?


42

У мене є контролер Steam, і мені потрібно, щоб він працював в 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 dongle та відремонтуйте контролер


2
Це вирішило мою проблему з тим, що SC не було розпізнано через кабель, але мені також потрібно було зареєструватися для участі в Steam Beta . Інакше не змінився.
Carolus

Тут чудово працює! Дякую! (Більше не потрібна 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. Це додасть декілька пакунків, які вам, мабуть, не знадобляться, але ви можете їх видалити, коли надійде оновлення пакету для пари.

Дивитися також:


1
Я 15.10 і маю .rulesфайл. Однак другий рядок ( KERNEL=="uinput", MODE=...) не входить. Чи означає це, що я також повинен додати цей рядок, якщо хочу емуляцію геймпада? Або це буде додано автоматично?
Джошуа

"Якщо у вас є версія 15.10 і новіші, вам не потрібно нічого робити, крім підключення в донгл і спарювання контролера, коли ви запускаєте режим великої картини пари". Я на Xubuntu 15.10, я підключив ключ, запускаю велику картину, і Я не можу з'єднати контролер. Він прекрасно працює в Windows і працює під час підключення провідним способом в Linux, а також працює на моїй установці SteamOS, але для мене Xubuntu 15.10 не працює.
Аарон Франке

Ці дії виконуються під час встановлення парових пристроїв у пізніших версіях Ubuntu. Однак, знаючи, що це джерело проблеми, спонукало мене встановити парові пристрої та перевстановити саму пару в моїй системі, оскільки моя установка була дуже давньою (ймовірно, встановлено Steam вручну давно)
березень

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, підключив його до моєї системи 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. Я помістив текст у файли, як запропонував Інсперат, але все ще немає любові.

Замість цього помістіть текст у файл у /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

Зараз контролер працює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.