Problème avec 2 écrans hdmi sur pi5

Bonsoir tout le monde.

J’aimerais faire appel à vos lumières car après m’être bien creusé la tête dans tous les sens, je n’y vois plus très clair.

Ma configuration :
Un raspberry pi5 8gb
Une carte SD qui boote sur PINN
Un ssd sur lequel (via PINN) j’ai installé plusieurs OS. (librelec, moode…)

Le projet :
Créer un centre multimédia de salon, qui me permettrait, entre autres, de regarder des films (librelec) ou d’écouter de la musique (moode). Vous voyez l’idée.

Le hic, c’est que le pi est dans mon salon, branché en hdmi à un vidéo-projecteur. Et comme je n’ai pas envie d’allumer ledit VP à chaque fois, j’ai fait l’acquisition d’un petit écran waveshare tactile en 7". Pratique, en théorie, pour choisir l’OS sur lequel booter ou accéder à moode.
Seulement voilà. Quand je connecte les 2 écrans (Videoproj + waveshare). Rien ne va.
Naïvement, je m’étais dis que même si c’était pas forcément plug & play, j’aurais direct la même image sur les 2 périphériques. Mais en fait pas du tout… J’ai beau changer l’ordre de branchement (hdmi0/1). Rajouter quelques lignes au config.txt dans PINN… Je ne m’en sors pas. Et plus le temps passe, moins je comprends ce que je fais :pensive:.
Aussi, j’en appelle à vous pour un truc qui, théoriquement, me semble pas hors de portée :

