Exporter l'affichage de Kodi ou de Retropie
Le but de ce guide est de faire afficher l'écran distant d'une Raspberry Pi sur le Mac, et pouvoir le contrôler à distance. Si afficher un bureau distant reste assez simple (et fera l'objet d'un prochain article), afficher l'espace graphique exporté nécessite d'utiliser quelques subtilité. Ici le tutorial va vous permettre d'afficher l'application Kodi envoyée vers la télé, il devrait aussi être efficace avec une Retropie.
Attention, le résultat n'est pas très performant, le système peine à délivrer plus de 12/13 fps, et l'utilisation peut être pénible. Cependant, cela peut rendre service pour réaliser une configuration à distance lorsque la télévision n'est pas disponible.
Comme l'article sur minidlna, cet article s'adresse aux utilisateurs ayant un peu d'expérience. L'application de cette solution peut légèrement varier selon la Pi hôte, et donc, il est nécessaire d'avoir l'habitude pour s'adapter à sa machine.
Installation du logiciel sur la Pi
Pour atteindre notre but, nous allons utiliser une librairie disponible sur la plateforme d'échange Github : https://github.com/patrikolausson/dispmanx_vnc
Pour l'installer, il va falloir la télécharger et puis la compiler.
Pour commencer, il faut se connecter en ssh à la Pi, puis commencer l'installation des logiciels nécessaires à la compilation.
sudo apt-get install build-essential git rbp-userland-dev-osmc libvncserver-dev libconfig++-dev
Ensuite nous commençons la récupération des fichiers depuis Github, sans oublier de se placer, ou de créer un dossier dédié. Pour moi, il s'agit dans un dossier "git", dans le dossier home du compte osmc (sur Kodi) ou raspberry (sur Retropie)
mkdir git
cd git
git clone https://github.com/patrikolausson/dispmanx_vnc
Puis attaquons la compilons l'application
cd dispmanx_vnc/
make
Configuration du logiciel
L'étape suivante est de configurer le logiciel pour répondre tel qu'on le souhaite, au client VNC de notre Mac.
Créons le fichier de configuration
sudo nano /etc/dispmanx_vncserver.conf
et insérons la configuration par défaut suivante
relative = false;
port = 0;
screen = 0;
unsafe = false;
fullscreen = false;
multi-threaded = false;
password = "password";
frame-rate = 23;
downscale = false;
localhost = false;
vnc-params = "";
Vous pouvez customiser la configuration avec en changeant le mot de passe, et optionnellement en utilisant un port alternatif. En gardant le port à 0, le logiciel utilisera le port par défaut de VNC, soit le port 5900. Si vous disposez déjà d'un serveur VNC sur le système, il est nécessaire d'utiliser un autre port.
Enregistrez (ctrl+O), puis quittez (ctrl+X) l'application nano.
A partir de là, vous pouvez lancer l'application manuellement
./dispmanx_vncserver
et vous connecter depuis votre Mac : Finder > Aller > Se connecter au serveur (cmd+K)
et tapez vnc:// suivi de l'adresse IP ou du nom de votre Pi, pour moi
vnc://mediacenter
Le mot de passe indiqué dans le fichier de configuration vous sera demandé. Une fois inséré, l'écran de votre Pi devrait apparaitre.
Pour terminer, il suffit de fermer la fenêtre sur le Mac. Et si vous souhaitez quitter l'application sur la Pie, il faut taper ctrl+C dans le terminal qui contrôle la Pi en ssh.
Rendre accessible le logiciel simplement
Nous allons placer un alias de notre application dans les binaires de la Pi. N'oubliez d'adapter le chemin vers dispmanx_vncserver selon le votre.
sudo ln -s /home/osmc/git/dispmanx_vnc/dispmanx_vncserver /usr/bin/
Comme le dossier des binaires est dans le PATH de la Pi, il est désormais possible de laner l'application simplement en utilisant son nom.
dispmanx_vncserver
Configuration du logiciel en tant que service
Actuellement le logiciel doit être lancé à la main à chaque fois que vous souhaitez vous en servir, ou du moins, à nouveau à chaque démarrage.
Nous allons faire en sorte que l'application se lance automatiquement au démarrage de la Pi et ainsi pouvoir s'en servir sans avoir à réfléchir si l'application hôte est lancée ou non. L'application, lorsqu'elle n'est pas utilisée par un client VNC, n'utilise qu'une infime partie des ressources et ne génera en rien le fonctionnement de votre media center ou de votre game center.
Pour cela, il faut indiquer à systemd, l'équivalent sous Debian et ses dérivés du Launchd de nos Mac, qu'il doit activer dispmanx_vncserver en tant que service. Ecrivons le fichier de configuration
sudo nano /etc/systemd/system/dispmanx_vncserver.service
et insérer le contenu
[Unit]
Description=VNC Server
After=network-online.target mediacenter.service
Requires=mediacenter.service
[Service]
Restart=on-failure
RestartSec=30
Nice=15
User=root
Group=root
Type=simple
ExecStartPre=/sbin/modprobe evdev
ExecStart=/usr/bin/dispmanx_vncserver
KillMode=process
[Install]
WantedBy=multi-user.target
Enregistrez (ctrl+O), puis quittez (ctrl+X).
Le serveur VNC se lancera au prochain démarrage, vous pouvez cependant l'activer manuellement et directement, toujours à travers systemd.
sudo systemctl start dispmanx_vncserver.service
sudo systemctl enable dispmanx_vncserver.service
sudo systemctl daemon-reload
Le tour est joué.
Besoin d'une Raspberry Pi ? Direction Amazon.fr