{{tag>ludique retrogaming retropie}} ====== Installer une manette XBox One sans fil ===== Procédure testée sur le modèle **1708**. Le pilote recommandé à partir d' avril 2024 avec Retropie est **xpad**. Il existe également un pilote en espace utilisateur **xboxdrv** mais certaines incompatibilités on été relevées avec les versions récentes du noyau Linux. A partir de l'image RetroPie 4.1, le pilote **xpad** et installé par défaut : l'installation manuelle n'est donc pas nécessaire. ===== A propos du module ERTM ===== Sur Raspberry Pi, le module noyau **ERTM** **E**nhanced **R**e-**T**ransmission **M**ode peut poser problème lorsque la manette Xbox One est connectée en bluetooth sur Retropie (l’appairage échoue systématiquement). Si c'est le cas, on peut le [[#desactiver_le_module_ertm|désactiver]]. ===== Mise à jour du firmware ===== La manette doit être connectée par câble sur un Windows 10 ou supérieur pour recevoir les mise à jour du firmware. ===== Xpad ===== On peut installer ou mettre à jour le pilote xpad à partir des sources depuis le menu de configuration Retropie cd ~/RetroPie-Setup sudo ./retropie_setup.sh Sélectionner l'option : * ''Manage packages'' > ''Manage driver packages'' > ''xpad'' > ''Install from sources'' Si l'installation a lieu sur un système utilisant l'UEFI avec Secure Boot, le script d'installation générera une nouvelle **Machine-Owner Key** (**MOK**). Cette clé devra être enrôlée dans le firmware lors du prochain démarrage. Pour cela un mot de passe devra être définit : il sera redemandé au prochain redémarrage. Après l'installation, le redémarrage est nécessaire. Pour vérifier que le module est bien chargé : lsmod | grep xpad Si ce n'est pas le cas, charger manuellement le module modprobe -i xpad :TODO_DOCUPDATE: Vérifier que le pilote est associé à la manette. ===== Alternative : Installer le pilote xboxdrv ===== sudo apt-get install xboxdrv # This command will allow the Xbox 360 controller to connect to your Retropie system. xboxdrv --detach-kernel-driver Démarrer RetroPie et affecter les touches. ===== Appairage en Bluetooth ===== Si on utilise une manette sans fil, il faut l'appairer avec le système via Bluetooth. ==== Sur un bureau gnome ==== ==== Depuis la console ==== # Start the Bluetooth service sudo systemctl start bluetooth # Pair the controller bluetoothctl [bluetooth]# power on [bluetooth]# agent on [bluetooth]# default-agent [bluetooth]# scan on # Wait for the controller to be detected [bluetooth]# pair XX:XX:XX:XX:XX:XX [bluetooth]# connect XX:XX:XX:XX:XX:XX ==== Depuis EmulationStation ==== * Menu Configuration * Bluetooth * Register and Connect to Bluetooth Device puis presser sur le bouton central Xbox * Le périphrique apparait dans la liste apres quelques secondes * Choisir le mode de sécurité DisplayYesNo Le message Successfully Registered and Connected doit apparaître. il ne reste qu'a définir le mapping des boutons: Depuis l’écran d'accueil, afficher le menu start (touche entrée) * Configure input ===== Modifier l'association des boutons ===== Pour modifier le fichier de configuration .cfg de la manette, il faut connaître la désignation de chaque bouton. Pour cela on peut utiliser le programme **jstest** : ===== Configuration boutons pour pifba ===== L'association des boutons est faite dans le fichier de configuration **/opt/retropie/configs/fba/fba2x.cfg** ===== Dépannages ===== ==== Désactiver le module ERTM ==== Editer le fichier **opt/retropie/configs/all/autostart.sh**, ajouter la ligne suivante avant la commande sudo bash -c 'echo 1 > /sys/module/bluetooth/parameters/disable_ertm' Une fois le fichier modifié, redémarrer et configurer la manette en bluethooth: Si la modification ne permet pas de rendre permanente la désactivation du mode ERTM, il est possible de modifier la configuration du module bluetooth via modprobe. Créer un fichier **/etc/modprobe.d/bluetooth.conf** contenant la directive suivante: options bluetooth disable_ertm=Y ==== Pas de réponse de la manette Xbox One ==== If you have an Xbox One 2016 pad that is not responding until the Right Trigger is pressed when you play ROMS you can do the following to fix the problem : Go to "/retropie/configs/all/retroarch-joypads/xbox wireless controller.cfg" Find the line that says "input_r2_axis" and change the number in quotes to +4 (input_r2_axis = "+4"). Now save the file and you are all fixed. I hope this helps someone. Lorsque le receiver est connecté il n'est pas correctement reconnu par le pilote: lsusb Bus 001 Device 008: ID 045e:02fe Microsoft Corp. Seul ID Vendor est completé. Le pilote xpad ne liste pas le produit 02fe. usb-devices T: Bus=01 Lev=02 Prnt=02 Port=02 Cnt=03 Dev#= 8 Spd=480 MxCh= 0 D: Ver= 2.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=045e ProdID=02fe Rev=01.00 S: Manufacturer=Microsoft Inc. S: Product=XBOX ACC S: SerialNumber=270533 C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 8 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) La dernière lignre **Driver=(none)** confirme bien qu'aucun driver n'est associée au récepteur sans-fil. Il existe un pilote en cours de développement https://github.com/medusalix/xow cd /opt/retropie/supplementary git clone https://github.com/medusalix/xow xow cd xow make BUILD=RELEASE sudo make install sudo systemctl enable xow sudo systemctl start xow reboot Le gamepad n'utilisant pas le contrôleur Bluetooth intégré, celui-ci peut être désactivé si aucun périphérique ne l'utilise. Voir wiki [[hardware:raspberry:desactiver-controleur-bluetooth]] ==== Comportement anormal des hotkeys ==== :TODO_DOCUPDATE: * Environemment : Ubuntu 25.10 (questing) * Manette : Xbox Wireless Controller # Lister les périphériques d'entrée reconnus par le système cat /proc/bus/input/devices Dans la liste repérer la manette Xbox I: Bus=0003 Vendor=045e Product=0b12 Version=0515 N: Name="Microsoft Xbox Series S|X Controller" P: Phys=usb-0000:0f:00.0-4/input0 S: Sysfs=/devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:0f:00.0/usb3/3-4/3-4:1.0/input/input54 U: Uniq= H: Handlers=kbd event9 js0 B: PROP=0 B: EV=20000b B: KEY=7cdb000000000000 0 8000000000 0 0 B: ABS=3003f B: FF=107030000 0 Pour tester et visualiser le mapping des bouton: apt install joystick jstest /dev/input/js0 Sources : * https://www.baeldung.com/linux/drivers-associated-device * https://retropie.org.uk/forum/topic/17314/hotkey-button-always-pressed/12 * https://www.kernel.org/doc/html/latest/input/devices/xpad.html * https://www.reddit.com/r/RetroPie/comments/xpx76p/microsoft_xbox_360_pad_not_configured/ ===== Références ===== * [[https://retropie.org.uk/docs/Xbox-360-Controller/|Documentation Retropie : Installation et paramétrage d'une manette Xbox 360 (retropie.org.uk) (en)]] * [[https://retropie.org.uk/docs/RetroArch-Configuration/#hotkeys|Documentation Retropie : Les raccourcis ou hotkeys (retropie.org.uk) (en)]] * https://techwiztime.com/guide/retropie-xbox-one-controller/ * https://www.youtube.com/watch?v=BHJGcABUG0Q * https://retropie.org.uk/forum/topic/6198/xbox-one-controller-via-bluetooth/42 * https://pimylifeup.com/xbox-controllers-raspberry-pi/ * https://www.thegeekpub.com/16265/using-xbox-one-controllers-on-a-raspberry-pi/ * https://retropie.org.uk/forum/topic/14419/solved-2-xbox-ones-s-bluetooth-controllers-possible-xbox-one-controller-firmware-update * https://retropie.org.uk/forum/topic/20854/xbox-one-pad-not-working-until-trigger-pressed-fix * http://mattpilz.com/fix-for-xbox-one-wireless-adapter-not-working-in-windows-10-xbox-acc-driver/ * [[https://linuxvox.com/blog/linux-xbox-controller-driver/|Guide d'installation du pilote de manette Xbox (linuxvox.com) (en)]] * [[https://retropie.org.uk/forum/topic/17314/hotkey-button-always-pressed/16|Problème manette : le bouton hotkey semble toujours pressé (retropie.org.uk) (en)]] * [[https://mundowin.com/en/How-to-configure-Xbox-controller-in-Retropie/|Configurer la manette Xbox sur RetroPie (mundowin.com) (en)]]