Pierre Couy a beau être un développeur de logiciel et un prof d’informatique, il est étourdi. Lorsqu’il achète son nouveau portable pour remplacer l’ancien, il ne fait pas attention à un petit détail. Sa nouvelle machine ne propose qu’une seule sortie vidéo. Un port HDMI est présent mais son port USB Type-C n’est pas compatible DisplayPort.
Problème, il est habitué à utiliser trois écrans, son ancien portable proposait en effet du HDMI et du VGA. Pour retrouver sa configuration préférée, il a alors une idée. Utiliser une carte Raspberry Pi pour créer une nouvelle sortie HDMI. C’est évidemment le genre d’idée que l’on a quand on a le cursus de Pierre Couy puisqu’il s’agit tout de même d’une assez belle opération de jonglage logiciel. En résumé, on exporte le contenu que l’on veut afficher non pas vers un port vidéo mais vers le réseau en streaming. Un câble Ethernet est alors connecté vers la carte Raspberry Pi qui traite le signal pour le renvoyer vers sa propre sortie HDMI. Ce dernier port est connecté vers un écran externe et… le tour est joué.
Evidemment, c’est plus facile à dire qu’à faire. Avec une carte Raspberry Pi 3B, il faut ménager plusieurs éléments afin de profiter d’un signal vidéo avec peu de latence et une bonne définition. Ce qui implique un traitement assez faible en nombre d’images par seconde. Une suite de protocoles et de scripts font ainsi jongler le signal du portable de base vers un écran externe au travers de la carte externe.
Après plusieurs tests et tâtonnements, un réglage optimal semble avoir été trouvé. La méthode et les fichiers sont disponibles sur GitHub. Un ensemble de commentaires instructifs a également été publié. Bien entendu, il existe des solutions alternatives comme des adaptateurs USB qui vont transformer un signal pour obtenir le même résultat facilement. Mais la solution développée ici est assez intéressante et ingénieuse. Elle pourrait permettre de récupérer des machines ayant une connectique incompatible avec les accessoires USB classiques.
2,5€ par mois | 5€ par mois | 10€ par mois | Le montant de votre choix |
Et un avec un simple dock, cela n’aurait pas marché ?? Le geste de brancher un dock aurait été moins élégant que de produire sa propre solution, j’en conviens, mais je me demande s’il n’y a pas une raison technique derrière ce choix.
@eeegr: Bonjour, je suis l’auteur de l’article mentionné ici. Il y a effectivement une raison technique : comme mentionné, le port USB de l’ordinateur que j’ai acheté n’est pas compatible avec DisplayPort, et donc avec les docks HDMI standard. Je dispose d’un tel dock, qui fonctionnait avec mon PC pro, mais pas avec mon nouveau PC personnel. J’utilise d’ailleurs ce même dock (dont la sortie HDMI ne me sert à rien) pour fournir un port RJ45 à cet ordinateur.
Il existe une alternative très similaire à ce que j’ai réalisé : DisplayLink, qui nécessite un adaptateur actif spécifique et l’installation d’un pilote propriétaire sur le PC hôte. Les principales différences entre ma solution et DisplayLink sont :
– Open source vs solution propriétaire
– Compatible uniquement avec linux vs compatible avec les 3 principaux OS
– Port ethernet vs port USB (même si personnellement mon port ethernet est sur un dock USB)
Si vous vous posez d’autres questions, je serais ravi de vous donner plus de détails.
@Pierre Couy
Vous avez également la solution Miracast qui nécessite aussi l’achat d’un matériel spécifique.
Belle prouesse cependant, il fallait y penser :)
@Dliryc: Je crois que Miracast est plus adapté pour dupliquer l’écran sur une télé par exemple. Mon expérience avec Miracast (téléphone vers télé) avait trop de latence pour une utilisation confortable comme un réel écran (délai sur les mouvements de la souris et les frappes de clavier)
@Pierre Couy: merci pour ces précisions, donc si je comprends bien votre solution se pose en alternative opensource de displaylink ? J’ignorais par ailleurs qu’il y avait d’autres possibilités que les solutions displaylink ou similaires pour faire fonctionner un dock (j’utilise un dock HP avec displaylink pour mon très vieux laptop et cela me permet de brancher 2 écrans hdmi sans soucis).
En tout cas, bravo et espérons voir bientôt sur le marché des docks avec couche logicielle open source !
@eeegr: Je n’ai jamais essayé DisplayLink mais il me semble que oui. Il semblerait également que DisplayLink, tout comme ma solution, repose sur la capture et le streaming en direct d’un écran virtuel. En effet, certains utilisateurs sous Mac ont rapporté que DisplayLink empêche les services de streaming protégés par les systèmes de gestions de droits numériques (DRM) tels que Netflix de fonctionner (cela se produit habituellement lorsqu’on essaye d’enregistrer l’écran de l’ordinateur)
@Pierre Couy: Merci de ces explications.
sinon en usb vers hdmi il y a des adaptateurs n ayant pas besoin du display port avec un simple pilote a installer
@Pierre Couy: Merci pour ces explications.
Et surtout bravo pour cette solution open source et documentée :)
@foliepure: @J’ai répondu à un commentaire similaire ici
Ca m’a rappelé cette conf : https://www.sstic.org/2022/presentation/mise_en_quarantaine_du_navigateur/ ou ils streamaient hyper fluide en 4g entre des machines pour securiser les acces web. Une machine est connectée au web et stream vers l’autre ce qui s’affiche sur le naviguateur interactivement. Ils ont mis l’outil sur github
sinon sans se casser le cul si 9n est sous windows
€ 11,03 41%de réduction | Convertisseur Audio-vidéo 1080P HD, Compatible usb 3.0 vers VGA, HDMI, pour ordinateur portable, moniteur/TV, affichage à double écran
https://a.aliexpress.com/_EGsjN9H
@Pierre Couy
Merci pour ses explications. Je vais peut être m’en servir pour faire un écran déporté via le réseau.
@Pierre Couy
Merci pour le partage
Jusqu’à combien d’écran pourrais tu mettre côte à côte?
@foliepure : il y a encore des gens qui se – je cite – cassent le c** avec windoze ?
@bob des centaines de millions et ce pour encore les 50 prochaines années
@Pierre Couy: Je ne suis pas certain d’utiliser un jour cette solution, mais c’est sympa et instructif de partager et de mettre à disposition tous les éléments pour le reproduire.
Merci :- ) !
@foliepure: Personnellement, l’idée d’installer sur mon PC un pilote à source fermée provenant d’aliexpress me met assez mal à l’aise.
@Pierre Couy: c’est une fois que tu as installé le pilote chinois que tu as le c*l cassé ;)
@foliepure: ha zut, c’est le contribuable français qui paye les licences zindozes + black office du gouvernement, de l’éduc nat et de tout le bastringue ?
Bravo à Pierre pour cette superbe réalisation.
Pour info, suite à un défaut étrange de mon écran secondaire en HMDI, je l’utilise avec le dongle Miracast de Microsoft. Je ne regarde pas de vidéo mais je fais de l’admin de système et je n’ai pas défaut de latence rébarbatif. Pas de pilote à installer juste la combinaison de touche Win+K. Avec un android et une application dédiée, la latence est bien plus présente en effet.
@Pierre Lecourt : merci pour avoir rapporté cette réalisation
@Pierre Couy: Merci pour cet exposé de ton cheminement et pour le partage du résultat
j’ai utilisé cette même solution (en bien moins intégré) quand j’étais en dech d’écran
j’ai relié ma tour a un vieux pc portable 17pouces via un câble Ethernet et streamer ma tour sur lecran
mais pour le multi écran je ne savais pas que ça fonctionnait
est ce que la souris se déplace d’un écran a un autre comme un vrai multi écran ?
@haruhi: J’ai ajouté une courte vidéo de démonstration à la fin de mon article. (pour répondre à ta question, la réponse est oui)