Comment faire pour que mes 2 écrans (1VP + 1 tactile 7" waveshare) affichent la même image ?
J’ai cru comprendre que pour PINN c’était pas possible, mais librelec, moode etc.?

Je vous remercie d’avance !

Ce que tu cherche à faire est le mode « miroir », ce n’est pas possible facilement sans gérer les sorties. Mais ton problème sera la résolution. Un écran de 7" à une résolution basse (800x480, 1024x600, …) et ton projecteur des résolutions hautes (1280x720, 1920x1080, 4K…), Alors ton écran de 7" va baisser la résolution de ton projecteur pour s’ajuster.

SI tu es en mode « desktop », tu auras de faciliter à activer ce mode, mais ceci peut cause des problèmes avec le « Touch ». Car la position peut etre mal géré, si tu es en USB ce sera plus simple, par le GPIO ce sera peut-être plus dur.

La solution la plus simple est d’avoir un « switch », soit tes en mode projecteur, soit en mode 7", pas les deux en même temps. Dans le boot, laisse en « auto » pour que le RPi ajuste l’affichage selon l’écran présent. Mais démarre toujours l’écran AVANT de démarrer le RPi.

Sinon laisse comme tu le veux avec ton projecteur, et active les accès à distance. Kodi possède une interface Web pour gérer l’ensemble, à 80% complet (pas d’option avancés, etc…) pour les autres, c’est à voir.

La dernière solution reste l’usage de Frame Buffer (FB), qui consisterais de copier la sortie principal (ton projecteur) sur la sortie secondaire (7) en copiant le Frame Buffer, soit de copier le fb0 sur le fb1 avec un resize pour s’ajuster à la sortie de l’écran. Mais ceci requière des modifications à la config du système plus complexe, mais pas impossible et surement tu devra « downgrade » vers Buster ou Bulleyes de Raspbian pour y avoir pleinement accès sans trop de problème.

Je t’explique la théorie sur le sujet, je n’ai pas de RPi 5 (ou 4), alors je ne peut pas tester dans ta config.

Toujours démarrer l’écran AVANT le RPi pour s’assurer d’avoir un affichage détecté et pris en charge. J’ai remarqué que le RPi a une procédure sur le HDMI assez strict qui peut causer des problèmes avec certains écrans si celle si est démarré après le RPi.

Salut, merci pour la réponse, c’est cool !
Je précise rapidement 2 ou 3 choses à évacuer :

L’écran de 7" est branché en HDMI + USB, pas via le GPIO
Ce qui veut aussi dire qu’il est alimenté par là. Donc pas vraiment possible de l’allumer avant le pi comme tu le conseilles… (Si ça peut vraiment aider, alors je peux envisager une alim dédiée mais j’éviterais bien, ça me rajoute un câble)

Côté projet, je ne veux pas vraiment un mode miroir à 100%, dans le sens où je n’ai jamais besoin des 2 écrans en même temps.
Le petit écran doit me servir pour moode et aussi (surtout) pour choisir l’OS quand je boote sur PINN sans avoir à allumer le vidéoprojecteur.

Je m’explique pour que tout soit clair :
PINN, qui permet d’installer et gérer plusieurs OS à la fois, se lance au démarrage du PI. Il donne ensuite 10 sec. pour choisir l’OS sur lequel booter. Sinon, il le fait sur le dernier utilisé (ou un paramétré par défaut).
Mettons qu’un jour j’écoute de la musique sur moode et que le lendemain je souhaite voir un film sur librelec, j’ai besoin d’un affichage pour être sûr de choisir le bon OS.
Or, j’aimerais bien éviter d’allumer le vidéoproj pour ça. DONC : l’idée est de faire le choix sur l’écran d’appoint, puis basculer sur Vidéo-projecteur si film / rester sur 7" si musique.
Je n’utilises jamais les 2 écrans en même temps.

Pour le moment, je fais ça en « manuel ». Concrètement, je débranche/branche l’écran en fonction. Comme si je n’avais qu’un port HDMI. Mais puisque le pi5 en a 2… je suis sûr que je peux faire mieux que ça ! :smiley:

Quand tu parles d’un « switch », tu parles d’un matériel supplémentaire ou d’un réglage possible ?
Est ce que dans les config.txt des différents OS auxquels je peux accéder via PINN je peux leur dire sur quel port HDMI afficher ?

Durant le démarrage, il y a quelques secondes, avec « l’arc-en-ciel » qui permet au RPi de configurer l’affichage. Waveshare ont des produits fiable pour utiliser avec les RPi. SI tu es en HDMI et USB, je crois savoir quel écran tu as, je l’ai moi aussi.


Pour la sélection du OS, je n’utilise pas ce genre de fonction sous RPi, alors si ton « touch » marche, tant mieux, sinon faut voir comment le rendre compatible avec le système qui gère le Multiboot. Sinon pour ton « projet » c’est réalisable.


Je sais que le RPi à deux écrans, et si tu désire démarrer un OS sur un écran et un autre sur l’autre, selon le choix, il y a certaines choses possibles, en théorie.

SI chaque OS à sont écran et peu de chance de devoir passer sous un autre, tu peux les modifier pour utiliser la sortie vidéo souhaité. Vu que l’écran 7" sert de sélection du OS, il serait alors le « master » (Écran 0). Tu peux alors spécifier aux OS qui l’utiliserons que la sortie est sur ce port HDMI spécifiquement avec une résolution spécifique. ET tu fait une configuration pour utiliser l’écran secondaire, (Écran 1) pour les OS qui utiliseront le projecteur.

Garde un accès SSH sur tout les OS’ pour te faciliter le debug en cas de pépin avec les affichages, pour aller corriger les config au besoin.

Si le OS ce charge à neuf après le choix du OS, il peut avoir de bonne chance que l’écran soit pris en charge par ce dernier, surtout avec des config « en dur » dans le système. Vu qu ele 7" serais l’écran de base, peut ou pas de modification serais requise, bref, le premier écran a démarrer seul sera la config de base.


Quand je parlais de « switch », je ne parlais pas au niveau logiciel mais matériel. Il est possible de trouver des appareil pour changer la destination d’une source HDMI. Le faire en logiciel serais compliqué car ça imposerais un code a inclure dans tout les OS et trouver une façons de le gérer (touche physique, combinaison au clavier, …) et ce baserais que sur une gestion logiciel, ce qui repose sur les capacité du OS à changer d’écran par ligne de commande sans devoir recharger plus.

Ce n’est pas une solution (switch physique) qui est fiable, mais qui peut être pratique si tes OS seront utilisé avec les deux écrans un moment ou l’autre. Il trouve sont vrai usage au choix AVANT le démarrage du RPi.


Techniquement, la solution la plus simple est simplement laisser en automatique (la config des écrans) et d’avant partir le RPi, sélectionner la destination de l’affichage. Alors le switch physique serais pratique. Avec un commutateur on/off en USB pour les contrôles (désactiver le 7" et sont touch en sélectionnant la sortie projecteur et mettant sur off la switch USB du touch) selon l’usage de sortie.

Cette solution reste la moins complexe a intégrer vu qu’elle se repose que sur du hardware. Tu aurais 3 boutons; 1 pour passer de mode Projecteur/7" et 2 pour les USB, soit la souris (projecteur) et touch (7").

Laisser les 2 USB actifs ne changerais pas grand chose, mais l’écran 7" serait alimenté, sans affichage, et le touch réactif en mode projecteur, mais tu peux garder la souris en mode 7" sans problème, offrant une solution de contrôle secondaire. Alors un seul interrupteur on/off USB serais requis pour le USB du touch pour le désactiver en mode projecteur.


Ton problème ne ce limite pas au RPi, une console de jeu aurais le même genre de difficulté, sans la possibilité de le manipuler. La switch physique serais alors la seul solution viable. Avant dans le temps du Analogique, il aurais été facile de faire ça. (et ce serais une solution si tu converti le HDMI en Analogique, mais avec une perte de qualité)

Vu qu’il y a changement de résolution, et que même a résolution identique il aurait un « changement d’identité » et sommairement dans des cas une perte de lien, il n’est pas facile de gérer le changement d’écran dans un monde numérique, en cours d’exécution.