У мене є контролер Steam, і мені потрібно, щоб він працював в Ubuntu, як це зробити?
У мене є контролер Steam, і мені потрібно, щоб він працював в Ubuntu, як це зробити?
Відповіді:
Редагуйте файл 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 та відремонтуйте контролер
Створіть файл 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
. Це додасть декілька пакунків, які вам, мабуть, не знадобляться, але ви можете їх видалити, коли надійде оновлення пакету для пари..rules
файл. Однак другий рядок ( KERNEL=="uinput", MODE=
...) не входить. Чи означає це, що я також повинен додати цей рядок, якщо хочу емуляцію геймпада? Або це буде додано автоматично?
Оскільки контролер не вийшов з коробки, це було просте рішення:
sudo apt install steam-devices
Після перезавантаження вона спрацювала чудово.
У мене 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"
/lib/udev/rules.d/99-steam-perms.rules
Тепер нижче;)
Як зазначає Хорхе Кастро. Розчин працює добре. Якщо ви зміните групу на users
неї, вона покриє всі облікові записи користувачів у системі. Таким чином, якщо ваша установка використовує різні облікові записи, вам не доведеться постійно вносити зміни до файлу.
Щойно я взяв свій контролер 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", і так, технічно мені вже не потрібна лінія, яку я додав. Я сподіваюся, що це допомагає комусь іншому.
Не міг також працювати мій контролер. 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
Зараз контролер працює.