Introduction
Peut-on construire sous Linux un véritable lecteur Home Cinéma capable de lire des DVD, des Blu-ray et de lourds remux 4K UHD, tout en envoyant le son Dolby Atmos ou DTS-HD directement vers un amplificateur ?
La réponse est oui, mais avec une nuance importante : il n’existe pas encore de recette universelle qui fonctionne à l’identique sur toutes les configurations.
La lecture HDR sous Linux dépend de nombreux éléments :
- la carte graphique ;
- son pilote ;
- la version de Mesa ;
- le compositeur Wayland ;
- le téléviseur ou le vidéoprojecteur ;
- l’amplificateur HDMI ;
- le câble utilisé ;
- le format et les métadonnées du fichier vidéo.
Ce guide documente donc une configuration précise, testée autour de Fedora KDE Plasma, Wayland, une carte graphique AMD et le lecteur mpv.
L’objectif n’est pas de promettre une solution magique. Nous allons plutôt construire une base :
- ouverte ;
- reproductible ;
- compréhensible ;
- améliorable ;
- indépendante d’un lecteur multimédia propriétaire.
À la date de mise à jour de cet article, en juillet 2026, Fedora 44 est la version courante. Linux évoluant rapidement, certains menus ou comportements pourront changer dans les prochaines versions.
Ce que nous allons construire
À la fin de ce guide, notre HTPC devra être capable de :
- lire des fichiers vidéo locaux et des films stockés sur un NAS ;
- décoder matériellement le HEVC 10 bits ;
- afficher du HDR10 ou du HLG sur un écran compatible ;
- laisser le bureau Linux en SDR lorsque nous ne regardons pas de contenu HDR ;
- transmettre les pistes Dolby et DTS directement à l’amplificateur ;
- utiliser Kodi comme catalogue et mpv comme moteur de lecture ;
- ouvrir certains ISO et dossiers Blu-ray BDMV ;
- appliquer automatiquement un traitement différent aux DVD, Blu-ray et vidéos 4K ;
- démarrer directement sur Kodi comme une véritable console de salon.
Certaines fonctions, notamment le basculement automatique du HDR, restent dépendantes du matériel et des versions de KDE Plasma. Il faut donc considérer ce projet comme une excellente base expérimentale, et non comme un appareil certifié prêt à l’emploi.
Comprendre les principaux composants
Avant de commencer, clarifions quelques termes.
Fedora
Fedora est une distribution Linux, c’est-à-dire un système d’exploitation complet construit autour du noyau Linux.
On peut comparer une distribution à une voiture complète : le noyau Linux représente le moteur, tandis que Fedora fournit la carrosserie, le tableau de bord, les outils et le système de mises à jour.
KDE Plasma
KDE Plasma est l’environnement graphique utilisé dans ce guide. Il joue un rôle comparable au bureau de Windows : menu des applications, barre des tâches, fenêtres et paramètres d’affichage.
Plasma dispose aujourd’hui d’une intégration avancée de Wayland, du HDR et du taux de rafraîchissement variable. Cela en fait une base particulièrement intéressante pour ce projet, sans signifier qu’il s’agit de l’unique environnement Linux capable d’évoluer dans cette direction.
Wayland
Wayland est le système qui organise l’affichage des fenêtres et la communication avec la carte graphique.
Il remplace progressivement X11, l’ancien système d’affichage historique de Linux. Wayland apporte notamment une meilleure gestion des écrans modernes, des fréquences variables et du HDR.
mpv
mpv est le moteur de lecture vidéo.
Il ne cherche pas à ressembler à Netflix ou à un lecteur de salon. Son interface est très simple, mais son moteur est extrêmement configurable.
Kodi
Kodi sert ici de médiathèque visuelle. Il affiche les jaquettes, les résumés, les acteurs et les différentes collections.
Dans notre montage :
- Kodi choisit le film ;
- mpv lit réellement le fichier.
Mesa
Mesa regroupe une grande partie des pilotes graphiques libres utilisés sous Linux, notamment pour les cartes AMD.
C’est l’un des intermédiaires entre le système, les applications et la carte graphique.
Ce que ce guide appelle « HDR automatique »
Une précision de vocabulaire est nécessaire.
Nous n’allons pas transformer le HDR10 en « HDR dynamique ». Le HDR10 utilise des métadonnées statiques, tandis que le Dolby Vision et le HDR10+ peuvent utiliser des métadonnées qui évoluent pendant le film.
Notre script effectuera simplement un basculement automatique entre SDR et HDR :
- le bureau reste en SDR ;
- mpv détecte une vidéo HDR10 ou HLG ;
- KDE active le mode HDR de l’écran ;
- le mode SDR est rétabli lorsque la lecture se termine.
Le bureau reste en SDR pour conserver une chaîne colorimétrique plus prévisible et éviter un affichage quotidien trop lumineux ou mal compensé. Cela ne constitue pas, à lui seul, une protection contre le marquage d’une dalle OLED.
Configuration matérielle recommandée
Le processeur
Le processeur, ou CPU, exécute les tâches générales du système.
Il n’est pas indispensable d’utiliser un processeur récent, car nous allons confier le décodage vidéo à la carte graphique. Un ancien Core i7 ou Xeon peut encore convenir à condition que la machine soit suffisamment stable et silencieuse.
La configuration ayant servi de base au projet utilise un ancien Xeon W3690 installé dans une station HP Z400.
La carte graphique
La carte graphique, ou GPU, va :
- décoder la vidéo ;
- convertir les couleurs ;
- réaliser la mise à l’échelle ;
- envoyer le signal vers l’écran.
Pour ce projet, une carte AMD relativement récente simplifie généralement la pile logicielle grâce aux pilotes Mesa libres.
Cela ne signifie pas que NVIDIA est inutilisable sous Wayland. La prise en charge a considérablement progressé. AMD a simplement permis, dans cette configuration précise, de réduire le nombre de variables à diagnostiquer.
Pourquoi éviter la RX 580 dans cette configuration ?
La Radeon RX 580 sait décoder le HEVC 10 bits. Pourtant, avec la configuration testée, son architecture Polaris a provoqué des écrans verts et des couleurs incorrectes en HDR.
Il ne faut pas en conclure que toutes les RX 580 sont incapables de fonctionner. Ce résultat peut dépendre du pilote, de la version de Mesa, du téléviseur ou du chemin vidéo employé.
Pour reproduire plus facilement le projet, une carte basée sur RDNA constitue néanmoins une base plus prudente.
La Radeon RX 5700 XT
La RX 5700 XT, basée sur la première génération RDNA, offre :
- le décodage matériel du HEVC 10 bits ;
- une sortie HDMI adaptée à la 4K ;
- suffisamment de puissance pour les shaders d’upscaling ;
- une bonne prise en charge par Mesa.
Son principal défaut est sa consommation électrique. Elle est largement surdimensionnée pour une simple lecture vidéo, mais devient intéressante lorsque nous ajoutons des traitements d’image.
L’alternative mini-PC
Un mini-PC AMD équipé d’un circuit graphique RDNA intégré peut fournir :
- une consommation réduite ;
- un faible niveau sonore ;
- un encombrement minimal ;
- une sortie HDMI récente.
Cette solution est élégante, mais son coût peut se rapprocher de celui d’un lecteur multimédia haut de gamme.
Pour les débutants
Ne cherchez pas immédiatement à reproduire l’intégralité du projet.
Commencez par faire fonctionner une vidéo SDR avec mpv. Ajoutez ensuite le décodage matériel, l’audio bitstream, le HDR, puis Kodi.
En procédant fonction par fonction, vous saurez précisément quel élément pose problème.
Partie 1 — Installer et préparer Fedora KDE
1. Installer Fedora KDE Plasma
Téléchargez l’image d’installation officielle de Fedora KDE, puis créez une clé USB amorçable.
Une image ISO est un fichier contenant une copie complète du support d’installation. On peut la comparer à un DVD d’installation placé dans un seul fichier.
Pendant l’installation :
- créez votre utilisateur principal ;
- choisissez un mot de passe solide ;
- connectez le PC au réseau ;
- conservez une partition suffisamment grande pour le système.
Une fois Fedora installé, ouvrez Konsole, le terminal de KDE, puis mettez le système à jour :
sudo dnf upgrade --refresh -y

