XBMC sur Raspberry Pi sous Archlinux : installation

Pourquoi installer XBMC sous Archlinux sur ma carte Raspberry Pi ?

Cela fait maintenant plusieurs mois que l’un des deux Raspberry Pi dont je suis l’heureux propriétaire tourne sous Archlinux ARM, dans la version adaptée à ce mini-ordinateur mono-carte. Cette machine est utilisée entre autres comme serveur de fichiers Bittorrent et comme unité de stockage en réseau (j’ai publié et mis à jour il y plusieurs mois un relevé des étapes de mon installation d’Archlinux sur Raspberry Pi).

Le second Raspberry Pi est dédié à la musique et à la vidéo. Pour la musique, j’utilise MPD, dont j’ai installé un client sur mon téléphone mobile et sur une tablette. Pour la vidéo, j’ai testé Raspbmc avant d’opter pour OpenELEC. Pour faire coexister MPD et XBMC sous OpenELEC sur la même machine, j’ai pensé utiliser Berryboot pour démarrer la carte soit sous OpenELEC pour la vidéo, soit sous Archlinux sur lequel j’aurais installé MPD pour la musique.

Je ne suis pas parvenu à installer Archlinux ARM via Berryboot, malgré de nombreux essais pour contourner cette difficulté. J’ai donc finalement opté pour une installation de MPD sous Raspbian d’une part, et d’XBMC sous OpenELEC d’autre part. Pour la vidéo, XBMC sous OpenELEC me donne satisfaction, après avoir localisé correctement mon clavier AZERTY.

Pourquoi installer MPD sur la même carte sans utiliser Berryboot ?

Pour la musique et pour une raison que j’ignore, mon convertisseur de signal audio digital (DAC) USB, un produit modeste et pas cher mais qui suffit amplement à satisfaire mes besoins, fonctionne mieux dans la configuration MPD sous Archlinux que dans la configuration MPD sous Raspbian, et je trouvais frustrant de ne pas réussir à installer et MPD et XBMC sur la même machine et sous le même système d’exploitation.

Grâce aux indications trouvées ici, j’y suis parvenu après quelques difficultés et moyennant quelques adaptations.

À toutes fins utiles, voici la manière dont j’ai procédé pour installer et faire tourner XBMC et MPD sous Archlinux ARM sur la même carte Raspberry Pi.

Installation d’Archlinux sur la carte SD

