Afficher écran SPI et hdmi en même temps

Bonjour à vous!

Je viens d’avoir un joli cadeau d’anniversaire : pi5 8g Ram, avec boîtier écran 3.5 pouces intégré (3.5 inch RPI Display) directement branché sur les pins de la Pi 5.
J’ai essayé deux nuits de trouver une solution pour faire fonctionner les deux écrans en même temps. J’ai soit le HDMI qui fonctionne avec le petit qui reste toujours allumé en blanc, soit le petit allumé avec image mais le HDMI avec sur fond noir, un texte en petit en haut à gauche et le texte boot au démarrage. J’ai essayé avec os Raspi, Ubuntu (que je préfère) ou Kodi en 64bits.
Mon envie étant de faire un multiboot pour:

Regarder de l’iptv ou autre stream (besoin du HDMI et pourquoi pas du 3.5) chez ma mère

Ecouter de la musique en local ou stream (besoins du 3.5 et non de l’écran HDMI) chez moi.

Ce serait à priori un problème de pilote (ILLI9486)

Merci et très bonne journée !

Les écrans sur le GPIO ne sont pas des sortis standard, elle ne sont pas vu comme écran secondaire sous le système. En fait, pour résumé, le rendu est généré et envoyé à l’écran par le pilote. Ce rendu est créé en logiciel en session, pas directement sur la sortie de l’écran.

Je n’ai pas de structure RPi5 sous Bookworm, mais j’ai ce genre d’écran (2 modèles) et des RPi qui les ont utilisés. Je sais que le tout ce faisait avec Frame Buffer (FB), et que depuis il à passé sous Bookworm, il ont un peu changé la méthode.

Avec FrameBuffer, il était possible d’avoir le rendu HDMI et le rendu sur l’écran 3.5", cependant, pas en DUAL, mais en MIRROIR. Il serait techniquement possible,a vec Frame Buffer, d’isoler les deux flux. Mais je ne travail que sous console (CLI) et c’est inutile dans mon cas, et je n’ai donc jamais tenté sous le bureau (GUI) de Raspbian.

Bref, ce que tu cherche à faire est d’utiliser une sortie hardware normal, le « hdmi », et tu dois créer un second affichage « Virtuel » pour le 3.5". C’est la théorie pour arriver à faire un Dual Screen.

Tu peux faire en mode miroir en utilisant la copie de l’écran principal, mais note que soit tu dégrade le HDMI en résolution, soit tu dois resize chaque rendu pour le passer au 3.5" pour que la résolution passe.

Pour le touch, ce sera aussi compliqué, c’est un processus séparé, un peu comme relier une souris en USB, et demande des config, tu devra trouver et éditer la config de position selon ce que tu aura choisi (à la fin quand tout marche en affichage), et attend toi a devoir faire beaucoup de test et d’ajustement, selon la config hardware et logiciel.

Vu que le RPi 5 a deux sortie HDMI, c’est plus simple de gérer deux écrans par ces ports, et d’utiliser l’écran 3.5" sur un projet seul. Sinon c’est de créer un script, qui dans le démarrage va détecter si oui/ou non le HDMI est connecté pour savoir si il doit sortie via le HDMI ou passer en mode 3.5", mais encore la c’est très technique.

Les écrans 3.5" ne sont pas tous identique, selon le fabriquant et le model certains arrivent à faire plus, ou moins de choses. Par exemple, si l’écran 3.5" ce connecte via le HDMI directement, alors tous ce que je viens de te dire n’a pas nécessairement lieu. Consulte le Wiki du fabriquant de ton écran, parfois des solutions existes.

Merci pour ces belles explications.

J’y est passé beaucoup de temps à essayer, malgré ma piètre connaissance, « aidé par l’IA » et autres forums.

Le problème du pilote revient souvent pour ce problème et je vais attendre que quelqu’un de compétent s’y penche peut-être un jour.

En attendant peut-être trouver le moyen pratique pour mon utilisation: afficher PINN sur le 3.5 pouces afin de lancer l’os désiré. Est-ce possible d’avoir un affichage (hdmi ou SPI) selon l’os choisie…?

Je continue à chercher.

Merci encore pour ta réponse et ton temps passé à aider.

L’écran 3.5" est pris en charge de deux façons; par le hardware, via config.txt, et le pilote dans l’OS, entre les deux moment, l’écran n’est pas utilisable. Le pilote étant chargé par le OS, ont ne peut pas s’en servir pour choisir le OS a démarrer.

Alors ton choix de OS ce passe obligatoirement via le HDMI si tu veux choisir un OS à démarrer. Un moyen possible serait de charger un mini OS qui prendrais en charge l’écran 3.5" pour juste afficher un menu de sélection de OS/Projet à démarrer. Tu peux aller voir « BerryBoot », que j’ai déjà utilisé, il fait un peu ce genre de chose justement, mais j’ai jamais cherché a le rendre fonctionnel sur autre chose que HDMI, alors il faut voir avec le projet.

https://www.berryterminal.com/doku.php/berryboot

Je crois qu’il te sera beaucoup plus facile de passer la config de l’écran 3.5" à HDMI pour tes projets que l’inverse. ET si c’est le cas, vu que l’écran 3.5" est justement toujours présent sur le RPi, c’est gagnant-gagnant.

Dans la théorie des choses, je sais que tu peux contrôler le service des HDMI, (regarde sous « tvservice » si je ne me trompe pas). Dans mon cas je m’en sert pour fermer le support HDMI de certains projet, mais je crois qu’il peut corriger, activer etc… des paramètres du HDMI. Vu que je travail avec de plus anciennes version de Raspbian, je ne sais pas si il existe toujours sous bookworm.

Mais tu devras accorder du temps à la configuration de chaque OS que tu utilisera. L’idéal, une carte SD avec chaque OS configuré avec un usage spécifique. Ok, j’en convient acheter plusieurs cartes SD pour plusieurs usages n’est pas très pratique, mais ça facilite en même temps tes sauvegarde et tu peux justement réduire le nombre de carte en utilisant des sauvegardes pour interchanger le OS sur une même carte. Un peu plus long, mais réaliste.

Sinon, c’est de remplacer l’écran 3.5" par un autre modèle te permettant de permuter l’écran facilement, il existe d’autres modèles, avec de bien meilleur résolutions que les 3.5". ET les prix ne sont pas si fou que ça.

Par exemple ce modèle fait ce que tu cherches, car le signal HDMI est sur le port de sortie, les ports GPIO servent que pour le touch, qui peut aussi passer en USB, si tu l’utilise sur un PC.

Tu n’as pas un mauvais écran, tu n’as juste pas celui qu’il te faut pour ce que tu cherche à faire :stuck_out_tongue: .

Encore merci.

BerryBoot n’est pas compatible avec PI5 et je vais devoir m’orienter vers la solution que tu me propose de changer d’écran 3.5inch, ce qui est pratique pour le transport…en espérant qu’il entre dans la boite.
L’écran que tu propose n’a pas besoins de branchement sur hdmi du PI5, il reçoit ses informations et alim via pins et map ? Si oui, parfait, on m’a fait un cadeau pourri !:slight_smile:
Merci

L’écran que je te propose en lien serait correcte pour ce que tu veux, en simple, tu laisse l’écran branché dans le HDMI et il est sur le 3.5", tu veux l’utiliser sur un écran/TV, alors tu débranche le petit écran et connecte l’écran/TV que tu veux.

Idéalement, magasine les écrans, Waveshare offre un très bon service et le matériel est de bonne qualité. Je te conseil fortement de les contacter pour confirmer que tu peux « swap » l’écran sans devoir tout reconfigurer.

Vérifie aussi ton boitier et comment les ports peuvent ce connecter, peut-être pour garder le boitier, tu devra acheter un câble HDMI en « ribbon », soit une bande ultra mince pour facilement la faire passer dans une fente ou autres…

Sinon regarde sur le coté d’un écran 7" Raspberry Pi, cet écran permet d’utiliser la sortie IPS du RPi et laisse le port HDMI libre, Il sont accessibles (les ports HDMI).

Et tu as un boitier compatble

Bref, magasine bien ce que tu veux et informe toi auprès des vendeurs.


L’écran que tu as n’est pas mauvais comme je t’ai dis, mais pas conçu pour ton usage. Ce sont de bons écrans, mais conçu pour d’autres objectifs, comme avoir une mini console retro portable avec écran intégré, pour jouer « sur le pouce », ou pour visualiser/contrôler une imprimante 3D comme un ensemble.

Mais toi tu cherche la flexibilité et la polivalence, ce que cet écran n’ai pas capable de gérer sans de gros bidouillage dans les codes. Ce n’est pas impossible, mais pas « PnP ».

Mais c’est « courant » de rencontrer des limites, j’ai par exemple des RPi Zero avec des Hat UPS et Audio, mais je ne peux pas connecter d’écran avec boutons pour en faire une console portable, car le bouton de la carte audio entre en conflit avec un bouton du controleur d’affichage et des joystick.

Les GPIO offres plusieurs options, certains peuvent ce « doubler » d’autres non, parfois c’est un peux ridicule comme limitation, comme j’ai des modules RTC qui m’enpêche d’utiliser certains Hat, qui pourtant sur papier n’ont rient en conflit. C’est les « plaisirs » du monde RPi.