sudo permet d’exécuter une commande avec les droits d’administration. Le système demande alors votre mot de passe.
Redémarrez après une mise à jour importante :
sudo reboot
2. Vérifier la session Wayland
Ouvrez :
Configuration du système → À propos de ce système
Vérifiez que la session graphique utilise bien Wayland.
Vous pouvez également lancer :
echo "$XDG_SESSION_TYPE"
Le résultat attendu est :
wayland

3. Régler l’affichage
Dans :
Configuration du système → Affichage et écran
Réglez :
- la résolution native du téléviseur, généralement
3840 × 2160; - la fréquence adaptée à votre utilisation ;
- le VRR ou taux de rafraîchissement adaptatif sur automatique, si le matériel le permet ;
- le HDR sur désactivé pour le bureau.
Le HDR sera activé ponctuellement par mpv.
⚠️ Un câble annoncé comme « HDMI 2.0 » ne garantit pas toujours un fonctionnement parfait. En cas de coupures, d’écran noir ou de neige numérique, testez un câble certifié plus court.
Partie 2 — Activer l’accès à distance
L’accès SSH permet d’administrer le HTPC depuis un autre ordinateur.
C’est l’équivalent d’un terminal ouvert à distance : vous tapez les commandes depuis votre PC principal, mais elles sont exécutées sur le HTPC.
Installez le serveur SSH :
sudo dnf install openssh-server -y
Activez-le immédiatement et à chaque démarrage :
sudo systemctl enable --now sshd
Autorisez le service dans le pare-feu Fedora :
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Le pare-feu joue le rôle d’un gardien placé devant les connexions réseau. Il bloque les accès qui n’ont pas été explicitement autorisés.
Trouvez ensuite l’adresse IP de la machine :
ip address
Depuis un autre ordinateur Linux, macOS ou Windows récent :
ssh steve@192.168.1.50
Remplacez steve et l’adresse IP par vos propres informations.
⚠️ N’exposez pas directement le port SSH sur Internet sans mettre en place des protections supplémentaires.
Partie 3 — Monter le NAS dans Fedora
Cette étape est facultative si vos films sont stockés sur un disque local.
Le montage du NAS permet de rendre un partage réseau visible comme un dossier normal du système. Pour mpv et libbluray, un chemin local monté sous /mnt est généralement plus fiable qu’une adresse commençant par smb://, particulièrement avec les ISO et les dossiers BDMV.
1. Installer les outils SMB
sudo dnf install cifs-utils -y
SMB est le protocole de partage de fichiers couramment utilisé par Windows, les NAS Synology, QNAP, TerraMaster et de nombreux serveurs Linux.
2. Créer le point de montage
sudo mkdir -p /mnt/Nas_Media
Ce dossier deviendra la porte d’entrée vers les films stockés sur le NAS.
3. Créer un fichier d’identifiants protégé
Créez un dossier réservé à Samba :
sudo mkdir -p /etc/samba/credentials
Créez le fichier :
sudo nano /etc/samba/credentials/nas-media
Ajoutez :
username=nom_utilisateur
password=mot_de_passe
Enregistrez avec Ctrl + O, validez avec Entrée, puis quittez avec Ctrl + X.
Protégez le fichier :
sudo chmod 600 /etc/samba/credentials/nas-media
Ainsi, seul l’administrateur pourra lire le mot de passe.
4. Sauvegarder puis modifier fstab
Le fichier /etc/fstab décrit les volumes que Linux doit monter automatiquement.
Commencez par en faire une copie :
sudo cp /etc/fstab /etc/fstab.sauvegarde
Ouvrez-le :
sudo nano /etc/fstab
Ajoutez une ligne similaire à celle-ci :
//192.168.1.10/Media /mnt/Nas_Media cifs credentials=/etc/samba/credentials/nas-media,uid=steve,gid=steve,iocharset=utf8,vers=3.0,_netdev,nofail,x-systemd.automount 0 0
Adaptez :
192.168.1.10;Media;steve;- le groupe utilisateur si nécessaire.
Testez sans redémarrer :
sudo mount -a
Puis vérifiez :
ls -la /mnt/Nas_Media
❌ Une erreur dans /etc/fstab peut perturber le démarrage.
Ne redémarrez pas avant d’avoir vérifié que sudo mount -a ne retourne aucune erreur.
Partie 4 — Installer les codecs, mpv et Kodi
Fedora privilégie les logiciels libres et ne fournit pas directement tous les codecs multimédias soumis à certaines restrictions.
Nous allons utiliser RPM Fusion, un ensemble de dépôts complémentaires très répandus dans l’écosystème Fedora.
1. Activer RPM Fusion
sudo dnf install \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm \
-y
2. Installer la version complète de FFmpeg
sudo dnf swap ffmpeg-free ffmpeg --allowerasing -y
FFmpeg est la grande boîte à outils multimédia utilisée en arrière-plan par de nombreux lecteurs.
Après ce remplacement complet, il n’est généralement pas utile d’ajouter séparément libavcodec-freeworld. Mélanger les deux méthodes peut provoquer des conflits selon la version de Fedora et de RPM Fusion.
3. Installer le pilote VA-API complet pour AMD
Essayez :
sudo dnf install mesa-va-drivers-freeworld -y
Si Fedora signale un conflit avec le paquet déjà installé, utilisez :
sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld --allowerasing -y
VA-API est l’interface utilisée par les applications Linux pour demander à la carte graphique de décoder une vidéo.
4. Installer les outils
sudo dnf install mpv kodi socat libva-utils alsa-utils wget -y
Vérifiez les capacités de décodage matériel :
vainfo
Recherchez notamment des références au HEVC et au profil Main 10.
Partie 5 — Identifier l’écran et la sortie audio
Trouver le nom de la sortie vidéo
Dans un terminal ouvert directement sur le bureau du HTPC, lancez :
kscreen-doctor -o
Vous devriez voir un nom similaire à :
HDMI-A-1
ou :
DP-1
Notez-le précisément.
💡 Il est préférable d’exécuter cette commande dans la session graphique locale. Depuis SSH, certaines variables de session Wayland ou D-Bus peuvent manquer.