J’ai procédé manuellement, comme expliqué dans un précédent billet :

  1. Depuis un PC (dans mon cas, la machine utilisée tourne sous Xubuntu).
    1. Téléchargement de l’archive contenant l’image la plus récente pour installer Archlinux ARM sur le Raspberry Pi depuis la page dédiée du site Web de la fondation Raspberry Pi. À la date de rédaction de ce billet, cette archive se nomme archlinux-hf-2013-07-22.img.zip
    2. Décompression de l’image dans un dossier (à partir de l’archive mentionnée ci-dessus, on obtient un fichier archlinux-hf-2013-07-22.img
    3. Installation de l’image sur une carte SD de 8 Go :
      • Depuis une machine tournant sous Linux, en utilisant la commande dd :
        1. Déterminer l’emplacement de la carte SD (/dev/sdX, dans mon cas, il s’agissait de /dev/sdf, emplacement repéré avec la commande lsblk -f)
        2. Charger l’image sur la carte SD : dd if=/chemin/vers/archlinux-hf-2013-07-22.img of=/dev/sdX
      • Depuis une machine tournant sous Windows, avec un utilitaire comme Win32Diskimager :
        1. Télécharger et installer Win32DiskImager
        2. Choisir l’image archlinux-hf-2013-07-22.img, sélectionner l’unité de disque correspondant à la carte SD et cliquer sur Write
  2. Sur le Raspberry Pi en mode console ou à distance depuis un PC en SSH
    1. Insertion de la carte SD dans le Raspberry Pi
    2. Mise sous tension du Raspberry Pi
    3. Ouverture d’une session en tant que super-administrateur (login  root, mot de passe : root)
    4. Changement du mot de passe par défaut du super-administrateur : passwd puis saisir deux fois le nouveau mot de passe
    5. Redimensionnement des partitions pour occuper tout l’espace disponible sur la carte SD (en ligne de commande avec fdisk, directement sur le Raspberry Pi, comme expliqué dans un précédent billet, ou depuis une autre machine, en utilisant par exemple GParted et son interface graphique utilisateur) puis redémarrage de la machine : reboot ou shutdown -r now.
    6. Initialisation du jeu de clés de pacman : pacman-key --init
    7. Mise à jour du système : pacman -Syu

Paramétrage du clavier AZERTY et de l’heure locale

Cette carte Raspberry Pi est reliée à un clavier USB sans fil avec touchpad Logitech K400 AZERTY. Pour qu’il puisse être correctement reconnu et utilisable, j’ai exécuté la commande :

localectl set-keymap fr

Pour mettre la carte à l’heure locale, il suffit d’indiquer (si l’on se trouve en France) :

timedatectl set-timezone Europe/Paris

Pour toute autre région, remplacer Europe/Paris par la paire appropriée dans la liste consultable en passant la commande :

timedatectl list-timezones

L’installation de base d’Archlinux ARM sur le Raspberry Pi est désormais terminée. Reste à préparer l’arrivée d’XBMC en optimisant certains paramètres.

Sur-cadencement (overclocking) du processeur

L’interface graphique d’XBMC sollicite de manière importante les ressources de la carte. Pour obtenir une interface suffisamment fluide et pour assurer une lecture fluide des vidéos, il est possible de sur-cadencer le processeur en introduisant des instructions spécifiques dans le fichier /boot/config.txt . Ces changements, qui reviennent à solliciter le processeur de manière plus importante que ne le prévoit le fabricant, peuvent provoquer une instabilité du système, voire dégrader ou user prématurément la carte en raison notamment de l’augmentation de temprérature du processeur qu’ils peuvent entraîner. Ces modifications peuvent d’ailleurs, en fonction des paramètres modifiés, annuler la garantie (notamment le sur-voltage). Dans tous les cas, il convient de s’assurer de la qualité de l’alimentation électrique de la carte qui doit délivrer un courant suffisant pour satisfaire aux besoins accrus en énergie du processeur sur-cadencé.

Pour l’instant, je n’ai pas rencontré d’instabilité manifeste du système, mais les modifications décrites ici sont aux risques et périls de ceux qui les essaient.

Dans le fichier /boot/config.txt, j’ai ajouté (nano /boot/config.txt) les instructions suivantes :

arm_freq=1000
core_freq=500
sdram_freq=500
over_voltage=6
force_turbo=0

Utiliser une version modifiée de certaines fonctions concernant la gestion de la mémoire

Il existe une librairie qui implémente certaines fonctions standard du système en assembleur écrit à la main. Ceci améliore notablement les performances générales de la machine et en particulier les performances en ce qui concerne la lecture des vidéos.

Pour installer cette librairie, il faut exécuter la commande :

pacman -S arm-mem-git

Puis redémarrer (reboot).

Utilisation d’une version récente du noyau Linux

Pour plusieurs raisons (et notamment pour pouvoir, par la suite, installer un certain modèle de tuner TNT USB), j’ai choisi d’utiliser la dernière version du noyau linux disponible sur le Raspberry Pi, même si elle peut entraîner des instabilités du système.

Pour le faire, il suffit d’exécuter la commande :

pacman -S linux-raspberrypi-latest linux-headers-raspberrypi-latest

Note : lors de l’installation, pacman indique que linux-raspberrypi-latest est en conflit avec linux-raspberrypi et propose de remplacer linux-raspberrypi par linux-raspberrypi-latest.

Installer la toute dernière version d’XBMC pour le Raspberry Pi

Cette version comporte des optimisations qui améliorent sensiblement les performances.

Pour l’installer :

pacman -S xbmc-rbp-git

Démarrer automatiquement XBMC au démarrage du système

Pour qu’XBMC démarre automatiquement au démarrage de la carte, il suffit d’activer le service :

systemctl enable xbmc

Paramétrage du clavier AZERTY dans XBMC

Pour que mon clavier USB sans-fil AZERTY soit correctement reconnu et utilisable dans XBMC, j’ai exécuté la commande suivante :

localectl set-x11-keymap fr

Facultatif : clés de licence pour les Codecs VC1 et MPEG-2

Comme j’ai fait l’acquisition de licences pour ces deux Codecs (les licences sont attachées à une carte par son numéro de série), j’ai introduit les clés de licence correspondantes, reçues de la boutique Raspberry Pi.

Il suffit d’ajouter à /boot/config.txt deux lignes (nano /boot/config.txt) :

decode_MPG2=CleMpg2
decode_WVC1=cLeVc1

Installation et configuration de MPD

Je ne reviens pas ici sur l’installation de MPD sous Archlinux, dont j’ai déjà publié un relevé détaillé. Dans la configuration à laquelle on arrive après l’ensemble des modifications rapportées plus haut, MPD fonctionne parfaitement et je n’ai eu aucune difficulté pour l’installer.

Pour permettre son démarrage automatique au démarrage de la carte, il suffit de passer la commande :

systemctl enable mpd

[après avoir vérifié que le paquet xorg-xinit (qui est une dépendance facultative de xbmc) a bien été installé]

Conclusion

Après ces opérations, je dispose d’une installation d’XBMC dont l’interface graphique utilisateur est plus fluide que sous openELEC et qui ne mmontre pas, à ce jour, de problèmes d’instabilité manifestes. Je peux d’autre part utiliser pleinement les capacités de mon DAC USB pour écouter de la musique, MPD fonctionnant sans aucun souci.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.