Bagaimana cara membuat Kontroler Steam berfungsi?

42

Saya punya Steam Controller dan saya harus membuatnya bekerja di Ubuntu, bagaimana saya melakukannya?

Jorge Castro
sumber

Jawaban:

26

Pembaruan pada 11/22/2016 (jika Anda menggunakan solusi ini )

Karena pembaruan terbaru, aturan udev Anda harus diperbarui.

Edit file udev:

sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules

Ganti semua yang ada di dalamnya dengan:

# 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"

Sekarang cabut dan pasang kembali dongle Steam Anda dan perbaiki controller Anda

Insperatus
sumber
2
Ini memperbaiki masalah saya dengan SC yang tidak dikenali melalui kabel, tetapi saya juga perlu mendaftar untuk partisipasi Steam Beta . Kalau tidak, tidak akan berubah.
Carolus
Sangat bagus di sini! Terima kasih! (Tidak perlu Steam Beta lagi dari sisiku)
Dominic Hayes
Ini memperbaiki masalah saya di Ubuntu GNOME 17.04. Terima kasih!
Jesse
32

Untuk Ubuntu, rilis yang lebih lama dari 15.10

Mengenali pengontrol

Buat file udev:

sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules

kemudian tambahkan konten berikut, jangan lupa untuk menggunakan nama pengguna ANDA dalam file!

# 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"

Berikan akses ke pengontrol /dev/uinput

  • Untuk yang cepat dan kotor, sudo chmod 666 /dev/uinput
  • Untuk solusi yang selamat dari reboot: sudo apt-get install python3-autopilotKemudian logout / masuk atau reboot. Ini akan menambahkan Anda ke grup yang memiliki akses tulis /dev/uinput. Ini akan menambahkan beberapa paket yang mungkin tidak Anda perlukan, tetapi Anda dapat menghapusnya begitu pembaruan paket steam tiba.

Lihat juga:

Jorge Castro
sumber
1
Saya pada 15.10 dan saya punya .rulesfile. Namun baris kedua ( KERNEL=="uinput", MODE=...) tidak termasuk. Apakah ini berarti saya juga harus menambahkan baris ini, jika saya ingin emulasi gamepad? Atau akankah ini ditambahkan secara otomatis?
Joschua
"Jika Anda memiliki 15.10 dan yang lebih baru, Anda tidak perlu melakukan apa pun kecuali mencolokkan dongle dan memasangkan controller ketika Anda meluncurkan mode gambar besar uap" Saya menggunakan Xubuntu 15.10, saya terhubung ke dongle, saya meluncurkan gambar besar, dan Saya tidak bisa memasangkan controller. Ini berfungsi dengan baik di Windows dan berfungsi ketika dicolokkan dengan kabel di Linux dan juga berfungsi pada instalasi SteamOS saya tetapi tidak berfungsi pada Xubuntu 15.10 untuk saya.
Aaron Franke
Langkah-langkah ini dilakukan ketika menginstal perangkat uap di versi Ubuntu yang lebih baru. Namun, mengetahui bahwa ini adalah sumber masalah yang mendorong saya untuk menginstal perangkat uap dan menginstal ulang uap itu sendiri di sistem saya, karena instalasi saya sudah sangat lama (mungkin menginstal Steam secara manual sejak lama)
marcus
12

Petunjuk untuk Ubuntu 16.10

Karena pengontrol tidak bekerja di luar kotak, itu adalah solusi sederhana:

sudo apt install steam-devices

Setelah reboot itu bekerja dengan baik.

Hantu
sumber
Menambahkan ke ini: Pada 9 November (ketika saya menguji ini), Anda juga akan memerlukan Steam dalam mode Bata untuk pembaruan berikutnya untuk controller dalam mode Gambar Besar,
Svetlana Belkin
7

Saya memiliki 15.10 dan controller saya tidak berfungsi.

Saya melihat file yang disebutkan di atas dan saya melihat kesalahan ketik pada file distribusi yang disediakan. Ini memiliki ATTRS{idVendor}dua kali. Yang kedua seharusnya idProduct.

Untuk rekap, ini adalah file yang digunakan untuk mengatakan:

# 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"

Dan inilah yang seharusnya dikatakan (dan bekerja untuk saya):

# 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
sumber
1
File mana [disebutkan di atas]?
Oli
Saya melihat. /lib/udev/rules.d/99-steam-perms.rulesSekarang di bawah;)
Oli
5

Seperti dicatat oleh Jorge Castro. Solusinya bekerja dengan baik. Jika Anda mengubah GROUP untuk usersitu akan mencakup semua akun pengguna pada sistem. Dengan cara ini jika instalasi Anda menggunakan akun yang berbeda, Anda tidak harus terus membuat perubahan pada file.

Kent Seaton
sumber
4

Saya baru saja mendapatkan Steam Controller saya, mencolokkannya ke sistem Ubuntu 15.10 x64 saya dan tidak berfungsi sama sekali. Namun, saya perhatikan sesuatu yang berbeda tentang milik saya yang tidak disebutkan di sini.

Saya mengetik lsusbdi Terminal dan menemukan ini:

Bus 001 Device 011: ID 28de:1042

Saya perhatikan idProduct yang tercantum dalam aturan udev default adalah "1102" atau "1142". Jadi, saya menambahkan baris berikut ke /lib/udev/rules.d/99-steam-perms.rules(Di bawah baris serupa lainnya):

SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1042", MODE="0666"

Saya kemudian mencabut dongle USB, menancapkannya dan berfungsi! Kemudian ia melakukan pembaruan firmware segera (dalam Steam) ke "1142" dan, saya secara teknis tidak membutuhkan baris yang saya tambahkan lagi. Saya harap ini membantu orang lain.

Monyet
sumber
2

Tidak dapat membuat pengontrol saya berfungsi juga. Ubuntu 16.04. Saya menempatkan teks dalam file seperti yang disarankan oleh Insperatus, tetapi masih tidak ada cinta.

Alih-alih menempatkan teks dalam file di /etc/udev/rules.d.

Masukkan ini di terminal: sudoedit /etc/udev/rules.d/99-steam-controller-perms.rules

Kemudian tempel dari jawaban ini :

# 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"

Saya menggunakan blok teks dari atas dan memberi nama file seperti yang disarankan dalam jawaban 1: 99-steam-controller-perms.rules

Kontroler sekarang berfungsi.

user640096
sumber