Trouver la sortie HDMI audio
La méthode la plus fiable avec mpv consiste à lancer :
mpv --audio-device=help
Vous obtiendrez plusieurs périphériques, par exemple :
alsa/hdmi:CARD=HDMI,DEV=0
Testez celui qui correspond à votre amplificateur.
Vous pouvez également examiner les sorties ALSA :
aplay -L | grep -i hdmi
Partie 6 — Configurer mpv
Créez le dossier de configuration :
mkdir -p ~/.config/mpv
Ouvrez le fichier :
nano ~/.config/mpv/mpv.conf
Ajoutez :
# =========================================================
# VIDÉO — AMD, Wayland, Vulkan et décodage matériel
# =========================================================
vo=gpu-next
gpu-api=vulkan
gpu-context=waylandvk
hwdec=vaapi
target-colorspace-hint=auto
# =========================================================
# AUDIO — transmission des formats compressés vers l'ampli
# =========================================================
audio-device=alsa/hdmi:CARD=HDMI,DEV=0
audio-spdif=ac3,eac3,dts,dts-hd,truehd
audio-channels=7.1,5.1,stereo
# =========================================================
# COMPORTEMENT DU LECTEUR
# =========================================================
fullscreen=yes
keep-open=no
save-position-on-quit=yes
Adaptez impérativement la ligne audio-device.
À quoi servent ces paramètres ?
vo=gpu-next
Cette option utilise le moteur vidéo moderne de mpv.
gpu-api=vulkan
Vulkan est une interface de communication performante entre les applications et la carte graphique.
hwdec=vaapi
mpv demande à la carte graphique de décoder la vidéo.
Cela réduit fortement la charge du processeur. Une copie directe des images dans la mémoire graphique peut être obtenue selon le pilote et le format, mais il est plus prudent de vérifier le résultat que de promettre un « zéro copie » systématique.
target-colorspace-hint=auto
mpv communique au compositeur certaines informations sur l’espace colorimétrique du contenu.
Le résultat final reste dépendant du compositeur Wayland, du pilote et de l’écran. La documentation de mpv rappelle qu’il n’existe pas de réglage universel garantissant le même résultat sur tous les systèmes.
audio-spdif
Cette ligne autorise l’envoi des flux :
- Dolby Digital ;
- Dolby Digital Plus ;
- DTS ;
- DTS-HD ;
- Dolby TrueHD.
Le PC ne décode alors pas ces formats en PCM. L’amplificateur reçoit le flux compressé original et doit effectuer le décodage.
Nous ne forçons pas ao=alsa ni audio-exclusive=yes. Le périphérique alsa/... sélectionne déjà cette sortie, tandis que le mode exclusif n’est pas pris en charge de la même manière par tous les moteurs audio et n’apporte rien ici avec ALSA.
Tester la lecture
Lancez un fichier :
mpv "/mnt/Nas_Media/Films/Film-test.mkv"
Pendant la lecture, appuyez sur :
Ctrl + H
mpv affichera l’état du décodage matériel.
Vérifiez également l’écran de votre amplificateur. Il doit annoncer le format reçu, par exemple :
- Dolby TrueHD ;
- Dolby Atmos ;
- DTS-HD Master Audio.
⚠️ Le logo Atmos ne dépend pas uniquement du fichier. L’amplificateur, le port HDMI, le câblage et les réglages EDID doivent également autoriser ce format.
Partie 7 — Activer automatiquement le HDR
Tester manuellement KDE
Avant d’automatiser quoi que ce soit, testez la commande suivante en adaptant HDMI-A-1 :
kscreen-doctor \
output.HDMI-A-1.hdr.enable \
output.HDMI-A-1.wcg.enable
Pour revenir en SDR :
kscreen-doctor \
output.HDMI-A-1.hdr.disable \
output.HDMI-A-1.wcg.disable
WCG signifie Wide Color Gamut, ou gamut de couleurs étendu.
Ces commandes sont utilisées par KDE pour modifier les capacités de la sortie, mais leur comportement peut varier entre les versions de Plasma. Des régressions HDR restent possibles après une mise à jour.
Si la commande manuelle provoque un écran noir permanent, des couleurs incorrectes ou un blocage, n’installez pas encore le script automatique.
Créer le script Lua

