ฉันจะทำให้คอนโทรลเลอร์ XBOX 360 ทำงานได้อย่างไร


58

ฉันมี Microsoft XBOX 360 gamepad พร้อมอแด็ปเตอร์ไร้สายและฉันสงสัยว่าฉันจะต้องติดตั้งเพื่อใช้กับ Ubuntu ฉันรู้ได้อย่างไรว่าเมื่อใช้งานบน Windows นี้ฉันต้องติดตั้งไดรเวอร์สำหรับตัวรับสัญญาณไร้สายด้วยตนเอง (ถ้าเป็น ที่เกี่ยวข้อง.)


น่าเศร้าที่สิ่งนี้ไม่ทำให้คอนโทรลเลอร์ของฉันทำงานอย่างถูกต้องเหมือนกับ Xpadder สำหรับ Windows : /
Chris K

คำตอบ:


40

หากคุณพบปัญหาในการใช้งานตัวควบคุม XBOX 360 ของคุณสิ่งนี้จะช่วยให้คุณติดตั้งบนคอมพิวเตอร์ที่ใช้ Ubuntu และแสดงวิธีกำหนดค่า คำแนะนำเหล่านี้สามารถใช้งานได้กับคอนโทรลเลอร์ X-Box 360 ทั้งแบบมีสายและไร้สาย

เริ่มต้นใช้งาน

เพื่อให้สามารถใช้ Xbox 360 แบบมีสาย / ไร้สายควบคุมของคุณภายใต้ Ubuntu 12.04 (แม่นยำ Pangolin) คุณต้องติดตั้งแพคเกจที่จำเป็นก่อน

เปิดเทอร์มินัลและเรียกใช้คำสั่งนี้:

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

คุณต้องแน่ใจว่า xpad ไม่ได้รับการโหลด:

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

จากนั้นเรียกใช้ xboxdrv:

xboxdrv --silent 

การกำหนดค่าแผ่น

เชื่อมต่อคอนโทรลเลอร์เกมของคุณเข้ากับพีซีของคุณผ่าน USB (ต่อสาย) หรือเชื่อมต่อตัวรับสัญญาณเล่นเกมไร้สาย XBOX 360 PC สำหรับคอนโทรลเลอร์ไร้สายของคุณจากนั้นเรียกใช้คำสั่งนี้เพื่อเริ่มการกำหนดค่า:

jstest-gtk

ในหน้าต่างที่ปรากฏขึ้นให้เลือกคอนโทรลเลอร์ของคุณ (Microsoft X-Box 360 pad, Generic X-Box pad, ฯลฯ ) และคลิก Properties:

ป้อนคำอธิบายรูปภาพที่นี่

หมายเหตุหากตัวควบคุมของคุณไม่อยู่ในรายการให้ลองคลิกปุ่ม "รีเฟรช"

หน้าต่างใหม่จะป็อปอัพซึ่งจะช่วยให้คุณปรับเทียบคอนโทรลเลอร์เกมของคุณทำการแมปปุ่มของคอนโทรลเลอร์เกมของคุณใหม่ (เปลี่ยนลำดับของแกนและปุ่ม) เป็นต้น ป้อนคำอธิบายรูปภาพที่นี่

หลังจากกำหนดค่าเสร็จสิ้นให้บันทึกการตั้งค่าใหม่และปิดหน้าต่าง ตอนนี้คุณสามารถใช้คอนโทรลเลอร์ Xbox 360 ของคุณเพื่อเล่นเกมภายใต้ Ubuntu

กำหนดค่า xboxdrv เพื่อเริ่มต้นตอนบูท

หากคุณกำลังสร้างเครื่องเฉพาะหรือต้องการให้แน่ใจว่าโหลด xboxdrv เมื่อเริ่มต้นคุณสามารถทำได้:

สร้างงานพุ่งพรวดก่อน:

sudoedit /etc/init/xboxdrv.conf

และในนั้นเพิ่มเนื้อหาต่อไปนี้:

start on filesystem
exec xboxdrv -D
expect fork

สิ่งนี้จะช่วยให้แน่ใจว่า xboxdrv เริ่มทำงานเมื่อบูต

แหล่งที่มา:


ฉันจะทำการเปลี่ยนแปลงเหล่านี้ถาวรเมื่อใช้การลงชื่อเข้าใช้ Steam ได้อย่างไร
Waldir Leoncio

