Fabriquer sa propre console portable (v2) : La partie software

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.

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-SHOWChmod +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.

32 réflexions sur « Fabriquer sa propre console portable (v2) : La partie software »

  1. Malcom

    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

  2. Ilikeatrain

    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

  3. Ilikeatrain

    Hey et aussi peut on avoir un os sur le rasbperry et peut on changer a notre guise entre recalbox et retropie merci.

    1. Paduction Auteur

      Pas à ma connaissance, le mieux étant de mettre un OS sur deux cartes SD séparément, suffira de switcher entre les deux.

  4. Ilikeatrain

    faudrait il prendre plus puissant si oui combien (en mA) et est il compatible avec le power
    boost ?merci

  5. Ilikeatrain

    Et si je prend un power boost avec un port universel Est-ce que ca marcherait merci

    1. Paduction Auteur

      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 ? ;)

  6. Ssilvack

    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

  7. Paduction Auteur

    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 ;)

    1. Ssilvack

      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 =/.

  8. Naka

    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 !

    1. Paduction Auteur

      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 ;)

  9. MARTIN Jeremy

    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 !

    1. Paduction Auteur

      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…

  10. Souidi zaccharia

    Salut paduction

    Je pourrais savoir comment peut on utiliser des jeux avec la console.

    1. Paduction Auteur

      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 ;)

  11. Guillaume

    Salut , as tu déjà mis en téléchargement les fichiers pour la coque slim de ta console portable ?

  12. ilikeatrain

    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.

    1. Paduction Auteur

      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 ;)

  13. Ilikeatrain

    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 ????????????

  14. yousef

    j’ai voulu te poser la question depuis mais je n’ai pas pu .comment faire si on n’a pas d’imprimante 3d

  15. Dana

    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

    1. Paduction Auteur

      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é ;)

  16. Mattpok

    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.

    1. Paduction Auteur

      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 ;)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *