Raspberry Pi : 1 - installation système pour retrogaming et mediacenter

Dans mon cas précis, c’est clairement pas le but hein :wink:

Un grand merci à @bdfck pour ce guide !
Le Pi 3 me faisait de l’oeil depuis un moment et j’ai craqué en voyant cet article: commandé immédiatement, le Pi 3 est arrivé samedi et j’ai bidouillé tout l’aprem. Cette première partie du guide est parfaite :thumbsup:

Seule différence notable avec les indications: j’ai du virer les lignes que tu as ajoutées dans /etc/dhcpcd.conf car le Pi n’arrivait alors plus à se connecter à Internet, no idea why, ça doit dépendre des configs des box Internet.

Suite envisagée: je vais essayer de voir comment faire pour que la manette soit détectée en branchement à chaud, pour l’instant j’ai remarqué qu’elle doit être branchée au boot du Pi pour que ça fonctionne.

Encore merci et vivement la suite !

2 « J'aime »

cool ! ça marche, je n’ai pas laissé (trop) de bêtises :wink:

Sur le réseau, c’est un peu bizarre…
j’imagine que tu as revérifié deux fois : bonne IP de ta passerelle (ta box en général),
sur le dns, peut-être passer sur les dns de google : 8.8.8.8

Pour la manette, il faut effectivement qu’elle soit branchée au moment ou le script de démarrage est exécuté. C’est à ce moment que xboxdrv va la reconnaître et configurer son utilisation (via les fichiers de configuration). Ce script est exécuté au démarrage et lors du switch d’application.

Attention, je risque de bouger un petit peu les scripts (je mettrai les dates d’édition en fin de post) pour corriger des petits trucs…

1 « J'aime »

Apparemment le truc à faire (je n’y connait pas assez en linux pour être sûr), serait de rajouter une règle dans le répertoire /etc/udev/rules.d, en faisant ça on peut assigner une action à la détection du pluggin de la manette xbox.

Il faut créer un nouveau fichier dans le répertoire et y mettre une règle en une ligne comme ci-dessous.

SUBSYSTEM==« input », ATTRS{idVendor}==« 054c », ATTRS{idProduct}==« c268 », ACTION==« add », RUN+=« /usr/bin/jscal.sh »

il faut que le idVendor et le idProduct corresponde au controlleur xbox et que l’action corresponde à un script qui relancerait xboxdrv :

Et pour récupérer les infos du controlleur : la commande lsusb saurait le faire

# lsusb
 Bus 005 Device 001: ID 0000:0000
 Bus 004 Device 006: ID 0a5c:2110 Broadcom Corp.
 Bus 004 Device 001: ID 0000:0000
 Bus 001 Device 001: ID 0000:0000
 Bus 002 Device 001: ID 0000:0000
 Bus 003 Device 001: ID 0000:0000

Ici dans le port numéro 4, le idVendor est 0a5c et le idProduct 2110

Sinon un autre truc possible peut être serait peut être de rajouter l’option « daemon » dans les scripts où on lance xboxdrv, ainsi c’est xboxdrv lui même qui fait une action sur la détection du pluggin d’une manette usb

sudo xboxdrv --config /home/pi/scripts/emupad.ini -D --detach --detach-kernel-driver --id 0 --deadzone 4000 --dbus disabled --daemon --next-controller -i 1 --deadzone 4000 --dbus disabled

Comme rien n’est testé du tout, si il faut je dis des bêtises tout du long.

Les liens où j’ai pu trouver ces pistes:
https://wiki.archlinux.org/index.php/Gamepad#Xbox_360_controller
https://wiki.archlinux.org/index.php/Udev#Writing_udev_rules
https://wiki.debian.org/HowToIdentifyADevice/USB

1 « J'aime »

Ah ! Et bien merci beaucoup pour le coup du rules.d, ça m’a l’air d’être exactement ce qui conviendrait, je vais tester ça ce soir si je trouve 10min et je vous fais un retour ici, ça pourra en intéresser d’autres ! :slight_smile:

Super bonne idée, mais :wink:

le principe, que ce soit pour Emulationstation ou pour Kodi, est que à leur démarrage, ils cherchent le périphérique d’entrée. Si Emulationstation ne le trouve pas, il va redemander à en configurer un autre, Kodi, lui va se lancer normalement (d’autant qu’il est pilotable de bien des manières). Dans les deux cas, si jamais on avait un système plug’n’play pour initialiser la manette, il ne servirait donc à rien une fois l’application lancée.

En allant au bout du raisonnement, pourquoi pas, mais, avant d’initialiser la manette, il faudra aussi vérifier l’état du fichier /home/pi/scripts/boot avant de l’initialiser de la bonne manière (emu ou kodi).

Ah oui je comprends ce que tu veux dire, la manette sera bien reconnue en hotplug mais ça ne permet pas de l’utiliser dans l’appli, j’imagine qu’au moins on peut utiliser les raccourcis pour lancer le switch d’application et reprendre le contrôle à partir de là.

Et sinon, qu’est ce que tu penses de l’option “daemon” pour xboxdrv ?
Apparemment ça permettrait de faire du hotplug même sur des applis qui ne le permettent pas à la base.

http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html

Alors, alors, l’option daemon (qui permet effectivement de pouvoir “rattraper la manette au vol” et de lancer le switch ou le reboot)…

Je l’utilisais sur mes précédentes installations. Mais depuis Jessie, qui fait cohabiter init.d et system.d, l’option daemon du xboxdrv est plutôt parfois capricieuse (lancement et arrêt). Bref, à 15 euros la manette, je n’ai pas cherché à le faire marcher à tout prix et j’en ai juste repris une.

Ce tutorial m’a l’air bien cool, alors merci déjà.

Ensuite, moi, personnellement, j’ai eu la chance d’avoir une configuration réseau sans le moindre souci avec mon Raspberry Pi 3. Tellement sans souci que je n’ai eu qu’à entrer le mot de passe du réseau wifi pour le connecter. Aussi pratique cela soit-il, j’ai poussé un peu plus loin le vice : j’ai demandé à ma Livebox de lui donner un nom DNS. Comme ça, maintenant, je tape un truc genre SSH raspberrypi pour m’y connecter. Ce qui, je pense, m’immunisera en prime de tout changement d’adresse IP dynamique.

Par contre, n’ayant pas de lecteur de cartes SD sous la main, j’ai pris une carte préchargée avec NOOBS, qui m’a du coup installé un Raspbian, qui, je suppose n’est pas la version à l’uranium allégé. À part un paquet de paquets pas forcément utile, ça a un gros impact ? Genre le bureau GNOME suffirait à bouffer suffisamment de puissance pour nuire aux bonnes performances de Kodi ?

Et je suis le seul à avoir un rpi-update à même pas 15 ko/s ?

1 « J'aime »

Tuto en cours et ça trace normalement au débit de mon adsl de merde…
par contre j’ai été obligé de rajouter
sudo apt-get install rpi-update
car j’avais un command not found sinon…

1 « J'aime »

Il y a un chouette pad bluetooth en ce moment sur Massdrop pour les gens interesses, j’ai un pad de la meme boite (le sfc30, pad snes) qui tourne nickel sur mon retropie.

1 « J'aime »

J’ai commandé cette manette sur aliexpress. Je devrai la recevoir sous peu. Les retours sur différents sites sont plutot bons.

Question: le cable usb sert uniquement à la charge, ou est-il possible de l’utiliser sans bluetooth?

Je cherche des manettes de petite taille adaptées aux mains de mes fils de 3 et 5 ans, et celle-ci m’a l’air nickel. Par contre ce serait pour jouer sur pc, et j’ai pas envie de m’emmerder avec du bluetooth.

Sur PC, branché en USB, il y a un mode pour que la manette soit détectée comme un pad 360.

Merci, du coup je sens que je vais en prendre deux.
Pour l’instant ils jouent avec ma vieille thustmaster firestorm dual power 3, que j’adorais mais dont le revêtement s’est barré, et surtout que je n’arrive plus à calibrer correctement (dans les jeux lego, impossible de courir vers la droite: en bout de course du stick, on est toujours à la marche).
l’autre idée c’était des vrais pads 360 mais c’est gros pour des petites mains.

Yep, c’est cool en l’état. Mais le nom, accordé par la Livebox, est du coup totalement virtuel pour ton rPi. Si demain tu en rajoutes en deuxième, ça risque de ne plus marcher aussi bien.

Pas de soucis là-dessus. Tant que l’environnement graphique n’est pas lancé. Le principe que je propose, dépouillé de l’environnement graphique, est d’avoir le minima pour jouer et profiter de ses média. L’usage « ordi » me semblant moins profilé pour une exploitation canapé / manette.

En général pas très rapide, mais peut-être pas à ce point.

Bien vu, je pensais qu’il était maintenant en standard

:heartpulse:

Question con peut-etre, mais il y a moyen de connecter plusieurs manettes en bluetooth sur le Pi?

Je suis en train de faire des essais, y compris avec des manettes différentes - enfin dès qu’elles arrivent… à priori oui. Simplement, pas sur.

J’ai 2 nes30. A priori j’ai du me planter quelque part dans le setting des touches : 2 des touches de la manette B polluent les input de la manette A.

check tes fichiers de conf (des pistes ici). Attention à la configuration en cascade (général, puis par émulateur).