Lua est un petit langage de programmation que mpv sait exécuter directement.
Créez le dossier :
mkdir -p ~/.config/mpv/scripts
Ouvrez le fichier :
nano ~/.config/mpv/scripts/auto-hdr.lua
Ajoutez :
local utils = require "mp.utils"
-- Remplacez cette valeur par le nom trouvé avec kscreen-doctor -o
local display_name = "HDMI-A-1"
local hdr_active = false
local function set_hdr(enable)
local state = enable and "enable" or "disable"
utils.subprocess_detached({
args = {
"kscreen-doctor",
"output." .. display_name .. ".hdr." .. state,
"output." .. display_name .. ".wcg." .. state
}
})
end
local function restore_sdr()
if hdr_active then
mp.msg.info("Retour au mode SDR")
set_hdr(false)
hdr_active = false
end
end
mp.observe_property("video-params/gamma", "string", function(_, gamma)
local is_hdr = gamma == "pq" or gamma == "hlg"
if is_hdr and not hdr_active then
mp.msg.info("Vidéo HDR détectée : activation HDR et WCG")
set_hdr(true)
hdr_active = true
elseif gamma and not is_hdr and hdr_active then
restore_sdr()
end
end)
mp.register_event("end-file", restore_sdr)
mp.register_event("shutdown", restore_sdr)
Le script ne regarde pas réellement les pixels de l’image. Il lit les métadonnées vidéo communiquées par mpv :
pqcorrespond généralement au HDR10 ;hlgcorrespond au Hybrid Log-Gamma.
L’utilisation d’un sous-processus détaché évite de bloquer mpv pendant l’exécution de kscreen-doctor.
Tester le script
Lancez un fichier HDR depuis le terminal :
mpv "/mnt/Nas_Media/Films/Test-HDR.mkv"
Observez :
- si le téléviseur annonce le passage en HDR ;
- si les couleurs semblent correctes ;
- si le mode SDR revient à la fermeture de mpv.
Gardez toujours la commande de désactivation à portée de main :
kscreen-doctor \
output.HDMI-A-1.hdr.disable \
output.HDMI-A-1.wcg.disable
Partie 8 — Utiliser Kodi comme interface de catalogue
Kodi peut appeler un lecteur externe grâce au fichier playercorefactory.xml. Cette méthode est officiellement prévue par Kodi.
Créez le dossier si nécessaire :
mkdir -p ~/.kodi/userdata
Ouvrez :
nano ~/.kodi/userdata/playercorefactory.xml
Ajoutez :
<playercorefactory>
<players>
<player name="mpv" type="ExternalPlayer" audio="false" video="true">
<filename>/usr/bin/mpv</filename>
<args>--config-dir=/home/steve/.config/mpv --input-ipc-server=/tmp/mpvsocket "{1}"</args>
<hidexbmc>true</hidexbmc>
<playcountminimumtime>120</playcountminimumtime>
</player>
</players>
<rules action="prepend">
<rule video="true" player="mpv"/>
</rules>
</playercorefactory>
Remplacez /home/steve par votre véritable dossier personnel.
L’option :
<hidexbmc>true</hidexbmc>
masque Kodi pendant la lecture externe.
Limite importante : la reprise de lecture
Lorsque Kodi utilise un lecteur externe, il ne maîtrise plus toute la lecture.
La position d’arrêt et la reprise exacte peuvent donc être moins bien intégrées que lorsqu’il utilise son lecteur interne. Le paramètre save-position-on-quit=yes permet à mpv de mémoriser sa propre position, mais Kodi ne récupérera pas nécessairement cette information dans sa base de données.
Ajouter les films depuis le point de montage
Dans Kodi :
- ouvrez Vidéos → Fichiers ;
- sélectionnez Ajouter une source vidéo ;
- choisissez Système de fichiers racine ;
- ouvrez
mnt; - sélectionnez
Nas_Media; - choisissez le dossier de vos films ;
- définissez son contenu sur Films.
Une adresse smb:// peut fonctionner pour de simples MKV. Le chemin monté sous /mnt devient surtout important pour les ISO et certaines structures Blu-ray que le lecteur externe doit traiter comme des supports locaux.
Partie 9 — Lire des ISO et des dossiers Blu-ray BDMV
Limite concernant les disques protégés
La bibliothèque libbluray sait comprendre :
- les playlists Blu-ray ;
- les chapitres ;
- les structures BDMV ;
- certains menus ;
- les images ISO compatibles.
En revanche, libbluray ne déchiffre pas à elle seule les protections commerciales AACS ou BD+. Cette partie du guide concerne donc des sauvegardes personnelles déjà accessibles et non chiffrées.
Installer libbluray
sudo dnf install libbluray -y
Créer un lanceur intelligent
Au lieu de demander directement à Kodi de lancer mpv, nous allons placer un petit script entre les deux.
Créez le fichier sans utiliser sudo :
nano ~/.config/mpv/htpc-launcher.sh
Ajoutez :
#!/usr/bin/env bash
set -u
FILE="${1:-}"
if [[ -z "$FILE" ]]; then
printf 'Aucun fichier reçu depuis Kodi.\n' >&2
exit 2
fi
MPV=(
/usr/bin/mpv
"--config-dir=$HOME/.config/mpv"
"--input-ipc-server=/tmp/mpvsocket"
)
FILE_LOWER="${FILE,,}"
# Image ISO Blu-ray
if [[ "$FILE_LOWER" == *.iso ]]; then
exec "${MPV[@]}" bd://longest "--bluray-device=$FILE"
# Kodi peut pointer directement vers BDMV/index.bdmv
elif [[ "$FILE_LOWER" == */bdmv/index.bdmv ]]; then
ROOT_DIR="$(dirname -- "$(dirname -- "$FILE")")"
exec "${MPV[@]}" bd://longest "--bluray-device=$ROOT_DIR"
# Kodi peut aussi transmettre le dossier racine du Blu-ray
elif [[ -d "$FILE/BDMV" || -d "$FILE/bdmv" ]]; then
exec "${MPV[@]}" bd://longest "--bluray-device=$FILE"
# MKV, MP4 et autres fichiers classiques
else
exec "${MPV[@]}" "$FILE"
fi
La syntaxe bd://longest demande à libbluray de sélectionner la playlist la plus longue. Dans la majorité des films, il s’agit du programme principal.
⚠️ Certains disques utilisent plusieurs playlists complexes ou volontairement trompeuses. La plus longue n’est donc pas garantie d’être toujours la bonne.
Rendez le script exécutable :
chmod +x ~/.config/mpv/htpc-launcher.sh
Modifier playercorefactory.xml
Remplacez son contenu par :
<playercorefactory>
<players>
<player name="mpv-launcher" type="ExternalPlayer" audio="false" video="true">
<filename>/home/steve/.config/mpv/htpc-launcher.sh</filename>
<args>"{1}"</args>
<hidexbmc>true</hidexbmc>
<playcountminimumtime>120</playcountminimumtime>
</player>
</players>
<rules action="prepend">
<rule video="true" player="mpv-launcher"/>
</rules>
</playercorefactory>
Adaptez à nouveau /home/steve.
Partie 10 — Ajouter un upscaling intelligent
Un traitement d’upscaling ne recrée pas miraculeusement les détails absents d’un DVD.
Il peut néanmoins :
- réduire certains défauts ;
- améliorer la perception des contours ;
- rendre une source basse définition plus agréable sur un écran 4K.
Nous allons utiliser FSRCNNX, un shader dérivé d’un réseau neuronal et conçu pour fonctionner avec mpv.
Télécharger FSRCNNX
mkdir -p ~/.config/mpv/shaders
cd ~/.config/mpv/shaders
Téléchargez la version 1.1 :
wget https://github.com/igv/FSRCNN-TensorFlow/releases/download/1.1/FSRCNNX_x2_8-0-4-1.glsl
Créer des profils automatiques
Ajoutez le bloc suivant à la fin de ~/.config/mpv/mpv.conf :
# =========================================================
# === MOTEUR D'UPSCALING INTELLIGENT (AUTO-PROFILES) ======
# =========================================================
# RÈGLE 1 : POUR LES DVD ET BASSES RÉSOLUTIONS (Moins de 1080p)
# Action : Désentrelacement, Nettoyage des macroblocs, puis Upscaling doux
[upscale-dvd]
profile-cond=width < 1920 and height < 1080
profile-restore=copy
deinterlace=yes
deband=yes
deband-iterations=2
deband-threshold=35
deband-range=20
deband-grain=5
glsl-shader="~~/shaders/FSRCNNX_x2_8-0-4-1.glsl"
scale=ewa_lanczos
cscale=ewa_lanczos
scale-antiring=0.7
cscale-antiring=0.7
# RÈGLE 2 : POUR LES BLU-RAY STANDARDS (1080p)
# Action : Upscaling neuronal pur pour atteindre la 4K. Pas d'anti-ringing né-cessaire.
[upscale-bluray]
profile-cond=(width >= 1920 or height >= 1080) and (width < 3840 and height < 2160)
profile-restore=copy
glsl-shader="~~/shaders/FSRCNNX_x2_8-0-4-1.glsl"
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
scale-antiring=0.0
cscale-antiring=0.0
# RÈGLE 3 : POUR LES REMUX 4K UHD (2160p et plus)
# Action : COUPE-CIRCUIT. On désactive tout. Pureté absolue du signal.
[passthrough-4k]
profile-cond=width >= 3840 or height >= 2160
profile-restore=copy
glsl-shaders-clr
scale=bilinear
cscale=bilinear
Les profils conditionnels de mpv permettent d’activer automatiquement des réglages selon les propriétés du fichier. Cette fonctionnalité est puissante, mais sa syntaxe peut encore évoluer entre les versions.
Ce qui se passe pendant la lecture
DVD ou basse définition
mpv :
- désentrelace la vidéo ;
- réduit une partie des bandes de couleurs ;
- applique FSRCNNX ;
- utilise un filtre de mise à l’échelle relativement doux.
Le désentrelacement ne devrait être activé que lorsque la source est réellement entrelacée. Certains DVD progressifs peuvent nécessiter un réglage différent.
Blu-ray 1080p
FSRCNNX réalise une mise à l’échelle ×2, ce qui correspond précisément au passage de :
1920 × 1080
à :
3840 × 2160
Le résultat peut être plus détaillé et plus net, sans devenir pour autant un véritable master UHD.
Vidéo 4K native
Les shaders sont supprimés afin de préserver la source et d’éviter une charge inutile sur le GPU.
Partie 11 — Démarrer directement sur Kodi
Activer la connexion automatique
La méthode la plus simple consiste à utiliser les paramètres de KDE ou de SDDM lorsqu’une option graphique est proposée.
L’autologin présente toutefois un risque évident : toute personne ayant accès physiquement au HTPC peut ouvrir la session sans mot de passe.
Pour une configuration manuelle, commencez par identifier le nom exact de la session Wayland :
ls /usr/share/wayland-sessions/
Vous pourriez obtenir un fichier similaire à :
plasma.desktop
Créez ensuite :
sudo mkdir -p /etc/sddm.conf.d
sudo nano /etc/sddm.conf.d/autologin.conf
Ajoutez en adaptant les valeurs :
[Autologin]
User=steve
Session=plasma.desktop
Ne recopiez pas aveuglément plasma.desktop. Utilisez exactement le nom présent sur votre système.
Lancer Kodi automatiquement
KDE possède un module graphique :
Configuration du système → Démarrage et arrêt → Démarrage automatique
Ajoutez Kodi à la liste.
La méthode en ligne de commande consiste à copier son lanceur :
mkdir -p ~/.config/autostart
cp /usr/share/applications/kodi.desktop ~/.config/autostart/
Masquer visuellement le bureau
Pour rendre Linux presque invisible :
- appliquez un fond d’écran noir ;
- placez le panneau KDE en masquage automatique ;
- désactivez éventuellement le son de connexion ;
- configurez Kodi en plein écran.
Le bureau pourra apparaître brièvement avant Kodi. Ce montage reste une session KDE classique automatisée, et non un système embarqué totalement dépourvu de bureau.
Partie 12 — Ajouter un éclairage Ambilight avec HyperHDR
HyperHDR est un projet libre destiné à piloter un éclairage ambiant en fonction du contenu affiché à l’écran.
Il prend notamment en charge la capture Wayland par PipeWire.
Cependant, la capture d’écran sous Fedora KDE Wayland peut encore échouer selon :
- la version de KDE ;
- le portail PipeWire ;
- la méthode d’installation ;
- les permissions accordées ;
- le format HDR.
Des problèmes de capture ont déjà été rapportés avec certaines versions de Fedora et Plasma. Considérez donc cette section comme expérimentale.
La procédure générale est la suivante :
- télécharger le paquet Fedora depuis les publications officielles d’HyperHDR ;
- installer le paquet RPM correspondant à votre version ;
- activer le service utilisateur indiqué par le paquet ;
- ouvrir l’interface web d’HyperHDR ;
- sélectionner PipeWire comme source de capture ;
- autoriser le partage de l’écran lorsque KDE le demande ;
- activer le tone mapping HDR pour obtenir des couleurs de LED cohérentes.
Les noms de services ayant déjà évolué, consultez la documentation accompagnant précisément la version installée plutôt que de recopier une ancienne commande.
Corriger les problèmes de permissions
Les fichiers situés dans votre dossier personnel doivent être créés sans sudo.
Par exemple :
nano ~/.config/mpv/mpv.conf
et non :
sudo nano ~/.config/mpv/mpv.conf
Si vous avez créé les fichiers avec les droits administrateur, restituez-les à votre utilisateur :
sudo chown -R "$USER":"$(id -gn)" \
"$HOME/.config/mpv" \
"$HOME/.kodi"
Dépannage rapide
L’image HDR est verte ou violette
Vérifiez :
- la version de Mesa ;
- le pilote utilisé ;
- le câble HDMI ;
- la profondeur de couleur acceptée par l’écran ;
- le fonctionnement sans le script HDR ;
- le fonctionnement avec un autre GPU.
Testez d’abord :
mpv --no-config "Film-HDR.mkv"
Cette commande ignore toute votre configuration mpv. Elle permet de déterminer si le problème vient du fichier de configuration.
L’amplificateur affiche PCM
Vérifiez :
mpv --audio-device=help
Assurez-vous également que :
- le fichier contient réellement une piste compatible ;
- le téléviseur ou l’amplificateur accepte le format ;
- le PC est relié directement à l’amplificateur si le téléviseur ne retransmet pas le format ;
- le port eARC est correctement configuré lorsque le son transite par le téléviseur.
mpv sollicite fortement le processeur
Vérifiez :
vainfo
Puis observez les informations de mpv avec Ctrl + H.
Si le décodage matériel ne fonctionne pas, le processeur prend le relais.
Kodi ne lance pas mpv
Vérifiez :
chmod +x ~/.config/mpv/htpc-launcher.sh
Testez ensuite directement le script :
~/.config/mpv/htpc-launcher.sh "/chemin/vers/un-film.mkv"
Le HDR reste actif après un plantage
Utilisez manuellement :
kscreen-doctor \
output.HDMI-A-1.hdr.disable \
output.HDMI-A-1.wcg.disable
Adaptez le nom de la sortie.
FAQ
Fedora est-il obligatoire pour construire ce HTPC ?
Non. Arch Linux, openSUSE, Ubuntu et d’autres distributions peuvent également être utilisées.
Fedora KDE a été retenu parce qu’il fournit une pile graphique récente et une bonne intégration de KDE Plasma et Wayland.
Une carte NVIDIA peut-elle fonctionner ?
Oui, selon la génération du GPU, le pilote et la version du système.
AMD a simplement fourni une configuration plus prévisible pour ce projet précis. Il serait incorrect d’affirmer que NVIDIA est totalement incompatible avec Wayland ou le HDR.
Le script prend-il en charge le Dolby Vision ?
Non.
Le script détecte essentiellement les transferts PQ et HLG signalés par mpv. La prise en charge complète du Dolby Vision sous Linux dépend du profil vidéo, du conteneur, du lecteur, du pilote et de l’écran.
Le bitstream améliore-t-il la qualité audio ?
Pas nécessairement.
Le bitstream signifie que l’amplificateur décode le flux Dolby ou DTS à la place du PC. Un décodage PCM correctement effectué peut également être fidèle.
Le bitstream reste néanmoins utile pour conserver le traitement, l’affichage des formats et certaines fonctions Atmos ou DTS:X du matériel Home Cinéma.
FSRCNNX transforme-t-il réellement un DVD en 4K ?
Non.
Le fichier affiché occupe bien un écran 4K, mais le shader ne peut pas recréer toutes les informations absentes du DVD.
Il peut améliorer la perception des détails et réduire certains défauts, ce qui est déjà très intéressant.
Puis-je lire directement un Blu-ray commercial protégé ?
Libbluray ne déchiffre pas seul les protections AACS ou BD+.
Le guide concerne des structures Blu-ray et des sauvegardes personnelles déjà accessibles au lecteur.
Ce système remplace-t-il un lecteur multimédia haut de gamme ?
Il peut rivaliser sur plusieurs points :
- qualité de décodage ;
- audio bitstream ;
- lecture locale ;
- personnalisation ;
- évolutivité.
Il ne possède toutefois pas nécessairement :
- les certifications commerciales ;
- le Dolby Vision complet ;
- une gestion parfaite des menus Blu-ray ;
- le support constructeur ;
- la simplicité d’un appareil fermé prêt à l’emploi.
Conclusion
Nous avons construit bien plus qu’un simple ordinateur relié à un téléviseur.
Notre HTPC sous Fedora est désormais capable de :
- lire des fichiers locaux et réseau ;
- utiliser le décodage matériel AMD ;
- envoyer les pistes audio HD vers un amplificateur ;
- basculer automatiquement entre SDR et HDR ;
- utiliser Kodi comme catalogue ;
- confier la lecture à mpv ;
- ouvrir certaines sauvegardes ISO et BDMV ;
- adapter l’upscaling à la résolution de chaque vidéo ;
- démarrer presque comme une console de salon.
Cette solution ne remplace pas encore chaque fonction d’un lecteur fermé très haut de gamme. Elle offre cependant une base ouverte, transparente et évolutive.
Vous savez ce que fait chaque composant, vous pouvez modifier chaque réglage et vous ne dépendez pas entièrement des décisions d’un constructeur.
🎬 Retrouvez également la démonstration et les explications en vidéo :
Partagez votre configuration, vos résultats et les éventuels problèmes rencontrés dans les commentaires. Ils pourront servir de base à de futurs tests consacrés au HDR, à l’upscaling et à l’automatisation du HTPC sous Linux.
Captures d’écran suggérées
- Fedora KDE affiché sur le téléviseur
Texte alternatif :HTPC Fedora KDE connecté à un téléviseur 4K - Paramètres d’affichage de KDE Plasma
Texte alternatif :Réglages Wayland et HDR dans KDE Plasma sous Fedora - Résultat de la commande kscreen-doctor
Texte alternatif :Identifier une sortie HDMI avec kscreen-doctor - Informations de décodage matériel dans mpv
Texte alternatif :Décodage matériel HEVC 10 bits avec mpv et VA-API - Amplificateur affichant Dolby Atmos ou DTS-HD
Texte alternatif :Bitstream Dolby Atmos depuis un HTPC Linux - Bibliothèque Kodi avec jaquettes de films
Texte alternatif :Kodi utilisé comme médiathèque avec le lecteur externe mpv - Comparaison visuelle DVD avant et après FSRCNNX
Texte alternatif :Upscaling d’un DVD avec le shader FSRCNNX sous mpv