Avant d’attaquer ce didacticiel, vous devez avoir lu / regarder le premier article sur les pièces à utiliser pour la conception de cette console portable. L’étape d’aujourd’hui consistera à installer le plus proprement possible la partie logicielle afin de pouvoir d’ors et déjà jouer à notre console avant de passer à l’étape suivante.
Les différentes problématiques ?
Je vous le dis en avance, il va falloir mettre un peu les mains dans le cambouis pour ce tutorial mais je vais essayer de vous guider le mieux possible. Il va falloir procéder en plusieurs étapes dont les principales sont les suivantes :
- Installation du système d’exploitation
- Configuration du Raspberry Pi
- Installation des drivers de l’écran de l’ordinateur
- Installation de Retropie / EmulationStation (qui gère les émulateurs ainsi que l’interface)
Les différentes problématiques ?
Si comme moi, vous avez finalement choisi un RPI A plus ou même un RPI Zéro, vous allez devoir vous équiper en conséquence pour utiliser correctement votre mini PC pendant qu’on le configure. Nous allons utiliser un écran externe ou une connexion SSH (via putty par exemple) pour le moment avant de passer sur l’écran portatif. Pour ma part j’ai utilisé ceci :
- Un convertisseur USB vers Ethernet (indispensable pour les modèles Zéro et A plus
- Une Alimentation Micro USB
- Une carte Micro SD
- Un câble HDMI pour sortir sur un écran externe
- Un clavier USB / Bluetooth (optionnel)
Installation du système d’exploitation
Nous allons installer la version complète de Raspbian qui est l’OS de référence pour notre RPI. Il vous suffit de télécharger l’ISO pour de la copier 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
Configuration du système
Insérez la carte SD sur votre RPI et démarrez le en branchant alimentation microUSB. Vous devriez arriver sur l’interface de Rasbpian après ce premier démarrage. Lancez le terminal.
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 prendre tout le volume de la carte)
- Location changement (ensuite nous allons passer la langue et le clavier en français)
- Clavier FR
- Reboot (Nous pouvons relancer la machine pour appliquer les modifications)
Prenons le temps de mettre à jour le système (à faire dans le terminal) :
sudo apt-get update
sudo apt-get ugrade
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 l’écran
Le RPI possède plusieurs sortie vidéo. Nous connaissons tous la sortie HDMI sur lequel nous travaillons actuellement mais il y a aussi la connectique SPI qui va servir à alimenter et afficher notre petit écran. Si vous n’avez pas encore brancher votre écran Tontec, c’est maintenant où jamais ;)
Faites évidemment tout ceci avec votre machine éteinte et l’alimentation débranchée. Laissez votre câble HDMI branché, car comme vous le verrez, l’écran Tontec lui, n’affichera rien. En effet, il va falloir installer les drivers de l’écran pour qu’il puisse fonctionner.
cd /boot/overlays
sudo rm mz61581-overlay.dtb
sudo wget http://www.itontec.com/mz61581-overlay.dtb
sudo reboot
On va dire à Raspbian de booter directement sur notre écran :
sudo nano /boot/config.txt
Décommentez la ligne suivante (en supprimant le ‘#’) pour activer la sortie SPI :
#Dtparam = SPI=ON
Ajouter la ligne suivante juste après la précédente ligne :
DTOverlay=MZ61581
Ajoutez et ou décommentez les lignes suivantes à la fin du fichier :
sudo nano /boot/config.txt
# definit le mode de sortie d'écran sur DMT
hdmi_group=2
# Adapte avec le bon mode (définition + rafraîchissement)
hdmi_cvt=480 320 60 1 0 0 0
hdmi_mode=87
# Definit les caractéristique de l'écran
# rotate (90 ou 270 si vous avez un problème)
# speed = 80000000 pour notre écran
# Nombre d'image par seconde
dtoverlay=MZ61581,rotate=270,speed=80000000,fps=60
Faites Ctrl+X (fermer)
Il vous demande si vous voulez sauvegarder, évidemment appuyer sur « y » puis « entrer » pour valider.
Maintenant que tout est en place, nous allons indiquer à l’OS de « sortir » sur le petit écran. Pour cela il va falloir modifier le fichier de config de l’UI :
sudo nano /usr/share/x11/xorg.conf.d/99-fbturbo.conf
Changer alors la ligne fbdev « /dev/fb0 » en « /dev/fb1 »
0 étant la première sortie vidéo à savoir l’HDMI, 1 étant la seconde source à savoir la sortie SPI, donc notre petit écran.
Éditons maintenant le fichier cmdline.txt :
sudo nano /boot/cmdline.txt
A la fin de la ligne (oui, sur la même ligne), ajoutez le texte « fbcon=map:10 »
Faire un break
Oui, je sais c’est assez indigeste comme tuto, d’où la nécessité de faire un petit break. Quoi de mieux que de me rejoindre sur Discord pour discuter un peu ;)
Installation de retropie
On va maintenant s’occuper de lancer l’installation de retropie (la surcouche 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 le 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 (avoir le partage des dossiers avec windows)
Finish him
Félicitation, si vous avez bien suivi le processus ci-dessus, vous devriez prendre une aspirine et voir EmulationStation au démarrage de votre RPI. Si c’est le cas félicitation, si ce n’est pas le cas plusieurs solutions s’offre à vous avant de vous inquiéter :
- Reprendre du départ la procédure, il n’y a finalement rien à perde ;)
- Laissez un commentaire en dessous de cet article, je m’efforcerai d’y répondre si je le peux
- Venir faire un tour sur le chat Discord pour en parler
C’était la partie la plus délicate de cette suite de tutos. La prochaine étape arrivera tout bientôt.
N’hésitez pas à me laisser un commentaire si vous avez des remarques.
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
C'est vraiment un super projet!
J'ai hate hate hate de voir la suite car je pense en réaliser une également!!!!!!!!!!!!!!
@Anachris : Je suis pas loin d'avoir fini le projet. Les articles vont suivre assez rapidement ;)
Trop hâte de voir le résultat, c'est vraiment un super projet
Ca devient cossu là !
Bonjour
j'ai découvert le projet à travers youtube.
hâte de voir la fin et ça donne bien envie de se lancer dans l'aventure.
merci pour le partage de ce projet
@Vaa : Merci ;)
@Tanjju : N'hésite pas, il faut se lancer dans l'aventure ;)
ouaip je vais déjà commencer par le plus simple: monter un raspberry avec recalbox ou retropi
ensuite je vais attendre la fin de ton projet :)
C'est un très bon début ;)
Bonjour Paduction,
Merci pour tes explications :-)
Vivement la suite, d'ailleurs ce sera au format Youtube ?
@foxadn : ce sera en vidéo et sous forme d'article écrit. La partie electronique peut difficilement être expliquée correctement en vidéo. Mais j'essaye de faire le plus possible en vidéo, je sais que ce format plaiî plus aux lecteurs.
Comment exprimer la gratitude que j'ai envers Paduction… impossible… je vais devoir me contenter d'un merci…
Un grand merci à @Paduction pour son aide apportée sur le chat de Discord (dans la rubrique Briocolage https://discordapp.com/channels/172081809301962752/263601605558009857)
Grace à lui j'ai pu installer l'écran de marque Kuman (Ecran tactile, 3,5" trouvable sur un site dont le nom représente un fleuve)
Je me permets de poster ici un résumé de ce qui a été fait hier.
pour cette installation, on va considérer que vous en êtes à l'étape "Installation de l'écran" du tutoriel de Paduction
copiez le fichier driver fourni (LCD-show-160701.tar.gz) sur la carte SD (perso, j'avais copié le répertoire driver après avoir décompressé le fichier LCD-show-160701.tar.gz depuis windows… ca m'a évité la commande tar)
rendez vous sur l'interface console
cd /boot
sudo tar zxvf LCD-show-160701.tar.gz
cd LCD-show/
sudo ./LCD35-show
pour info, le fichier LCD35-show contient les commandes suivantes
sudo mkdir /etc/X11/xorg.conf.d
sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/
sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/tft35a.dtbo
sudo cp -rf ./usr/99-calibration.conf-35 /etc/X11/xorg.conf.d/99-calibration.conf
sudo cp -rf ./usr/99-fbturbo.conf /usr/share/X11/xorg.conf.d/
sudo cp ./usr/cmdline.txt /boot/
sudo cp ./usr/inittab /etc/
sudo cp ./boot/config-35.txt /boot/config.txt
sudo reboot
de la reprendre le tutoriel à "sudo nano /usr/share/x11/xorg.conf.d/99-fbturbo.conf"
si vous n'avez pas de traces de x11 (ou X11)
sudo apt-get install xorg openbox
au moment de l'"Installation de retropie"
parfois certaines librairies vous manquent :
sudo apt-get install -y libsdl2-dev libboost-system-dev libboost-filesystem-dev libboost-date-time-dev libboost-locale-dev libfreeimage-dev libfreetype6-dev libeigen3-dev libcurl4-openssl-dev libasound2-dev libgl1-mesa-dev build-essential cmake git
(attention à la faute de frappe)
sudo apt-get update && sudo apt-get upgrade
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
chmod +x retropie_packages.sh (pas sur de l'utilitéd e la chose, mais je l'ai fait quand même)
sudo ./retropie_setup.sh
pour l'envoyer que sur le petit écran
git clone –depth=1 https://github.com/AndrewFromMelbourne/raspi2fb.git
sudo apt-get install cmake
sudo apt-get install libbsd-dev
mkdir build
cd build
cmake ..
make
sudo make install
sudo cp ../raspi2fb@.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable raspi2fb@1.service
sudo systemctl start raspi2fb@1
Reboot ;)
Joie
après dans les options j'ai installé les packages qui m'intéressaient pour les consoles et j'ai copié les roms depuis windows dans
RASPBERRYPI
oms
Merci pour ton message, je suis sur que ça va en aider plus d'un. Je compléterai l'article dès que possible.
Bonjour
@willygeek : et ben coucou…
Hello,
je suis curieux, votre écran fonctionne en OpenGL (EmulationStation l'utilise) sans utiliser raspi2fb ?
Non pas d'OpenGL , c'est le problème quand on passe par le GPIO. Il faut utiliser un programme de copie de flux vidéo (comme raspi2fb par exemple) ou passer pas la sortie HDMI. Plus la résolution est grande, plus il est difficile d'avoir un résultat fluide.
Certains système de copie sont plus performant que d'autres également, il faut le bon ;)
Salut Paduction !
Un petit message pour signaler que la ligne :
~$ sudo apt-get update && sudo apt-get upgrade
équivaut à :
~$ sudo apt-get update
plus
~$ sudo apt-get ugrade
donc si l'on suit ton tuto à la lettre on effectue deux fois de suite l'installation des mises à jour. Inutile donc.
Sinon encore bravo pour ce projet et merci de le partager avec nous !
@ben : En effet, bien vu pour cette coquille, c'est pas bien méchant mais c'est inutile, j'ai corrigé
Merci pour ton commentaire ;)
Ah ça me rassure (malheureusement), je pensais être passé à côté d'un truc.
raspi2fb est le meilleur (éviter fbcp), je l'avais encore un peu amélioré avec l'aide de l'auteur, et j'avais tenté d'implémenter le vsync (car le tearing est super violent sur certains jeux). Sans réel succès.
Dans l'attente, j'utilise un écran composite, car je ne supporte pas le tearing du à raspi2fb.
Les stocks partent super vite donc je n'ai pas traîné ;)
Je l'ai pris chez pi hut, la référence pour les stocks de Raspberry Pi Zero ;)
https://thepihut.com/products/raspberry-pi-zero-w
Que signifie "Décommentez la ligne suivante (en supprimant le '#') pour activer la sortie SPI :"
Quand complètera-tu l'arcticle pour le kuman?!
Bonjour Flavien (toujours bien de dire bonjour ;))
Décommettez signifie supprimer le # en début de ligne ex :
# mon commentaire devient :
mon commentaire
Ce qui fait que le "code" est interprété
Pour le Kuman, tout est dans le commentaire de @Critters un peu plus haut.
Bon courage à toi ;)
Bonjour Paduction, ce projet est extraordinaire et je m'en inspire pour construire mon propre Raspberry portable avec Recalbox.
Quand posteras-tu les prochains chapitres ? J'ai hâte de voir comment tu as intégré le son et la batterie.
Pour l'écran, est-ce un problème qu'il prenne tout le GPIO ? Comment feras-tu pour brancher le reste au Pi ?
Bon courage pour la suite, on attend le résultat avec impatience ;)
@Biloutage : Merci pour ton commentaire, j'essaye de faire au plus vite mais ma vie personnelle est quelque peu chargée en ce moment :) Promis je me dépêche ;)
Comment installer recalbox à la place de retopie?
@Flavien : Bonjour (il faut dire un minimum bonjour ici, c'est la dernière fois que je le dis…), tu peux installer recalbox mais il faut que tu partes de leur OS, c'est à dire installer directement leur ISO sur la carte SD, je t'invite à lire leur documentation officielle disponible ici même : https://github.com/recalbox/recalbox-os/wiki/Installation-%28FR%29
Bonjour,
concernant Recalbox,
J'ai testé de différentes manières, mais systématiquement, je perdais la duplication sur le petit écran (la partie HDMI était bien opérationnelle, mais ce n'était pas le but.
J'ai donc opté (pour le moment) à 2 cartes SD : une avec Recalbox sur le grand écran (parce que j'aime bien Recalbox) et une carte avec Retropie pour jouer en portable.
Pour info (qui n'ont rien à voir avec Recalbox), au niveau de la batterie, j'ai acheté un chargeur de téléphone externe, mais c'est très (trop ?) gros… ca passe car ca ne gene pas les mains… MAIS ca fait gros à l'arrière.
je pense que je recommencerais le processus, mais avec un écran qui se branche via la nappe et non plus via le GPIO (à cause de la hauteur)
bonjour j’y suis presque avec un écran 3.5 no name mais j’ai besoin de vos lumières lol j’ai raspbian qui démarre bien sur le 3.5 et rétropie se lance toujours sur Hdmi les 2 sont sur la même sd rétropie sous raspbian qu’en pensez vous je pense que ça doit se jouer au niveau config.txt je pense le driver 3.5 est bien installé.Merci d’avance.
Bonjour,
Je n’ai pas compris, quel est ton problème exactement ?
Bonjour;
Désolé j'oublie à chaque fois
@Flavien : Pas de soucis ;), soit le bienvenue.
@Critters : Tu passes par les mêmes étapes que moi :)
C'est pour réduire le volume que c'est un peu plus compliqué mais avec le Powerboost de Adafruit et une batterie Lithium de drone, ça devrait le faire ! Tiens nous au courant.
Bonjour je tiens d'abord à remercier paduction et le commentaire de Critters qui m'a permit de faire fonction retropie sur un écran de lcd de chez kuman.
Pour complété le commentaire de Critters on peut ammélioer la vitesse de rafraîchissement de l'écran 3,5' de kuman en insérant dans le configs.txt
Dtoverlay=tft35a:speed=27000000,fps=60.
De plus j'aurais une question: Comment vous avez réussit à mettre des jeux pal en français sous retropie ( dans votre exemple final fantasy vii) cela m'aiderait vivement.
@DonGamer : Hello et content que tu es pu t'en sortir ;)
Pour ce qui est de Retropie, il te suffit de mettre les bios de la Playstation et de posséder la/les roms en FR et de les mettre dans le bon repertoire sur ta carte Micro SD ;)