Enfin la suite de la fabrication de cette nouvelle console portable. Passons à la partie logicielle, si vous n’êtes pas habitué à Linux et aux commandes SSH, ce n’est pas bien grave, prenez simplement votre temps avant d’entrer en action.
Installation du système d’exploitation
Tout comme le premier prototype de console portable, il va falloir installer la distribution Pixel de Raspbian.
Nous allons installer la version complète de Raspbian qui est l’OS de référence pour le RPI. Il vous suffit de télécharger l’ISO et de la déployer sur la carte micro SD de votre RPI via le logiciel Win32ImageDisk, comme cela a été le cas pour le projet de borne.
- Télécharger l’image de Raspbian
- Télécharger le setup de Win32ImageDisk
- Télécharger et copier à la main le répertoire contenu dans ce fichier (driver Waveshare 35a)
Configuration du système
Insérez ensuite la carte micro SD sur votre RPI et démarrez le en branchant alimentation micro USB ainsi que qu’un écran HDMI. Vous devriez arriver sur l’interface de Rasbpian après ce premier démarrage.
Lancez le terminal (via les menus en haut à gauche). Nous allons démarrer la gestion de la configuration du PI :
sudo raspi-config
Sélectionnez les commandes du config dans cette ordre :
- Resize SD (pour etendre le volume principal à la taille complète de la carte micro SD)
- Location changement (ensuite nous allons passer la langue et le clavier en français)
- Choissisez le Clavier FR
- Reboot pour prendre en compte les changements
Prenons le temps de mettre à jour le système (à faire dans le terminal) :
sudo apt-get update
sudo apt-get upgrade
sudo reboot
La machine va redémarrer une fois de plus mais notre base de travail est en place, c’est une première victoire.
Installation de Retropie
Occupons nous de lancer l’installation de Retropie (l’application qui gère tous les émulateurs).
sudo apt-get install -y git dialog
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
cd RetroPie-Setupchmod +x retropie_setup.sh
sudo ./retropie_setup.sh
La dernière commande lance un script .sh, vous verrez une interface vous permettant d’exécuter certaines commandes :
- Relancer le SH
- Choisir le point 3 : Autostart EmulationStation
- Choisir l’install de Samba Share (pour avoir le partage des dossiers Roms/Config/Bios avec Windows/Linux/Mac)
Installation des drivers de l’écran
Vous avez logiquement copié le répertoire LCD-SHOW à la racine de votre carte Micro SD. Exécutez les commandes suivantes en SSH (via le logiciel Putty par exemple) tout en ayant une connexion internet active sur votre RPI Zero W (via le Wifi par exemple) :
cd LCD-SHOW
Chmod +x LCD35-Show
./LCD35-show
Ajoutons ensuite l’écran au démarrage du Raspberry en modifiant le fichier config :
sudo nano /boot/config.txt
Allez jusqu’à la ligne dtooverlay… et changez là avec la ligne suivante :
dtoverlay=waveshare35a, speed=41000000, fps=50
Une chose est capitale à comprendre quand on fait une console portable avec un petit écran qui doit afficher Retropie ou Recalbox : La sortie GPIO ne gère pas l’OpenGL contrairement à la sortie HDMI.
On ne peut logiquement pas afficher EmulationStation (choix des émulateurs / jeux) sur ce type de périphérique. L’astuce pour y arriver, consiste à copier le flux d’images qui sort via le port HDMI (fb0) vers le port GPIO (fb1), pour cela il faut utiliser un programme tiers.
Il y en a plusieurs, j’ai personnellement choisi FBCP avec le premier prototype et la version SLIM que je vous ai présenté précédemment, tout du moins au début…
Ce genre de programme est un peu complexe à faire tourner et utilise pas mal de ressources du Raspberry. En cherchant un peu et en parlant avec un bricoleur padien sur le channel Discord du site, j’ai vu qu’une alternative existait : raspi2fb.
Ce dernier consomme moins de ressource et permet d’accroître la fluidité de copie (et donc la fluidité ressentie sur l’écran) de manière significative par rapport à FBCP.
Néanmoins, si vous rencontrez des difficultés, n’hésitez pas à essayer ‘fbcp’.
Voici les commandes (toujours en étant en SSH) pour l’installation de raspi2fb :
sudo apt-get install cmake
sudo apt-get install libbsd-dev
git clone https://github.com/AndrewFromMelbourne/raspi2fb.git
cd raspi2fb
mkdir build
cd build
cmake ..
make
sudo make install
sudo cp ../raspi2fb.init.d /etc/init.d/raspi2fb
sudo update-rc.d raspi2fb defaults
sudo cd /etc/init.d/
sudo nano raspi2fb
Avec cette dernière commande, modifiez la ligne suivante :
DAEMON_ARGS="--daemon --fps 60 --pidfile $PIDFILE"
sudo service raspi2fb start
Nous venons de faire un service avec raspi2fb et de le rendre automatique au démarrage du Pi. Si vous souhaitez avoir de détails sur le programme, n’hésitez pas à vous rendre ici.
Finish Him !
Yeah ! Nous arrivons enfin au bout. Redémarrez le Pi avec la commande suivante, vous devriez voir EmulationStation puis l’écran de détection de manette apparaître.
Sommaire du projet Console portable
- Fabriquer sa propre console portable : Matériel et vidéo de présentation21 mars 2016
- Fabriquer sa propre console portable : La partie software 8 décembre 2016
- Fabriquer sa propre console portable : Le point sur l'avancement 9 novembre 2016
- Fabriquer sa propre console portable : Présentation du prototype 23 janvier 2017
- Fabriquer sa propre console portable : Le design et l'impression 3D 23 mars 2017
- Fabriquer sa propre console portable : Montage et soudures 12 avril 2017
- Fabriquer sa propre console portable : Montage et soudures Part II 11 avril 2017
- Fabriquer sa propre console portable (v2) : Présentation et montage 14 juin 2017
- Fabriquer sa propre console portable (v2) : La partie software13 juillet 2017
- Fabriquer sa propre console portable (v2) : Le casse tête des écrans 7 septembre 2017
- Fabriquer ma propre console portable (v3) : Présentation 7 mai 2023
Coucou michel ;). Super projet. Je vais me lancer dans un projet similaire mais j ai quelques questions :
1- la manip que tu proposes résout elle complément le problème de fps sans degradation des couleurs
Voir lien : https://github.com/recalbox/recalbox-os/wiki/TFT-Screen-SPI-Bus-%28EN%29
2 – pourrais tu donner la procédure pour installer recalbox au lieu de retropie? Je suppose que seulement quelques lignes changent mais lesquelles?
Bonne journee
Salut paduc’ j’aimerais savoir si cette écran conviendrait pour la console sachant que je vais utiliser un rasbperry pi3 b d’ailleur est il asser puissant pour la console lien de l’écran:Waveshare 3.5inch RPi LCD (B) 320×480 Résolution Écran tactile IPS TFT Écran Conçu pour toute révision de Raspberry Pi directement enfichable Meilleur Affichage
Oui, il convient parfaitement, aucun problème.
Hey et aussi peut on avoir un os sur le rasbperry et peut on changer a notre guise entre recalbox et retropie merci.
Pas à ma connaissance, le mieux étant de mettre un OS sur deux cartes SD séparément, suffira de switcher entre les deux.
Cool niveaux batterie ça change quelque chose ?
Logiquement, plus l’écran est grand, plus il consomme…
faudrait il prendre plus puissant si oui combien (en mA) et est il compatible avec le power
boost ?merci
Oui, c’est compatible avec le PowerBoost, car ça n’a aucun rapport :)
Et si je prend un power boost avec un port universel Est-ce que ca marcherait merci
Je ne crois pas qu’il existe un Powerboost avec un port universel.
Peux-tu condenser tes questions en un seul commentaire la prochaine fois stp ? ;)
Bonjour oui excuse moi mais ces questions me sont venues petit à petit
Bonjour Paduction !
j’ai un petit problème avec l’écran (j’ai un waveshare tout comme toi mais dans sa version 5pouces) et je ne sais pas pourquoi mais impossible d’obtenir une image sur l’écran quand le RPI0W est allumé (que ce soit les commandes lines ou emulationstation). Se pourrait-il que cela vienne des soudures, car même si j’ai mal installer raspi2fb, en commad line je devrais voir quelque chose non ?
sinon si c’est normal, alors pourrais-tu re-détailler la partie raspi2fb ou fbcp car j’ai une erreur lors de l’installation mais je ne sais pas si elle est conséquente…
Merci pour ton aide
Hello Ssilvack,
Un 5 pouces qui n’est pas relié par HDMI ? C’est bizarre mais cool si ça existe en tout cas.
On ne voit pas ou peu les commandes line un fois le duplicateur d’output installé. Par contre si tu ne vois rien à ton écran, il n’y que deux possibilités :
– Tu as mal installé le logiciel de duplication (est il actif au démarrage ?)
– Tu as mal soudé les pattes de l’écran
Je suis conscient que la partie sur les écrans est délicate à mettre en place et c’est pourquoi j’ai fait un article spécial à ce sujet, je t’invite à jeter un œil, il pourra peut être t’aider :
https://paduction.com/fabriquer-sa-propre-console-portable-v2-passage-a-lecran-de-3-2-pouces_50021.html
Bon courage à toi pour la suite en tout cas ;)
Après moulte recherche je pense que cela viens de raspi2fb, dans le systemctl quand je regarde j’ai « raspi2fb@1.service » qui n’est pas actif, mais impossible de l’activer =/.
Hey Pad !
Je viens de découvrir tout ton taff en fait et je me demande comment j’ai pu passer à côté pendant tant de temps.
Je t’avoue ne pas être allé fouillé jusque dans les tréfonds du site mais malgré son épaisseur est ce que tu as pour projet de faire une console portable à base de Raspberry Pi 3B ?
Je me demandais parce que avec 1G de Ram on doit pouvoir être bien tranquille et même si j’ai 2/3 bases je doute de pouvoir le faire dans mon coin sans tuto, alors est ce que c’est dans tes projets ? Après je suis un néophyte donc tu va peut être me dire que c’est impossible et que ça demande trop de choses mais bon je tente !
Merci à toi !
Hello Naka,
On m’a posé de nombreuses fois la question. Le Raspberry 3 est plus puissant mais consomme beaucoup plus d’énergie et cela impacte forcement sur l’autonomie de la machine. En plus de ça, ce PI3 est gros et faire une grosse machine portable ne m’intéresse pas.
Cependant, je travaille sur un autre projet (transportable) qui utilisera lui le Raspberry Pi 3, mais rien à voir avec une console portable type PSVita. Je présenterai ça dès que j’aurais fini tous les autres projets ;)
Bonjour Pad !
Felicitation pour tout ce boulot ! Je me demandais… pourquoi ne pas prendre un mini controlleur 8BBITDO bluetooth ? Sa regler le probleme de port usb non étant donner que le RPI0 le possède en natif ?
Le projet continue d’avancer ? Je suis curieux de voir ce nouveau modèle « plus fin, plus puissant » =)
Merci en tout cas pour prendre le temps de partager tout ça !
Hello Jeremy,
Réponse un peu tardive et je m’en excusemais oui, si tu regarde parmis les photos de l’article, tu peux voir la manette 8BITDO, c’est ce que j’ai fait depuis le début, je n’ai pas choisi cette solution à cause de deux choses :
– Il faut une alimentation également pour la manette :(
– Il faut que la manette soit activée à chaque démarrage de la machine, c’est beaucoup trop lourd je trouve.
En espérant avoir répondu à question, pour la suite de la console, je n’ai pas trop avancé encore pour le moment. Va falloir que je m’y remette…
Salut paduction
Je pourrais savoir comment peut on utiliser des jeux avec la console.
Hello, il suffit de les ajouter aux bons dossiers de Retropie ou Recalbox, je te renvoie à la documentation de ces derniers pour bien comprendre le processus ;)
Salut , as tu déjà mis en téléchargement les fichiers pour la coque slim de ta console portable ?
Hello, non malheureusement, elle n’est pas terminée pour le moment.
Salut paduc’ et oui je reviens après quelques mois et avec une nouvelle galère et ce serait pour savoir si je pouvait t’appeller sur discord demain ou après demain merci.
Discord est ouvert en permanence, n’hésite pas à poser ta question et je me ferai un plaisir d’y répondre si je le peux ;)
Salut paduction je suis en pls face à mon raspberry pi 3 B car je n’arrive pas à installer retropie ou recalbox dessus???????????? pourrait tu m’envoyer un fichier déjà fait ou j’aurais juste à copier sur ma carte sd car la en peu plus ????????????
j’ai voulu te poser la question depuis mais je n’ai pas pu .comment faire si on n’a pas d’imprimante 3d
Hello,
Tu peux passer par des sites qui propose ce genre de service. Dagoma, Sculpteo…
bonjour,
j’ai télécharger l’image de raspbian mais lorsque je veux l’écrire sur ma carte SD a l’aide du logiciel que tu nous a donner elle n’apparaît pas dans les proposition je n’arrive donc pas à l’écrire peux-tu m’aider stp
Hello Dana,
Si j’ai bien compris ta demande c’est ta carte SD qui n’est pas détectée par Win32ImageDisk. Il faut voir si elle est bien reconnu par le système (windows). Au pire, redémarre Win32ImageDisk après avoir branché ton lecteur de carte SD.
En espérant t’avoir aidé ;)
Salut, merci encore pour ton tuto.
j’ai juste un petit souci avec mon écran.
La configuration se passe bien mais quand j’ai fini de tout régler, mon Raspberry pi 3b+ redémarre et j’ai en sortie HDMI Retropie et sur mon écran Kuman TFT 3.5 Raspbian puis un écran noir.
Aurais-tu une idée du problème…?
Merci encore pour tout ce jolie travail.
Hello Mattpok,
Ton problème doit venir de la copie du flux de sortie qui ne doit pas être fonctionnel. Je t’invite à refaire les quelques lignes de commande avec FBCP, si ça ne marche essaye avec Raspi2fb .
Tiens nous au courant ;)