Bien faire fonctionner Kodi sur un NanoPC-T4 m’a demandé quelques efforts, aussi je souhaite partager mon expérience ici

Sur le site officiel, il existe des distributions spécifiques qui ne me convenaient pas, aussi j’ai trouvé qu’armbian répondait à mon besoin et est bien supporté pour ce matériel :Retour ligne automatique
https://www.armbian.com/nanopc-t4/

- Télécharger l’image adéquate et copier là sur une SD card via usbmanager en root. Retour ligne manuel
- Insérer la SD card dans le logement adéquat et démarrer le NanoPC-T4 branché en HDMI Retour ligne manuel
- Laisser le démarrage s’effectuer, mettre un mot de passe non dépendant du clavier (clavier en qwerty au début), ajouter un utilisateur, sélectionner la bonne langue… les réponses tombent sous le sens.

Une fois l’installation faite, je bascule très vite l’installation sur le disque dur SSD interne afin de gagner en rapidité sur les étapes suivantes, la documentation est assez explicite ici :Retour ligne automatique
https://docs.armbian.com/User-Guide_Getting-Started/#how-to-install-to-emmc-nand-sata-usb

1er test avec l’image buster xfce desktop kernel 5.10 :Retour ligne automatique
Installation qui se déroule facilement, le seul problème concerne la partie son HDMI (la solution de ce problème est expliquée en fin d’article)…

Sous Kodi, le son est OK mais par contre les images apparaissent saccadés et charge énorme sur CPU (400% !)

Du coup j’abandonne cette solution et après être tombé sur la page Retour ligne automatique
https://forum.armbian.com/topic/16516-rk3399-legacy-multimedia-framework/Retour ligne automatique
j’essaye de basculer sur le kernel 4.4 spécifique, mais cela ne fonctionne pas (u-boot avec plein de messages d’erreurs) puisque comme indiqué sur la documentation il faut faire cette opération depuis un kernel déjà en 4.4 !

2ème test avec l’image 4.4 spécifique

Boot sur l’image buster avec le kernel 4.4 legacy avec la carte SD.Retour ligne automatique
Installation sur le DD interne.Retour ligne automatique
sudo apt update && sudo apt upgradeRetour ligne automatique
sudo apt install media-buster-legacy-rk3399 —install-recommends

Mais patatra, kodi-gbm ne fonctionne pas sur ma sortie HDMI, écran noir….

Du coup abandon de cette solution aussi !

Après quelques recherches je m’aperçois qu’en upstream le GPU est désormais bien supporté.Retour ligne automatique
https://wiki.debian.org/PanfrostLima

3ème test avec l’image 5.10 buster

Buster minimum avec le kernel 5.10Retour ligne automatique
Je bascule l’installation sur le disque interne avec Retour ligne automatique
J’installe gnome 3, alsa et tout les trucs dont j’ai besoin

Puis je modifie buster par bullseye dans /etc/apt.sources.list et /etc/apt.sources.list.d/xxx

Et je lance un apt update et apt upgrade

Et là après un reboot, je teste et miracle j’arrive à avoir une image nette sur kodi et un taux de rafraissiment d’image entre 54 et 60 à glxgears (sans avoir à ajouter le fichier du wiki debian plus haut)

Et donc cette solution est la bonne et que je conserve !

Passons alors à la résolution de mes problèmes liés à la partie son du HDMI

Par défaut la partie HDMI n’est qu’en stéréo et le choix du 5.1 n’est pas disponible au niveau pulseaudio de gnome…

La page suivante m’a mis sur la piste :Retour ligne automatique
https://forum.armbian.com/topic/10183-pulseaudio-and-built-in-audio-issue-involves-alsa/

Il suffit alors de créer le fichier suivant :

cat > /usr/share/alsa/cards/HDMI-OUT.conf << EOF
# configuration for HDMI connection which just expose the
# audio out device

<confdir:pcm/hdmi.conf>

HDMI-OUT.pcm.hdmi.0 {
@args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ]
@args.CARD {
type string
}
@args.DEVICE {
type integer
}
@args.CTLINDEX {
type integer
}
@args.AES0 {
type integer
}
@args.AES1 {
type integer
}
@args.AES2 {
type integer
}
@args.AES3 {
type integer
}
type hw
card \$CARD
}
EOF

Puis on affiche la liste des cartes sons :

root@nanopct4 :/usr/share/alsa/cards# aplay -lRetour ligne automatique
**** List of PLAYBACK Hardware Devices ****Retour ligne automatique
card 0 : realtekrt5651co [realtek,rt5651-codec], device 0 : ff890000.i2s-rt5651-aif1 rt5651-aif1-0 [ff890000.i2s-rt5651-aif1 rt5651-aif1-0]Retour ligne automatique
Subdevices : 1/1Retour ligne automatique
Subdevice #0 : subdevice #0Retour ligne automatique
card 1 : hdmisound [hdmi-sound], device 0 : ff8a0000.i2s-i2s-hifi i2s-hifi-0 [ff8a0000.i2s-i2s-hifi i2s-hifi-0]Retour ligne automatique
Subdevices : 1/1Retour ligne automatique
Subdevice #0 : subdevice #0

Du coup ensuite ajout de l’entrée hdmi-sound cards.HDMI-OUTRetour ligne automatique
/usr/share/alsa/cards/aliases.conf

La commande « aplay -L » affiche désormais bien une sortie HDMI :

hdmi:CARD=hdmisound,DEV=0Retour ligne automatique
hdmi-sound, ff8a0000.i2s-i2s-hifi i2s-hifi-0Retour ligne automatique
HDMI Audio Output

Et un reboot plus loin j’ai désormais une entrée HDMI ds le menu sound settings de GNOME.Retour ligne automatique
Je sélectionne 5.1 et je teste les sorties et paf, pas de bol, j’ai un problème d’alignement entre la sortie donnée par mon NanoPC vers mon amplificateur en 5.1

En effet en testant sous gnome avec l’outil de test de son j’ai alors : Retour ligne manuel
- Front Left -> Enceinte « Front Left » Retour ligne manuel
- Front Right -> Enceinte « Front Right » Retour ligne manuel
- Front Center -> Enceinte « Rear Left » Retour ligne manuel
- Rear Left -> Enceinte « Subwoofer » Retour ligne manuel
- Rear Right -> Enceinte « Front Center » Retour ligne manuel
- Subwoofer -> Enceinte « Rear Right »

Il suffit alors de modifier une ligne dans le fichier /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf à la section [Mapping hdmi-surround] la ligne « channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe » par la ligne « channel-map = front-left,front-right,lfe,front-center,rear-left,rear-right »

Et un reboot plus loin tout est désormais bien aligné !

Et kodi utilise 155% de CPU plus 400 ou 500% de CPU ! (en sachant que le joujou a six 6 CPUs donc ça rulez).

Share

Laisser un commentaire

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