2
ฉันสร้าง PPA เพื่อทำงานนี้ใน 14.04 (ความแตกต่างเล็กน้อย) นอกจากนี้ PPA นี้ทำเครื่องหมาย xpad ว่าเป็นข้อขัดแย้งได้อย่างถูกต้องลบการกำหนดค่าที่เสียหายที่ติดตั้งและสร้างรายการการตั้งค่าระบบที่เรียกว่า "ก้าน" ตรวจสอบที่นี่: launchpad.net/~rael-gc/+archive/ubuntu-xboxdrv
Rael Gugelmin Cunha

1
expect forkไม่จำเป็นต้องใช้ (และเมื่อจำเป็นก็ควรจะวางไว้ก่อนแล้วคำสั่ง)
Rael Gugelmin Cunha

เพื่อให้ xboxdrv เริ่มทำงานในโหมด daemon คุณอาจต้องเพิ่มกฎใน dbus (ดูที่นี่: github.com/Grumbel/xboxdrv/issues/42 )
TimothyP

xboxdrv ไม่พบ joypad แบบใช้สายของฉัน :(
Salvatore Di Fazio

21

Ubuntu 14.04, 15.10, 16.04 :

ฉันสร้าง PPA เพื่อติดตั้งและสร้างภูตที่เหมาะสมxboxdrvใน 14.04 ขึ้นไป

นอกจากนี้ PPA นี้จะล้างค่าที่ใช้งานไม่ได้ทำเครื่องหมาย xpad ว่าเป็นข้อขัดแย้ง (หยุดถ้าจำเป็น) เริ่ม xboxdrv daemon และสร้างรายการ "ก้าน" ในการตั้งค่าระบบ

หากต้องการติดตั้งให้รันในเทอร์มินัล:

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

PS: ฉันโคลนแพคเกจเพื่อการเปิดตัวอื่น ๆ และแม้กระทั่งเปลี่ยนให้ใช้งานsystemdได้


3
ไม่มีสิ่งใดที่ฉันพบว่าทำให้ XBox 360 Wireless Receiver ทำงานได้ใน Linux Mint 17.1 จนกว่าฉันจะทำสิ่งนี้ทันใดนั้นฉันก็เห็นคอนโทรลเลอร์ของฉันซิงค์ต่อหน้าต่อตาเป็นครั้งแรกใน Linux ขอบคุณมากสำหรับเรื่องนี้!!!
acejavelin

3
+1 เพราะสิ่งนี้ทำให้ชีวิตง่ายขึ้นมาก

16

ในที่สุดก็แก้ไขได้ เพียงพิมพ์ข้อความนี้ในเทอร์มินัล

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

จากนั้นกด ctrl + c

และเมื่อคุณติดตั้งไดรเวอร์ Xbox เสร็จแล้วคุณก็พร้อมที่จะใช้คอนโทรลเลอร์ Xbox 360 ของคุณแล้ว: D ฉันเดาว่าเมื่อทุกคนบอกว่าคอนโทรลเลอร์เป็น Plug & Play และคุณไม่ต้องติดตั้งไดรเวอร์ที่จำเป็นเพื่อใช้งาน


จากนั้นทำการติดตั้ง jstest-gtk ผ่านทาง "sudo apt-get install jstest-gtk" หรือสามารถหาได้จาก Ubuntu Software Center น่าเสียดายที่แพ็คเกจ XBOX ทั้งหมดและโปรแกรม GUI / ทดสอบบางประเภทไม่ได้ถูกส่งไปยังศูนย์ซอฟต์แวร์
Tony Wall

12

UPDATE:สิ่งนี้ไม่จำเป็นสำหรับ Kernel 4.2 (อาจเป็น 15.10 หรือ 16.04) และสูงกว่า ข้อผิดพลาดนี้ได้รับการแก้ไขในที่สุด: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1272765

หากคุณมีปัญหากับไฟ LED กะพริบเพียงเพิ่ม ppa นี้และติดตั้งโมดูลเคอร์เนล xpad คงที่จาก SteamOS ขอบคุณ Valve!

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

เป็นการอัปเดตโมดูล xpad ใน Ubuntu ดังนั้นคุณไม่จำเป็นต้องใช้ xboxdrv


โอ้พระเจ้าของฉันมันหยุดกระพริบฉันรักคุณ
Pitto

1
ตกยุค. ไม่สามารถใช้ได้อีก. โปรดลบคำตอบ
tatsu

9

นี่คือการอัปเดตสำหรับคำตอบที่มีอยู่เพื่อหาวิธีให้ตัวควบคุม XBox360 ทำงานใน Wine> = 1.7 รวมถึงเกม Steam ใน Wine บน Ubuntu> = 13.10 ไม่ต้องใช้สิทธิ์รูทสำหรับการติดตั้งและการใช้งาน

วิธีการด้านล่างใช้x360ce.exeซึ่งโดยทั่วไปจะให้รหัส Dinput สำหรับ Wine เพื่อสื่อสารกับเกม (โปรดทราบว่าคอนโทรลเลอร์ XBox ของคุณยังคงส่งการควบคุม Xinput)

  1. เชื่อมต่อคอนโทรลเลอร์ XBox360 (หรือที่ใช้ร่วมกันได้) ของคุณเพื่อรับรู้โดยอัตโนมัติด้วยโมดูลเคอร์เนล xpad

    ไม่จำเป็นต้องติดตั้งและเรียกใช้xboxdrvเพราะในปัจจุบันคอนโทรลเลอร์ดูเหมือนจะเป็นที่รู้จัก อย่าไม่บัญชีดำเคอร์เนลโมดูล xpad ตามที่ได้แนะนำไว้ในบทเรียนเก่า

  2. ดาวน์โหลดไฟล์เก็บถาวร ZIP สำหรับแอปพลิเคชั่น Windows (Wine) x360ceและไบนารี .dll สำหรับ Xinput และ Dinput
  3. แตกไฟล์เก็บถาวร ZIP เพื่อคัดลอกเนื้อหาด้วยไฟล์อย่างน้อยดังต่อไปนี้ไปยังไดเรกทอรีปฏิบัติการของเกม (เช่น~/.wine/drive_c/Programs/Games/game.exeหรือ~/.wine/drive_c/Programs/Steam/SteamApps/common/Name_Of_Game/game.exe):

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

    บางเกมอาจต้องการ:

    • xinput1_9.dll
  4. เรียกใช้x360ce.exeด้วยไวน์เพื่อสร้างx360ce.iniไฟล์ตัวอย่างในไดเรกทอรีของเกมหากยังไม่มี

  5. ออกx360ce.exe(คุณอาจต้องฆ่าไวน์ให้ทำเนื่องจากแอปพลิเคชันอาจหยุดทำงาน)
  6. เปิดx360ce.iniไฟล์ด้วยตัวแก้ไขเพื่อเพิ่มบรรทัดต่อไปนี้เพื่อป้องกันการล่มหรือแฮงในอนาคต:

    Version=1
    
  7. เริ่มต้นx360ce.exeอีกครั้งเพื่อให้รู้จักตัวควบคุม XBox ของคุณ

  8. เราอาจเลือกที่จะเลือกไฟล์ติดตั้งที่สร้างไว้ล่วงหน้าทันทีที่รู้จักตัวควบคุม
  9. ปรับปุ่มและแกนควบคุมของตัวควบคุมเป็นค่าที่เหมาะสม

    > * <sup> ภาพหน้าจอติดตาม </sup> *

  10. Save บันทึกการตั้งค่าเหล่านี้ลงในไฟล์ xbox360ce.ini

  11. จากนั้นออก (หรือฆ่า) x360ce.exe
  12. หากจำเป็นต้องเปิดx360ce.iniไฟล์ในเครื่องมือแก้ไขอีกครั้งเพื่อปรับการตั้งค่าบางอย่างให้ละเอียด
  13. เกม Windows ของคุณควรรู้จักคอนโทรลเลอร์เมื่อเริ่มต้นจากไวน์
  • อย่าถอดตัวควบคุมออกเนื่องจากจะได้รับการยอมรับหลังจากรีสตาร์ทเกมเท่านั้น
  • สำรองข้อมูลไฟล์. ini เพื่อใช้ในอนาคตเพื่อหลีกเลี่ยงการสอบเทียบอีกครั้ง

4

ฉันไม่แน่ใจว่าคุณได้ลองทำอะไรดังนั้นลองทำตามคำแนะนำอย่างเป็นทางการก่อน โปรดเปิดเทอร์มินัล (ค้นหาในประ) และพิมพ์คำสั่งต่อไปนี้ทีละรายการ (ไม่จำเป็นต้องคัดลอกเอาต์พุต):

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

รีบูทและอุปกรณ์รับสัญญาณไร้สายของคุณควรได้รับการยอมรับ

โปรดทราบว่าโชคไม่ดีที่มีไม่ได้เป็นแพคเกจ 12.04 xboxdrv-stableสำหรับ คุณอาจลองติดต่อผู้ดูแลแพคเกจโดยสมมติว่าคุณมีบัญชี Launchpad.net ถึงกระนั้นลองใช้ซอฟต์แวร์ที่ต้องการไดรเวอร์


2

เช่นเดียวกับบันทึกย่อด้านที่ไม่เกี่ยวข้องข้อผิดพลาดที่คุณเห็นด้วย makefile ของคุณนั้นเกิดจากข้อเท็จจริงที่ว่า makefiles ใช้แท็บสำหรับการเยื้องและน่าจะเกิดขึ้นเมื่อไฟล์ถูกคัดลอกแท็บเหล่านั้นถูกเปลี่ยนเป็นช่องว่าง


1

คุณไม่จำเป็นต้องติดตั้งอะไรเคอร์เนลมีไดรเวอร์ในตัว เพียงเสียบอแด็ปเตอร์ไร้สายเข้ากับ USB แล้วซิงค์คอนโทรลเลอร์ xboxdrvจำเป็นเฉพาะเมื่อคุณต้องการตัวเลือกการกำหนดค่าเพิ่มเติมการแมปปุ่มการจำลองเมาส์ ฯลฯ


สิ่งนี้ไม่จริงไม่ทำงานใน 12.04 หรือ 13.10
Calin

ไม่ทำงานที่ไหน ในกรณีเช่นนี้ 99% เป็นปัญหาของเกมไม่ใช่ตัวควบคุมหรือไดรเวอร์ xpadเคอร์เนลไดรเวอร์ได้รับส่วนหนึ่งของมาตรฐาน Ubuntu สำหรับค่อนข้างไม่กี่ปี
Grumbel

xpad แย่มากกับ Xbox360 gamepad เวอร์ชันไร้สาย อแด็ปเตอร์ไร้สายนั้นรู้จักเป็น joypad ตัวแรกและ joypad เป็นตัวที่สอง และเกมจำนวนมากไม่มีการกำหนดค่าให้เปลี่ยนจอยสติ๊กที่จะใช้ และใน Ubuntu บางรุ่น (เช่น 12.04) ไฟ led ใน gamepad จะไม่หยุดกระพริบ
Rael Gugelmin Cunha

0

นั่นเป็นเรื่องเก่า มันจะทำงานได้ทันทีที่คุณเสียบเข้าหากเกมนั้นเข้ากันได้ ฉันคิดว่าถ้าเกมคาดว่าจะมีตัวควบคุม xbox (เช่นไม่ใช่เกมทั่วไป) ในไวน์ก็ไม่น่าจะทำงานได้ เกมเนทีฟควรใช้งานได้ มันถูกระบุว่าเป็นโครงการสำหรับGoogle Summer of Codeดังนั้นจึงอยู่ในวาระการประชุม


ประณามเกมที่เข้ากันไม่ได้ -. - ฉันเพิ่งทดสอบบนอีมูเลเตอร์และใช้งานได้ ... แต่ไม่เกี่ยวกับไวน์ :(
Mohd Arafat Hossain

เดี๋ยวก่อนมันใช้งานได้ !!! ฉันลองใช้ Underground 2 บน Windows และคอนโทรลเลอร์ Xbox ทำงานได้ดีจากนั้นฉันลองใช้คอนโทรลเลอร์ใน Ubuntu U2 และมันก็ไม่ได้ :( มีอะไรผิดปกติหรือเปล่า
Mohd Arafat Hossain

ฉันคิดว่าถ้าเกมใช้ xinput มันจะไม่ทำงาน u2 คืออะไร
daithib8

สั้น ๆ สำหรับ Underground 2;)
Mohd Arafat Hossain

ตกลงนั่นคือเกมไวน์
daithib8

0

ฉันใช้ Linux kernel เวอร์ชั่น 4.0.0 และไม่จำเป็นต้องติดตั้งอะไรและไม่ต้องตั้งค่าอะไรเลยในการเล่นเกมด้วยคอนโทรลเลอร์ XBOX 360 ของฉัน แม้แต่เกม co-op โซฟาแบบลินุกซ์ที่ต้องการตัวควบคุมมากกว่าหนึ่งตัวเช่น "คู่รักในกาลอวกาศที่อันตราย" หรือ "trine" ก็สามารถใช้งานได้ทันที เพียงเสียบเข้ากับคอนโทรลเลอร์ทั้งสองและทำ


0

ส่วนงัด -doupler ของตัวควบคุมของฉันไม่ได้เสียบไว้ตลอดนั่นคือปัญหาทั้งหมดของฉันคือ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.