Bagaimana cara membuat pengontrol XBOX 360 bekerja?

58

Saya memiliki gamepad Microsoft XBOX 360 dengan adaptor nirkabel dan saya bertanya-tanya apa yang harus saya instal untuk menggunakannya dengan Ubuntu. Saya tahu bahwa ketika menggunakan ini pada Windows saya harus menginstal driver untuk penerima nirkabel secara manual (jika itu adalah relevan.)

jhorton014
sumber
Sayangnya, semua ini tidak membuat controller saya berfungsi dengan baik seperti yang dilakukan Xpadder untuk Windows. : /
Chris K

Jawaban:

40

Jika Anda menemukan kesulitan menjalankan XBOX 360 controller Anda, maka ini akan membantu Anda menginstalnya di komputer yang menjalankan Ubuntu, dan juga menunjukkan kepada Anda bagaimana cara mengonfigurasinya. Instruksi ini dapat diterapkan untuk pengontrol X-Box 360 kabel atau nirkabel.

Mulai

Untuk dapat menggunakan pengendali berkabel / nirkabel Xbox 360 di bawah Ubuntu 12.04 (Precise Pangolin), Anda harus terlebih dahulu menginstal beberapa paket yang diperlukan.

Buka terminal dan jalankan perintah ini:

sudo apt-get install --install-recommends jstest* joystick xboxdrv

Anda juga perlu memastikan bahwa xpad tidak dimuat:

echo "blacklist xpad" | sudo tee -a /etc/modprobe.d/blacklist.conf
sudo rmmod xpad  # unload module if already loaded

Kemudian jalankan xboxdrv:

xboxdrv --silent 

Mengkonfigurasi pad

Hubungkan sekarang pengontrol permainan Anda ke PC Anda melalui USB (berkabel) atau sambungkan penerima gaming nirkabel XBOX 360 PC Anda untuk pengontrol nirkabel Anda, kemudian jalankan perintah ini untuk memulai konfigurasi:

jstest-gtk

Di jendela yang muncul, pilih pengontrol Anda (Microsoft X-Box 360 pad, Generic X-Box pad, dll) dan klik Properties:

masukkan deskripsi gambar di sini

Catatan Jika pengontrol Anda tidak terdaftar, coba klik tombol "Refresh".

Sebuah jendela baru akan muncul yang akan membantu Anda mengkalibrasi pengontrol gim Anda, memetakan kembali tombol-tombol pengontrol gim Anda (mengubah urutan sumbu dan tombol), dll. masukkan deskripsi gambar di sini

Setelah Anda menyelesaikan konfigurasi Anda, simpan pengaturan baru Anda dan tutup jendela. Anda sekarang dapat menggunakan pengontrol Xbox 360 Anda untuk bermain game di bawah Ubuntu.

Konfigurasikan xboxdrv untuk memulai saat boot

Jika Anda membuat mesin khusus atau ingin memastikan bahwa xboxdrv dimuat saat startup, Anda dapat melakukan ini:

Pertama-tama buat pekerjaan pemula:

sudoedit /etc/init/xboxdrv.conf

dan di sana tambahkan konten berikut:

start on filesystem
exec xboxdrv -D
expect fork

Ini akan memastikan xboxdrv dimulai saat boot.

Sumber:

stephenmyall
sumber
Bagaimana saya bisa membuat perubahan ini permanen ketika menggunakan steam-login?
Waldir Leoncio
2
Saya membuat PPA untuk membuatnya berfungsi di 14,04 (beberapa perbedaan kecil). Selain itu PPA ini menandai xpad sebagai konflik, dengan benar menghapus konfigurasi yang rusak saat instalasi, dan membuat entri Pengaturan Sistem yang disebut "Joysticks". Periksa di sini: launchpad.net/~rael-gc/+archive/ubuntu-xboxdrv
Rael Gugelmin Cunha
1
Tidak expect forkdiperlukan (dan, jika diperlukan, itu harus ditempatkan terlebih dahulu kemudian perintah).
Rael Gugelmin Cunha
Agar xboxdrv mulai dalam mode daemon, Anda mungkin harus menambahkan aturan ke dbus (lihat di sini: github.com/Grumbel/xboxdrv/issues/42 )
TimothyP
xboxdrv tidak menemukan joypad kabel saya :(
Salvatore Di Fazio
21

Ubuntu 14.04, 15.10, 16.04 :

Saya membuat PPA untuk menginstal dan membuat daemon yang tepat untuk xboxdrvdi 14,04 dan di atas.

Selain itu PPA ini akan membersihkan konfigurasi yang rusak, menandai xpad sebagai konflik (hentikan jika perlu), mulai daemon xboxdrv dan buat entri "Joysticks" ke dalam Pengaturan Sistem.

Untuk menginstalnya, jalankan di terminal:

sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv

PS: Saya mengkloning paket ke rilis lain dan bahkan mengubahnya untuk bekerja dengannya systemd.

Rael Gugelmin Cunha
sumber
3
Tidak ada yang saya temukan yang dapat membuat Penerima Nirkabel XBox 360 saya berfungsi di Linux Mint 17.1 hingga saya melakukan ini, lalu tiba-tiba saya melihat sinkronisasi kontroler saya di depan mata saya untuk pertama kalinya di Linux. Terima kasih banyak atas ini !!!
acejavelin
3
+1 karena ini membuat hidup jadi jauh lebih mudah
16

Akhirnya dipecahkan. Cukup ketik ini di Terminal

sudo apt-get update
sudo apt-get install xboxdrv
xboxdrv --silent &

dan kemudian tekan ctrl + c

dan selesai Anda baru saja menginstal driver Xbox dan Anda semua siap menggunakan controller Xbox 360 Anda: D. Saya kira ketika semua orang mengatakan controller adalah sebuah Plug & Play dan tidak maka Anda harus menginstal driver yang diperlukan untuk menggunakannya.

Mohd Arafat Hossain
sumber
Dan kemudian instal jstest-gtk baik melalui "sudo apt-get install jstest-gtk" berikut atau juga dapat ditemukan melalui Ubuntu Software Center. Sayangnya seluruh paket XBOX dan beberapa jenis GUI / program pengujian belum dikirim ke pusat perangkat lunak.
Tony Wall
12

UPDATE: Ini tidak diperlukan untuk Kernel 4.2 (mungkin 15.10 atau 16.04) dan lebih tinggi. Bug ini akhirnya diperbaiki: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1272765 .

Jika Anda memiliki masalah dengan LED berkedip, tambahkan saja ppa ini dan instal modul kernel xpad tetap dari SteamOS. Terima kasih Valve!

sudo add-apt-repository ppa:mdeslaur/steamos
sudo apt-get update
sudo apt-get install steamos-xpad-dkms

Ini memperbarui modul xpad di Ubuntu, sehingga Anda tidak perlu xboxdrv.

jochenh
sumber
Ya Tuhan, itu berhenti berkedip, aku mencintaimu
Pitto
1
kadaluarsa. tidak lagi tersedia. tolong hapus jawaban
tatsu
9

Ini adalah pembaruan untuk jawaban yang ada untuk cara agar controller XBox360 bekerja di Wine> = 1.7, termasuk game Steam dalam Wine di Ubuntu> = 13.10. Tidak diperlukan izin root untuk instalasi dan operasi.

Metode di bawah ini menggunakan x360ce.exe , yang pada dasarnya menyediakan kode Dinput untuk Wine untuk berkomunikasi dengan permainan (Perhatikan bahwa pengontrol XBox Anda masih mengirimkan kontrol Xinput).

  1. Sambungkan controller XBox360 Anda (atau yang kompatibel) agar diakui secara otomatis dengan modul kernel xpad.

    Tidak perlu menginstal dan menjalankan xboxdrvkarena saat ini controller tampaknya dikenali. Jangan tidak blacklist modul kernel Xpad seperti yang direkomendasikan dalam tutorial yang lebih tua.

  2. Unduh arsip ZIP untuk aplikasi Windows (Wine) x360ce dan binari .dll yang menyertainya untuk Xinput, dan Dinput.
  3. Ekstrak arsip ZIP untuk menyalin konten mereka dengan setidaknya file berikut ke direktori game yang dapat dieksekusi (misalnya ~/.wine/drive_c/Programs/Games/game.exeatau ~/.wine/drive_c/Programs/Steam/SteamApps/common/Name_Of_Game/game.exe):

    • x360ce.exe
    • dinput8.dll
    • xinput1_3.dll

    beberapa game mungkin juga perlu:

    • xinput1_9.dll
  4. Jalankan x360ce.exedengan Wine untuk membuat x360ce.inifile sampel di direktori gim jika belum ada.

  5. Berhenti x360ce.exe(Anda mungkin harus membunuh Wine untuk melakukannya karena aplikasi mungkin hang)
  6. Buka x360ce.inifile dengan editor untuk menambahkan baris berikut untuk mencegah crash atau hang di masa depan:

    Version=1
    
  7. Mulai x360ce.exelagi untuk mengenali pengontrol XBox Anda.

  8. Kami dapat memilih dari file setup premade segera setelah controller dikenali.
  9. Sesuaikan tombol dan sumbu joystick controller Anda ke nilai yang sesuai.

    > * <sup> Cuplikan layar mengikuti </sup> *

  10. Save menyimpan pengaturan ini ke file xbox360ce.ini

  11. Kemudian berhenti (atau bunuh) x360ce.exe
  12. Jika perlu buka x360ce.inifile dalam editor lagi untuk menyempurnakan pengaturan.
  13. Game Windows Anda sekarang harus mengenali controller ketika dimulai dari Wine.
  • Jangan mencabut steker pengontrol, karena itu hanya akan dikenali setelah restart gim.
  • Cadangkan file .ini untuk digunakan di masa mendatang untuk menghindari kalibrasi ulang.
Takkat
sumber
4

Saya tidak yakin apa yang Anda coba, jadi mari kita coba instruksi resmi terlebih dahulu. Silakan buka terminal (mencarinya di dash) dan ketik perintah berikut, satu per satu (tidak perlu menyalin output):

sudo add-apt-repository ppa:grumbel/ppa
sudo apt-get update
sudo apt-get install xboxdrv
sudo apt-get install xboxdrv-stable 

Mulai ulang, dan penerima nirkabel Anda harus dikenali.

Perhatikan bahwa sayangnya, tidak ada paket 12,04 untuk xboxdrv-stable. Anda dapat mempertimbangkan menghubungi menghubungi pengelola paket , dengan asumsi Anda memiliki akun Launchpad.net. Tetap saja, coba gunakan perangkat lunak yang membutuhkan driver.

ζ--
sumber
2

Sama seperti catatan samping yang tidak terkait, kesalahan yang Anda lihat dengan makefile Anda disebabkan oleh fakta bahwa makefile menggunakan tab untuk indentasi dan kemungkinan ketika file disalin tab-tab tersebut diubah menjadi spasi.

David Rohr
sumber
1

Anda tidak perlu menginstal apa pun, kernel memiliki driver bawaan. Cukup colokkan adaptor nirkabel ke USB dan sinkronkan pengontrol. xboxdrvhanya diperlukan jika Anda menginginkan opsi konfigurasi tambahan, remapping tombol, emulasi mouse, dll.

Grumbel
sumber
ini tidak benar, tidak bekerja pada 12,04 atau 13,10
Calin
Tidak bekerja dimana? Dalam seperti 99% dari kasus itu adalah masalah dengan permainan, bukan pengontrol atau pengemudi. The xpaddriver kernel telah menjadi bagian standar dari Ubuntu selama beberapa tahun.
Grumbel
xpad sangat buruk dengan gamepad Xbox360 versi nirkabel. Adaptor nirkabel diakui sebagai joypad pertama, dan joypad sebagai yang kedua. Dan banyak game tidak memiliki konfigurasi untuk mengubah joystick mana yang akan digunakan. Dan, dalam beberapa versi Ubuntu (seperti 12.04) led di gamepad tidak berhenti berkedip.
Rael Gugelmin Cunha
0

Itu barang lama. Ini akan berfungsi segera setelah Anda mencolokkannya, jika gim tersebut kompatibel. Saya pikir jika game mengharapkan xbox controller (bukan yang generik) di Wine maka itu tidak akan berfungsi. Game asli harusnya berfungsi. Ini terdaftar sebagai proyek untuk Google Summer of Code sehingga ada dalam agenda.

daithib8
sumber
Sialan game tidak kompatibel -.-. Saya baru saja mengujinya pada sebuah emulator dan itu berhasil ... tetapi tidak pada anggur :(
Mohd Arafat Hossain
Tunggu, itu berhasil !!!. Saya mencoba Underground 2 pada Windows dan pengontrol Xbox berfungsi, kemudian saya mencoba pengontrol di Ubuntu U2 dan tidak :( ada apa?
Mohd Arafat Hossain
Saya pikir jika game menggunakan xinput, itu tidak akan berhasil. apa itu u2?
daithib8
Kependekan dari Underground 2;)
Mohd Arafat Hossain
OK jadi itu permainan Wine.
daithib8
0

Saya menjalankan Linux kernel versi 4.0.0 dan diperlukan untuk menginstal apa-apa dan sama sekali tidak mengkonfigurasi apa pun untuk bermain game dengan pengendali XBOX 360 saya. Bahkan permainan co-op sofa asli linux yang membutuhkan lebih dari satu pengontrol seperti "pecinta dalam ruangwaktu berbahaya" atau "trine" berhasil di luar kotak. Hanya mencolokkan dua kontroler dan selesai.

josch
sumber
0

Bagian decoupler yank dari controller saya tidak terhubung sepenuhnya. Itu semua masalah saya.

ThorSummoner
sumber