Pour un rendu optimal, activez JavaScript

Contrôle intégré de MPD sur la Steam Deck

 ·  ☕ 5 min de lecture

En tant que vétéran (GNU)Linux aguerri et de fan de technos libres, je me suis donné l’occasion d’expérimenter plusieurs programmes dont j’ai développé une dépendance avec certains d’eux, et avec raison. C’est le cas du programme MPD (Music Player Daemon) qui est un programme de lecture de musique roulant en mode serveur. On l’utilise donc normalement en pair avec un client comme mpdevil. Personnellement, j’utilise ncmpcpp et il y a une longue liste de clients pour MPD avec des fonctionnalités variées. Depuis que j’ai reçu ma Steam Deck, j’ai donc bien sûr installé MPD sur celle-ci afin de pouvoir contrôler avec mon téléphone (via MPDroid) la musique qui joue sur ma Steam Deck connectée à ma télé ou à mes écouteurs Bluetooth. Par contre, je n’avais pas encore de moyen de contrôler MPD par la Steam Deck directement autrement qu’en utilisant une app graphique comme mpdevil, mais c’était handicapant considérant le type de contrôle (joystick ou trackpad) à notre disposition. Parfois, on peut se trouver à utiliser la Steam Deck avec une manette bluetooth, donc on n’a pas envie d’une interface qui est prévue pour la souris, quand on n’a qu’un joystick à portée de main.

Je connaissais MusicControl depuis un certain temps qui fournit une très jolie interface pour contrôler un lecteur de musique interfaçant avec DBUS par le biais de la spécification MPRIS, mais je n’avais pas réalisé depuis comment connecter MPD avec ce joli greffon. Maintenant, c’est chose fait et je vais partager comment y arriver dans ce billet de blog.

Vue d’ensemble

Pour arriver à faire fonctionner le tout ensemble, il faut faire certaines étapes d’installation. Dans un premier temps, il faut assembler les parties du côté de MPD, soient:

  • MPD: le lecteur de musique
  • mpdris2: programme interfaçant MPD à travers DBUS

Ensuite, il faut installer la partie du contrôleur, c.-à-d. MusicControl. Ce greffon a besoin, pour fonctionner, de la plateforme Decky, un gestionnaire et lanceur de greffon pour le mode Gaming de la Steam Deck. On trouve les instructions d’installation sur la page du programme, mais je vais les expliciter ici tout de même.

Installation

Pour la partie MPD, il s’agit d’utiliser pacman pour installer mpd. Il faut donc passer sur le mode Bureau de la Steam Deck et ouvrir le terminal Konsole.


Je conseille au lecteur de regarder le projet rwfus avant d’aller plus loin s’il souhaite avoir une installation persistante car il faut savoir que la Steam Deck utilise une approche de partitionnement fusionnée A/B comme l’explique cet article. En clair, cela veut dire que tout programme installé par pacman (qui vit dans le répertoire /usr) sera possiblement effacé lors de mise-à-jour subséquentes de la Steam Deck. Il s’agit d’une mesure de protection pour la Steam Deck de sorte à pouvoir retourner à une version fonctionnelle du système si jamais une mise-à-jour engendrait un échec fatal.

Si le lecteur souhaite seulement essayer la démarche du présent article sans tout de suite s’entourlouper avec les préoccupations au niveau des partitions non persistantes, alors il peut passer outre la mesure de protection mettant le système de fichier en lecture seule avec:

sudo steamos-readonly disable

Maintenant que nous avons parlé de ce détail, passons aux étapes d’installation. Premièrement, on installe mpd:

sudo pacman -S mpd

Ensuite, on veut installer mpdris2. Pour ce faire, on peut soit utiliser yay en faisant:

yay -S mpdris2

et en suivant les instructions à l’écran.


Sinon, ...

On peut installer manuellement le programme mpdris2 comme suit:

cd /tmp/
git clone https://aur.archlinux.org/mpdris2.git
makepkg -si

Par contre, l’usager doit savoir qu’il devra installer toutes les dépendances d’exécution et de compilation avant les procéder aux instructions ci-haut. D’où l’avantage de passer par yay qui s’occupe de tout cela pour nous en plus de nettoyer les dépendances de compilation une fois le programme désiré installé.


Une fois ceci fait, on doit démarrer les deux services, soient celui de mpd et celui de mpdris2:

systemctl --user enable --now mpd.service
systemctl --user enable --now mpDris2.service

Je considère que l’utilisateur connait bien le mode de fonctionnement et de configuration de MPD. C’est donc dire que je n’entrerai pas dans ces détails.

Maintenant, on doit installer Decky. Pour ce faire, on utilise l’instruction partagée sur la page d’installation par le projet:

curl -L https://github.com/SteamDeckHomebrew/decky-loader/raw/main/dist/install_release.sh | sh

Une fois ceci fait, on peut passer au mode Gaming de la Steam Deck. À cette étape, on peut ouvrir le menu d’options rapides de la Steam Deck avec le bouton . Dans le menu de Decky,

on peut sélectionner l’icône du magasin:

et y trouver MusicControl:

Simplement, sélectionner l’option “install” et hop! L’utilisateur devrait alors remarquer qu’il peut contrôler mpd par MusicControl!

Conclusion

En assemblant différents morceaux, on arrive à un résultant qui donne l’impression d’une intégration prévue à cet effet, donc une sensation d’une mise en place adéquate dans le système. Or, ce sont nos choix en pair avec l’accord sur une spécification entre différents programmes libres qui mènent vers l’achèvement de cet assemblage et cela est très satisfaisant car on voit ici qu’on a un contrôle sur le logiciel qu’on manipule. Ceci se démarque fermement du modèle tout-en-un auquel on reconnaît la plus part des produits propriétaires (vendus ou non), c.-à-d. à licence fermée. À la fin, le logiciel libre triomphera toujours!

Partagez

Simon Désaulniers
RÉDIGÉ PAR
Simon Désaulniers
Développeur RD