Bir Steam Kontrolörüne sahibim ve Ubuntu'da çalışmasını sağlamalıyım, bunu nasıl yaparım?
Bir Steam Kontrolörüne sahibim ve Ubuntu'da çalışmasını sağlamalıyım, bunu nasıl yaparım?
Yanıtlar:
Udev dosyasını düzenleyin:
sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules
İçindeki her şeyi değiştirin:
# 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"
Şimdi Steam dongle'ınızı çıkarın ve yeniden takın ve denetleyicinizi onarın
Bir udev dosyası oluşturun:
sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules
daha sonra aşağıdaki içerikleri ekleyin, SİZİN kullanıcı adınızı dosyada kullanmayı unutmayın!
# 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
Sonra oturum açın / oturum açın veya yeniden başlatın. Bu sizi yazma erişimi olan bir gruba ekleyecektir /dev/uinput
. Bu, muhtemelen gerekmeyecek bir kaç paket ekleyecektir, ancak buhar paketi güncellemesi geldiğinde bunları çıkarabilirsiniz..rules
dosya bende . Ancak ikinci satır ( KERNEL=="uinput", MODE=
...) dahil değildir. Bu, gamepad emülasyonu istiyorsam, bu satırı da eklemem gerektiği anlamına mı geliyor? Yoksa bu otomatik olarak eklenecek mi?
Kontrolör kutudan çıkmadığı için basit bir çözümdü:
sudo apt install steam-devices
Yeniden başlattıktan sonra iyi çalıştı.
15.10'um var ve kontrol cihazım çalışmıyordu.
Yukarıda belirtilen dosyaları izledim ve dağıtım dosyasında bir yazım hatası görüyorum. It has ATTRS{idVendor}
iki kez. İkincisi olması gerekiyordu idProduct
.
Özetlemek için, dosyanın söylediği şey buydu:
# 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"
Ve bu söylemesi gereken şeydi (ve benim için çalışıyor):
# 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
Aşağıda;)
Jorge Castro tarafından belirtildiği gibi. Çözüm iyi çalışıyor. GROUP grubunu değiştirirseniz users
, sistemdeki tüm kullanıcı hesaplarını kapsar. Bu şekilde, kurulumunuz farklı hesaplar kullanıyorsa, dosyada değişiklik yapmaya devam etmeniz gerekmez.
Steam Denetleyicimi yeni aldım, Ubuntu 15.10 x64 sistemime taktım ve işe yaramadı. Ancak, benimle ilgili olarak burada belirtilmeyen farklı bir şey fark ettim.
lsusb
Terminalde yazdım ve şunu buldum:
Bus 001 Device 011: ID 28de:1042
Varsayılan udev kurallarında listelenen idProduct "1102" veya "1142" olduğunu fark ettim. Böylece, aşağıdaki satırı ekledim /lib/udev/rules.d/99-steam-perms.rules
(Diğer benzer satırların altında):
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1042", MODE="0666"
Daha sonra USB donanım kilidini fişten çektim, prize taktım ve çalışıyor! Sonra hemen (Steam'de) "1142" ye bir ürün yazılımı güncellemesi yaptı ve bu yüzden teknik olarak artık eklediğim hatta ihtiyacım yok. Umarım bunun bir başkasına yardımı olur.
Denetleyicimin de çalışmasını sağlayamadım. Ubuntu 16.04. Metni Insperatus'un önerdiği şekilde dosyalara yerleştirdim ancak hala aşkım yok.
Bunun yerine metni bir dosyaya yerleştirin /etc/udev/rules.d
.
Bunu terminale girin:
sudoedit /etc/udev/rules.d/99-steam-controller-perms.rules
Ardından bu cevaptan yapıştırın :
# 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"
Yukarıdan gelen metin bloğunu kullandım ve dosyayı ilk cevapta önerildiği gibi adlandırdım: 99-steam-controller-perms.rules
Denetleyici şimdi çalışıyor.