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

Par  | Le  | 29 Commentaires
DIY

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

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

Ne rater pas les autres articles

  1. Fabriquer sa propre console portable : Matériel et vidéo de présentation
  2. Fabriquer sa propre console portable : Le point sur l’avancement
  3. Fabriquer sa propre console portable : La partie software
  4. Fabriquer sa propre console portable : Présentation du prototype
  5. Fabriquer sa propre console portable : Le design
  6. Fabriquer sa propre console portable : Montage et soudures
  7. Fabriquer sa propre console portable (v2) : Présentation et montage
  8. Fabriquer sa propre console portable (v2) : La partie software
Tags : 3ds, bluetooth, console, diy, fbcp, powerboost, psvvita, raspberry, rpi, rpi zero w, switch, wifi,

Commentaires

  1. 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

  2. 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. PaductionPaduction Auteur de l'article

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

  3. Ilikeatrain

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

    1. PaductionPaduction Auteur de l'article

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

  4. 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

  5. PaductionPaduction Auteur de l'article

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

  6. 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. PaductionPaduction Auteur de l'article

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

  7. 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. PaductionPaduction Auteur de l'article

      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…

    1. PaductionPaduction Auteur de l'article

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

  8. Guillaume

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

  9. 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. PaductionPaduction Auteur de l'article

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

  10. 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 😥😥😥

  11. 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

  12. 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

Laisser un commentaire

Coucou toi,

En postant ton commentaire, essaye d'être le plus sympatique possible dans tes propos et dis au minimum "bonjour" si tu souhaites poser une question ;)

Merci pour ta participation