{"id":424,"date":"2026-07-13T05:57:51","date_gmt":"2026-07-13T04:57:51","guid":{"rendered":"https:\/\/chainesteve.be\/?p=424"},"modified":"2026-07-13T05:57:53","modified_gmt":"2026-07-13T04:57:53","slug":"htpc-fedora-linux-4k-hdr-mpv-kodi","status":"publish","type":"post","link":"https:\/\/chainesteve.be\/index.php\/2026\/07\/13\/htpc-fedora-linux-4k-hdr-mpv-kodi\/","title":{"rendered":"Construire un HTPC sous Fedora Linux : lecture 4K HDR, bitstream audio, Kodi et mpv"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Peut-on construire sous Linux un v\u00e9ritable lecteur Home Cin\u00e9ma 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 ?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La r\u00e9ponse est oui, mais avec une nuance importante : <strong>il n\u2019existe pas encore de recette universelle qui fonctionne \u00e0 l\u2019identique sur toutes les configurations<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La lecture HDR sous Linux d\u00e9pend de nombreux \u00e9l\u00e9ments :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la carte graphique ;<\/li>\n\n\n\n<li>son pilote ;<\/li>\n\n\n\n<li>la version de Mesa ;<\/li>\n\n\n\n<li>le compositeur Wayland ;<\/li>\n\n\n\n<li>le t\u00e9l\u00e9viseur ou le vid\u00e9oprojecteur ;<\/li>\n\n\n\n<li>l\u2019amplificateur HDMI ;<\/li>\n\n\n\n<li>le c\u00e2ble utilis\u00e9 ;<\/li>\n\n\n\n<li>le format et les m\u00e9tadonn\u00e9es du fichier vid\u00e9o.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ce guide documente donc une configuration pr\u00e9cise, test\u00e9e autour de <strong>Fedora KDE Plasma, Wayland, une carte graphique AMD et le lecteur mpv<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019objectif n\u2019est pas de promettre une solution magique. Nous allons plut\u00f4t construire une base :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ouverte ;<\/li>\n\n\n\n<li>reproductible ;<\/li>\n\n\n\n<li>compr\u00e9hensible ;<\/li>\n\n\n\n<li>am\u00e9liorable ;<\/li>\n\n\n\n<li>ind\u00e9pendante d\u2019un lecteur multim\u00e9dia propri\u00e9taire.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 la date de mise \u00e0 jour de cet article, en juillet 2026, Fedora 44 est la version courante. Linux \u00e9voluant rapidement, certains menus ou comportements pourront changer dans les prochaines versions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-embed is-provider-youtube wp-block-embed-youtube\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/youtu.be\/iHdxQPBDuJU\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que nous allons construire<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 la fin de ce guide, notre HTPC devra \u00eatre capable de :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>lire des fichiers vid\u00e9o locaux et des films stock\u00e9s sur un NAS ;<\/li>\n\n\n\n<li>d\u00e9coder mat\u00e9riellement le HEVC 10 bits ;<\/li>\n\n\n\n<li>afficher du HDR10 ou du HLG sur un \u00e9cran compatible ;<\/li>\n\n\n\n<li>laisser le bureau Linux en SDR lorsque nous ne regardons pas de contenu HDR ;<\/li>\n\n\n\n<li>transmettre les pistes Dolby et DTS directement \u00e0 l\u2019amplificateur ;<\/li>\n\n\n\n<li>utiliser Kodi comme catalogue et mpv comme moteur de lecture ;<\/li>\n\n\n\n<li>ouvrir certains ISO et dossiers Blu-ray BDMV ;<\/li>\n\n\n\n<li>appliquer automatiquement un traitement diff\u00e9rent aux DVD, Blu-ray et vid\u00e9os 4K ;<\/li>\n\n\n\n<li>d\u00e9marrer directement sur Kodi comme une v\u00e9ritable console de salon.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Certaines fonctions, notamment le basculement automatique du HDR, restent d\u00e9pendantes du mat\u00e9riel et des versions de KDE Plasma. Il faut donc consid\u00e9rer ce projet comme une excellente base exp\u00e9rimentale, et non comme un appareil certifi\u00e9 pr\u00eat \u00e0 l\u2019emploi.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Comprendre les principaux composants<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant de commencer, clarifions quelques termes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fedora<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Fedora est une <strong>distribution Linux<\/strong>, c\u2019est-\u00e0-dire un syst\u00e8me d\u2019exploitation complet construit autour du noyau Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On peut comparer une distribution \u00e0 une voiture compl\u00e8te : le noyau Linux repr\u00e9sente le moteur, tandis que Fedora fournit la carrosserie, le tableau de bord, les outils et le syst\u00e8me de mises \u00e0 jour.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">KDE Plasma<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">KDE Plasma est l\u2019environnement graphique utilis\u00e9 dans ce guide. Il joue un r\u00f4le comparable au bureau de Windows : menu des applications, barre des t\u00e2ches, fen\u00eatres et param\u00e8tres d\u2019affichage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Plasma dispose aujourd\u2019hui d\u2019une int\u00e9gration avanc\u00e9e de Wayland, du HDR et du taux de rafra\u00eechissement variable. Cela en fait une base particuli\u00e8rement int\u00e9ressante pour ce projet, sans signifier qu\u2019il s\u2019agit de l\u2019unique environnement Linux capable d\u2019\u00e9voluer dans cette direction.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wayland<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wayland est le syst\u00e8me qui organise l\u2019affichage des fen\u00eatres et la communication avec la carte graphique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il remplace progressivement X11, l\u2019ancien syst\u00e8me d\u2019affichage historique de Linux. Wayland apporte notamment une meilleure gestion des \u00e9crans modernes, des fr\u00e9quences variables et du HDR.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">mpv<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">mpv est le moteur de lecture vid\u00e9o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il ne cherche pas \u00e0 ressembler \u00e0 Netflix ou \u00e0 un lecteur de salon. Son interface est tr\u00e8s simple, mais son moteur est extr\u00eamement configurable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kodi<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Kodi sert ici de m\u00e9diath\u00e8que visuelle. Il affiche les jaquettes, les r\u00e9sum\u00e9s, les acteurs et les diff\u00e9rentes collections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans notre montage :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kodi choisit le film ;<\/strong><\/li>\n\n\n\n<li><strong>mpv lit r\u00e9ellement le fichier.<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Mesa<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mesa regroupe une grande partie des pilotes graphiques libres utilis\u00e9s sous Linux, notamment pour les cartes AMD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est l\u2019un des interm\u00e9diaires entre le syst\u00e8me, les applications et la carte graphique.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que ce guide appelle \u00ab HDR automatique \u00bb<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Une pr\u00e9cision de vocabulaire est n\u00e9cessaire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous n\u2019allons pas transformer le HDR10 en \u00ab HDR dynamique \u00bb. Le HDR10 utilise des m\u00e9tadonn\u00e9es statiques, tandis que le Dolby Vision et le HDR10+ peuvent utiliser des m\u00e9tadonn\u00e9es qui \u00e9voluent pendant le film.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notre script effectuera simplement un <strong>basculement automatique entre SDR et HDR<\/strong> :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>le bureau reste en SDR ;<\/li>\n\n\n\n<li>mpv d\u00e9tecte une vid\u00e9o HDR10 ou HLG ;<\/li>\n\n\n\n<li>KDE active le mode HDR de l\u2019\u00e9cran ;<\/li>\n\n\n\n<li>le mode SDR est r\u00e9tabli lorsque la lecture se termine.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le bureau reste en SDR pour conserver une cha\u00eene colorim\u00e9trique plus pr\u00e9visible et \u00e9viter un affichage quotidien trop lumineux ou mal compens\u00e9. Cela ne constitue pas, \u00e0 lui seul, une protection contre le marquage d\u2019une dalle OLED.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration mat\u00e9rielle recommand\u00e9e<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Le processeur<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le processeur, ou CPU, ex\u00e9cute les t\u00e2ches g\u00e9n\u00e9rales du syst\u00e8me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il n\u2019est pas indispensable d\u2019utiliser un processeur r\u00e9cent, car nous allons confier le d\u00e9codage vid\u00e9o \u00e0 la carte graphique. Un ancien Core i7 ou Xeon peut encore convenir \u00e0 condition que la machine soit suffisamment stable et silencieuse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La configuration ayant servi de base au projet utilise un ancien Xeon W3690 install\u00e9 dans une station HP Z400.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">La carte graphique<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La carte graphique, ou GPU, va :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>d\u00e9coder la vid\u00e9o ;<\/li>\n\n\n\n<li>convertir les couleurs ;<\/li>\n\n\n\n<li>r\u00e9aliser la mise \u00e0 l\u2019\u00e9chelle ;<\/li>\n\n\n\n<li>envoyer le signal vers l\u2019\u00e9cran.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pour ce projet, une carte AMD relativement r\u00e9cente simplifie g\u00e9n\u00e9ralement la pile logicielle gr\u00e2ce aux pilotes Mesa libres.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cela ne signifie pas que NVIDIA est inutilisable sous Wayland. La prise en charge a consid\u00e9rablement progress\u00e9. AMD a simplement permis, dans cette configuration pr\u00e9cise, de r\u00e9duire le nombre de variables \u00e0 diagnostiquer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pourquoi \u00e9viter la RX 580 dans cette configuration ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La Radeon RX 580 sait d\u00e9coder le HEVC 10 bits. Pourtant, avec la configuration test\u00e9e, son architecture Polaris a provoqu\u00e9 des \u00e9crans verts et des couleurs incorrectes en HDR.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il ne faut pas en conclure que toutes les RX 580 sont incapables de fonctionner. Ce r\u00e9sultat peut d\u00e9pendre du pilote, de la version de Mesa, du t\u00e9l\u00e9viseur ou du chemin vid\u00e9o employ\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour reproduire plus facilement le projet, une carte bas\u00e9e sur RDNA constitue n\u00e9anmoins une base plus prudente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">La Radeon RX 5700 XT<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La RX 5700 XT, bas\u00e9e sur la premi\u00e8re g\u00e9n\u00e9ration RDNA, offre :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>le d\u00e9codage mat\u00e9riel du HEVC 10 bits ;<\/li>\n\n\n\n<li>une sortie HDMI adapt\u00e9e \u00e0 la 4K ;<\/li>\n\n\n\n<li>suffisamment de puissance pour les shaders d\u2019upscaling ;<\/li>\n\n\n\n<li>une bonne prise en charge par Mesa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Son principal d\u00e9faut est sa consommation \u00e9lectrique. Elle est largement surdimensionn\u00e9e pour une simple lecture vid\u00e9o, mais devient int\u00e9ressante lorsque nous ajoutons des traitements d\u2019image.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">L\u2019alternative mini-PC<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un mini-PC AMD \u00e9quip\u00e9 d\u2019un circuit graphique RDNA int\u00e9gr\u00e9 peut fournir :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>une consommation r\u00e9duite ;<\/li>\n\n\n\n<li>un faible niveau sonore ;<\/li>\n\n\n\n<li>un encombrement minimal ;<\/li>\n\n\n\n<li>une sortie HDMI r\u00e9cente.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cette solution est \u00e9l\u00e9gante, mais son co\u00fbt peut se rapprocher de celui d\u2019un lecteur multim\u00e9dia haut de gamme.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Pour les d\u00e9butants<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ne cherchez pas imm\u00e9diatement \u00e0 reproduire l\u2019int\u00e9gralit\u00e9 du projet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Commencez par faire fonctionner une vid\u00e9o SDR avec mpv. Ajoutez ensuite le d\u00e9codage mat\u00e9riel, l\u2019audio bitstream, le HDR, puis Kodi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En proc\u00e9dant fonction par fonction, vous saurez pr\u00e9cis\u00e9ment quel \u00e9l\u00e9ment pose probl\u00e8me.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 1 \u2014 Installer et pr\u00e9parer Fedora KDE<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1. Installer Fedora KDE Plasma<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e9l\u00e9chargez l\u2019image d\u2019installation officielle de Fedora KDE, puis cr\u00e9ez une cl\u00e9 USB amor\u00e7able.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une image ISO est un fichier contenant une copie compl\u00e8te du support d\u2019installation. On peut la comparer \u00e0 un DVD d\u2019installation plac\u00e9 dans un seul fichier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pendant l\u2019installation :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cr\u00e9ez votre utilisateur principal ;<\/li>\n\n\n\n<li>choisissez un mot de passe solide ;<\/li>\n\n\n\n<li>connectez le PC au r\u00e9seau ;<\/li>\n\n\n\n<li>conservez une partition suffisamment grande pour le syst\u00e8me.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois Fedora install\u00e9, ouvrez Konsole, le terminal de KDE, puis mettez le syst\u00e8me \u00e0 jour :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf upgrade --refresh -y\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h50m19s244-1024x576.png\" alt=\"\" class=\"wp-image-426\" srcset=\"https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h50m19s244-1024x576.png 1024w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h50m19s244-300x169.png 300w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h50m19s244-768x432.png 768w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h50m19s244-1536x864.png 1536w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h50m19s244.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo<\/code> permet d\u2019ex\u00e9cuter une commande avec les droits d\u2019administration. Le syst\u00e8me demande alors votre mot de passe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Red\u00e9marrez apr\u00e8s une mise \u00e0 jour importante :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo reboot\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2. V\u00e9rifier la session Wayland<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ouvrez :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configuration du syst\u00e8me \u2192 \u00c0 propos de ce syst\u00e8me<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez que la session graphique utilise bien <strong>Wayland<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez \u00e9galement lancer :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"$XDG_SESSION_TYPE\"\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le r\u00e9sultat attendu est :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wayland\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m23s371-1024x576.png\" alt=\"\" class=\"wp-image-427\" srcset=\"https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m23s371-1024x576.png 1024w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m23s371-300x169.png 300w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m23s371-768x432.png 768w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m23s371-1536x864.png 1536w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m23s371.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3. R\u00e9gler l\u2019affichage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configuration du syst\u00e8me \u2192 Affichage et \u00e9cran<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00e9glez :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la r\u00e9solution native du t\u00e9l\u00e9viseur, g\u00e9n\u00e9ralement <code>3840 \u00d7 2160<\/code> ;<\/li>\n\n\n\n<li>la fr\u00e9quence adapt\u00e9e \u00e0 votre utilisation ;<\/li>\n\n\n\n<li>le VRR ou taux de rafra\u00eechissement adaptatif sur automatique, si le mat\u00e9riel le permet ;<\/li>\n\n\n\n<li>le HDR sur d\u00e9sactiv\u00e9 pour le bureau.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le HDR sera activ\u00e9 ponctuellement par mpv.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f Un c\u00e2ble annonc\u00e9 comme \u00ab HDMI 2.0 \u00bb ne garantit pas toujours un fonctionnement parfait. En cas de coupures, d\u2019\u00e9cran noir ou de neige num\u00e9rique, testez un c\u00e2ble certifi\u00e9 plus court.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 2 \u2014 Activer l\u2019acc\u00e8s \u00e0 distance<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019acc\u00e8s SSH permet d\u2019administrer le HTPC depuis un autre ordinateur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est l\u2019\u00e9quivalent d\u2019un terminal ouvert \u00e0 distance : vous tapez les commandes depuis votre PC principal, mais elles sont ex\u00e9cut\u00e9es sur le HTPC.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Installez le serveur SSH :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install openssh-server -y\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Activez-le imm\u00e9diatement et \u00e0 chaque d\u00e9marrage :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now sshd\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Autorisez le service dans le pare-feu Fedora :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo firewall-cmd --permanent --add-service=ssh\nsudo firewall-cmd --reload\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le pare-feu joue le r\u00f4le d\u2019un gardien plac\u00e9 devant les connexions r\u00e9seau. Il bloque les acc\u00e8s qui n\u2019ont pas \u00e9t\u00e9 explicitement autoris\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trouvez ensuite l\u2019adresse IP de la machine :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ip address\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Depuis un autre ordinateur Linux, macOS ou Windows r\u00e9cent :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh steve@192.168.1.50\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Remplacez <code>steve<\/code> et l\u2019adresse IP par vos propres informations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f N\u2019exposez pas directement le port SSH sur Internet sans mettre en place des protections suppl\u00e9mentaires.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 3 \u2014 Monter le NAS dans Fedora<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Cette \u00e9tape est facultative si vos films sont stock\u00e9s sur un disque local.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le montage du NAS permet de rendre un partage r\u00e9seau visible comme un dossier normal du syst\u00e8me. Pour mpv et libbluray, un chemin local mont\u00e9 sous <code>\/mnt<\/code> est g\u00e9n\u00e9ralement plus fiable qu\u2019une adresse commen\u00e7ant par <code>smb:\/\/<\/code>, particuli\u00e8rement avec les ISO et les dossiers BDMV.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Installer les outils SMB<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install cifs-utils -y\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">SMB est le protocole de partage de fichiers couramment utilis\u00e9 par Windows, les NAS Synology, QNAP, TerraMaster et de nombreux serveurs Linux.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Cr\u00e9er le point de montage<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/mnt\/Nas_Media\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ce dossier deviendra la porte d\u2019entr\u00e9e vers les films stock\u00e9s sur le NAS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Cr\u00e9er un fichier d\u2019identifiants prot\u00e9g\u00e9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9ez un dossier r\u00e9serv\u00e9 \u00e0 Samba :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/etc\/samba\/credentials\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9ez le fichier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/samba\/credentials\/nas-media\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>username=nom_utilisateur\npassword=mot_de_passe\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Enregistrez avec <code>Ctrl + O<\/code>, validez avec Entr\u00e9e, puis quittez avec <code>Ctrl + X<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prot\u00e9gez le fichier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod 600 \/etc\/samba\/credentials\/nas-media\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ainsi, seul l\u2019administrateur pourra lire le mot de passe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Sauvegarder puis modifier fstab<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le fichier <code>\/etc\/fstab<\/code> d\u00e9crit les volumes que Linux doit monter automatiquement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Commencez par en faire une copie :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo cp \/etc\/fstab \/etc\/fstab.sauvegarde\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ouvrez-le :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/fstab\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez une ligne similaire \u00e0 celle-ci :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/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\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Adaptez :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>192.168.1.10<\/code> ;<\/li>\n\n\n\n<li><code>Media<\/code> ;<\/li>\n\n\n\n<li><code>steve<\/code> ;<\/li>\n\n\n\n<li>le groupe utilisateur si n\u00e9cessaire.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Testez sans red\u00e9marrer :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mount -a\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Puis v\u00e9rifiez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -la \/mnt\/Nas_Media\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u274c Une erreur dans <code>\/etc\/fstab<\/code> peut perturber le d\u00e9marrage. <br>Ne red\u00e9marrez pas avant d\u2019avoir v\u00e9rifi\u00e9 que <code>sudo mount -a<\/code> ne retourne aucune erreur.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 4 \u2014 Installer les codecs, mpv et Kodi<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Fedora privil\u00e9gie les logiciels libres et ne fournit pas directement tous les codecs multim\u00e9dias soumis \u00e0 certaines restrictions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous allons utiliser RPM Fusion, un ensemble de d\u00e9p\u00f4ts compl\u00e9mentaires tr\u00e8s r\u00e9pandus dans l\u2019\u00e9cosyst\u00e8me Fedora.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Activer RPM Fusion<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install \\\nhttps:\/\/mirrors.rpmfusion.org\/free\/fedora\/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \\\nhttps:\/\/mirrors.rpmfusion.org\/nonfree\/fedora\/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm \\\n-y\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2. Installer la version compl\u00e8te de FFmpeg<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf swap ffmpeg-free ffmpeg --allowerasing -y\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">FFmpeg est la grande bo\u00eete \u00e0 outils multim\u00e9dia utilis\u00e9e en arri\u00e8re-plan par de nombreux lecteurs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s ce remplacement complet, il n\u2019est g\u00e9n\u00e9ralement pas utile d\u2019ajouter s\u00e9par\u00e9ment <code>libavcodec-freeworld<\/code>. M\u00e9langer les deux m\u00e9thodes peut provoquer des conflits selon la version de Fedora et de RPM Fusion.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Installer le pilote VA-API complet pour AMD<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Essayez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install mesa-va-drivers-freeworld -y\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si Fedora signale un conflit avec le paquet d\u00e9j\u00e0 install\u00e9, utilisez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld --allowerasing -y\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">VA-API est l\u2019interface utilis\u00e9e par les applications Linux pour demander \u00e0 la carte graphique de d\u00e9coder une vid\u00e9o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Installer les outils<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install mpv kodi socat libva-utils alsa-utils wget -y\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez les capacit\u00e9s de d\u00e9codage mat\u00e9riel :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vainfo\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Recherchez notamment des r\u00e9f\u00e9rences au HEVC et au profil Main 10.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 5 \u2014 Identifier l\u2019\u00e9cran et la sortie audio<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Trouver le nom de la sortie vid\u00e9o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans un terminal ouvert directement sur le bureau du HTPC, lancez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kscreen-doctor -o\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Vous devriez voir un nom similaire \u00e0 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HDMI-A-1\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">ou :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>DP-1\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Notez-le pr\u00e9cis\u00e9ment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udca1 Il est pr\u00e9f\u00e9rable d\u2019ex\u00e9cuter cette commande dans la session graphique locale. Depuis SSH, certaines variables de session Wayland ou D-Bus peuvent manquer.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m40s534-1024x576.png\" alt=\"\" class=\"wp-image-428\" srcset=\"https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m40s534-1024x576.png 1024w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m40s534-300x169.png 300w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m40s534-768x432.png 768w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m40s534-1536x864.png 1536w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h51m40s534.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Trouver la sortie HDMI audio<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La m\u00e9thode la plus fiable avec mpv consiste \u00e0 lancer :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mpv --audio-device=help\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Vous obtiendrez plusieurs p\u00e9riph\u00e9riques, par exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>alsa\/hdmi:CARD=HDMI,DEV=0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Testez celui qui correspond \u00e0 votre amplificateur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez \u00e9galement examiner les sorties ALSA :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>aplay -L | grep -i hdmi\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 6 \u2014 Configurer mpv<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9ez le dossier de configuration :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p ~\/.config\/mpv\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ouvrez le fichier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano ~\/.config\/mpv\/mpv.conf\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># =========================================================\n# VID\u00c9O \u2014 AMD, Wayland, Vulkan et d\u00e9codage mat\u00e9riel\n# =========================================================\n\nvo=gpu-next\ngpu-api=vulkan\ngpu-context=waylandvk\nhwdec=vaapi\ntarget-colorspace-hint=auto\n\n# =========================================================\n# AUDIO \u2014 transmission des formats compress\u00e9s vers l'ampli\n# =========================================================\n\naudio-device=alsa\/hdmi:CARD=HDMI,DEV=0\naudio-spdif=ac3,eac3,dts,dts-hd,truehd\naudio-channels=7.1,5.1,stereo\n\n# =========================================================\n# COMPORTEMENT DU LECTEUR\n# =========================================================\n\nfullscreen=yes\nkeep-open=no\nsave-position-on-quit=yes\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Adaptez imp\u00e9rativement la ligne <code>audio-device<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c0 quoi servent ces param\u00e8tres ?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><code>vo=gpu-next<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cette option utilise le moteur vid\u00e9o moderne de mpv.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>gpu-api=vulkan<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vulkan est une interface de communication performante entre les applications et la carte graphique.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>hwdec=vaapi<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">mpv demande \u00e0 la carte graphique de d\u00e9coder la vid\u00e9o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cela r\u00e9duit fortement la charge du processeur. Une copie directe des images dans la m\u00e9moire graphique peut \u00eatre obtenue selon le pilote et le format, mais il est plus prudent de v\u00e9rifier le r\u00e9sultat que de promettre un \u00ab z\u00e9ro copie \u00bb syst\u00e9matique.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>target-colorspace-hint=auto<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">mpv communique au compositeur certaines informations sur l\u2019espace colorim\u00e9trique du contenu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le r\u00e9sultat final reste d\u00e9pendant du compositeur Wayland, du pilote et de l\u2019\u00e9cran. La documentation de mpv rappelle qu\u2019il n\u2019existe pas de r\u00e9glage universel garantissant le m\u00eame r\u00e9sultat sur tous les syst\u00e8mes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>audio-spdif<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cette ligne autorise l\u2019envoi des flux :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dolby Digital ;<\/li>\n\n\n\n<li>Dolby Digital Plus ;<\/li>\n\n\n\n<li>DTS ;<\/li>\n\n\n\n<li>DTS-HD ;<\/li>\n\n\n\n<li>Dolby TrueHD.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le PC ne d\u00e9code alors pas ces formats en PCM. L\u2019amplificateur re\u00e7oit le flux compress\u00e9 original et doit effectuer le d\u00e9codage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous ne for\u00e7ons pas <code>ao=alsa<\/code> ni <code>audio-exclusive=yes<\/code>. Le p\u00e9riph\u00e9rique <code>alsa\/...<\/code> s\u00e9lectionne d\u00e9j\u00e0 cette sortie, tandis que le mode exclusif n\u2019est pas pris en charge de la m\u00eame mani\u00e8re par tous les moteurs audio et n\u2019apporte rien ici avec ALSA.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tester la lecture<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lancez un fichier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mpv \"\/mnt\/Nas_Media\/Films\/Film-test.mkv\"\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pendant la lecture, appuyez sur :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ctrl + H\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">mpv affichera l\u2019\u00e9tat du d\u00e9codage mat\u00e9riel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez \u00e9galement l\u2019\u00e9cran de votre amplificateur. Il doit annoncer le format re\u00e7u, par exemple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dolby TrueHD ;<\/li>\n\n\n\n<li>Dolby Atmos ;<\/li>\n\n\n\n<li>DTS-HD Master Audio.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f Le logo Atmos ne d\u00e9pend pas uniquement du fichier. L\u2019amplificateur, le port HDMI, le c\u00e2blage et les r\u00e9glages EDID doivent \u00e9galement autoriser ce format.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 7 \u2014 Activer automatiquement le HDR<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Tester manuellement KDE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant d\u2019automatiser quoi que ce soit, testez la commande suivante en adaptant <code>HDMI-A-1<\/code> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kscreen-doctor \\\noutput.HDMI-A-1.hdr.enable \\\noutput.HDMI-A-1.wcg.enable\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pour revenir en SDR :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kscreen-doctor \\\noutput.HDMI-A-1.hdr.disable \\\noutput.HDMI-A-1.wcg.disable\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>WCG<\/code> signifie <strong>Wide Color Gamut<\/strong>, ou gamut de couleurs \u00e9tendu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ces commandes sont utilis\u00e9es par KDE pour modifier les capacit\u00e9s de la sortie, mais leur comportement peut varier entre les versions de Plasma. Des r\u00e9gressions HDR restent possibles apr\u00e8s une mise \u00e0 jour.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la commande manuelle provoque un \u00e9cran noir permanent, des couleurs incorrectes ou un blocage, n\u2019installez pas encore le script automatique.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cr\u00e9er le script Lua<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h52m06s491-1024x576.png\" alt=\"\" class=\"wp-image-429\" srcset=\"https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h52m06s491-1024x576.png 1024w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h52m06s491-300x169.png 300w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h52m06s491-768x432.png 768w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h52m06s491-1536x864.png 1536w, https:\/\/chainesteve.be\/wp-content\/uploads\/2026\/07\/vlcsnap-2026-07-13-06h52m06s491.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Lua est un petit langage de programmation que mpv sait ex\u00e9cuter directement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9ez le dossier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p ~\/.config\/mpv\/scripts\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ouvrez le fichier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano ~\/.config\/mpv\/scripts\/auto-hdr.lua\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>local utils = require \"mp.utils\"\n\n-- Remplacez cette valeur par le nom trouv\u00e9 avec kscreen-doctor -o\nlocal display_name = \"HDMI-A-1\"\n\nlocal hdr_active = false\n\nlocal function set_hdr(enable)\n    local state = enable and \"enable\" or \"disable\"\n\n    utils.subprocess_detached({\n        args = {\n            \"kscreen-doctor\",\n            \"output.\" .. display_name .. \".hdr.\" .. state,\n            \"output.\" .. display_name .. \".wcg.\" .. state\n        }\n    })\nend\n\nlocal function restore_sdr()\n    if hdr_active then\n        mp.msg.info(\"Retour au mode SDR\")\n        set_hdr(false)\n        hdr_active = false\n    end\nend\n\nmp.observe_property(\"video-params\/gamma\", \"string\", function(_, gamma)\n    local is_hdr = gamma == \"pq\" or gamma == \"hlg\"\n\n    if is_hdr and not hdr_active then\n        mp.msg.info(\"Vid\u00e9o HDR d\u00e9tect\u00e9e : activation HDR et WCG\")\n        set_hdr(true)\n        hdr_active = true\n    elseif gamma and not is_hdr and hdr_active then\n        restore_sdr()\n    end\nend)\n\nmp.register_event(\"end-file\", restore_sdr)\nmp.register_event(\"shutdown\", restore_sdr)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le script ne regarde pas r\u00e9ellement les pixels de l\u2019image. Il lit les m\u00e9tadonn\u00e9es vid\u00e9o communiqu\u00e9es par mpv :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>pq<\/code> correspond g\u00e9n\u00e9ralement au HDR10 ;<\/li>\n\n\n\n<li><code>hlg<\/code> correspond au Hybrid Log-Gamma.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019utilisation d\u2019un sous-processus d\u00e9tach\u00e9 \u00e9vite de bloquer mpv pendant l\u2019ex\u00e9cution de <code>kscreen-doctor<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tester le script<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lancez un fichier HDR depuis le terminal :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mpv \"\/mnt\/Nas_Media\/Films\/Test-HDR.mkv\"\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Observez :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>si le t\u00e9l\u00e9viseur annonce le passage en HDR ;<\/li>\n\n\n\n<li>si les couleurs semblent correctes ;<\/li>\n\n\n\n<li>si le mode SDR revient \u00e0 la fermeture de mpv.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Gardez toujours la commande de d\u00e9sactivation \u00e0 port\u00e9e de main :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kscreen-doctor \\\noutput.HDMI-A-1.hdr.disable \\\noutput.HDMI-A-1.wcg.disable\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 8 \u2014 Utiliser Kodi comme interface de catalogue<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Kodi peut appeler un lecteur externe gr\u00e2ce au fichier <code>playercorefactory.xml<\/code>. Cette m\u00e9thode est officiellement pr\u00e9vue par Kodi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9ez le dossier si n\u00e9cessaire :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p ~\/.kodi\/userdata\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ouvrez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano ~\/.kodi\/userdata\/playercorefactory.xml\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;playercorefactory&gt;\n  &lt;players&gt;\n    &lt;player name=\"mpv\" type=\"ExternalPlayer\" audio=\"false\" video=\"true\"&gt;\n      &lt;filename&gt;\/usr\/bin\/mpv&lt;\/filename&gt;\n      &lt;args&gt;--config-dir=\/home\/steve\/.config\/mpv --input-ipc-server=\/tmp\/mpvsocket \"{1}\"&lt;\/args&gt;\n      &lt;hidexbmc&gt;true&lt;\/hidexbmc&gt;\n      &lt;playcountminimumtime&gt;120&lt;\/playcountminimumtime&gt;\n    &lt;\/player&gt;\n  &lt;\/players&gt;\n\n  &lt;rules action=\"prepend\"&gt;\n    &lt;rule video=\"true\" player=\"mpv\"\/&gt;\n  &lt;\/rules&gt;\n&lt;\/playercorefactory&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Remplacez <code>\/home\/steve<\/code> par votre v\u00e9ritable dossier personnel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019option :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;hidexbmc&gt;true&lt;\/hidexbmc&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">masque Kodi pendant la lecture externe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Limite importante : la reprise de lecture<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lorsque Kodi utilise un lecteur externe, il ne ma\u00eetrise plus toute la lecture.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La position d\u2019arr\u00eat et la reprise exacte peuvent donc \u00eatre moins bien int\u00e9gr\u00e9es que lorsqu\u2019il utilise son lecteur interne. Le param\u00e8tre <code>save-position-on-quit=yes<\/code> permet \u00e0 mpv de m\u00e9moriser sa propre position, mais Kodi ne r\u00e9cup\u00e9rera pas n\u00e9cessairement cette information dans sa base de donn\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ajouter les films depuis le point de montage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans Kodi :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>ouvrez <strong>Vid\u00e9os \u2192 Fichiers<\/strong> ;<\/li>\n\n\n\n<li>s\u00e9lectionnez <strong>Ajouter une source vid\u00e9o<\/strong> ;<\/li>\n\n\n\n<li>choisissez <strong>Syst\u00e8me de fichiers racine<\/strong> ;<\/li>\n\n\n\n<li>ouvrez <code>mnt<\/code> ;<\/li>\n\n\n\n<li>s\u00e9lectionnez <code>Nas_Media<\/code> ;<\/li>\n\n\n\n<li>choisissez le dossier de vos films ;<\/li>\n\n\n\n<li>d\u00e9finissez son contenu sur <strong>Films<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Une adresse <code>smb:\/\/<\/code> peut fonctionner pour de simples MKV. Le chemin mont\u00e9 sous <code>\/mnt<\/code> devient surtout important pour les ISO et certaines structures Blu-ray que le lecteur externe doit traiter comme des supports locaux.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 9 \u2014 Lire des ISO et des dossiers Blu-ray BDMV<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Limite concernant les disques prot\u00e9g\u00e9s<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La biblioth\u00e8que libbluray sait comprendre :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>les playlists Blu-ray ;<\/li>\n\n\n\n<li>les chapitres ;<\/li>\n\n\n\n<li>les structures BDMV ;<\/li>\n\n\n\n<li>certains menus ;<\/li>\n\n\n\n<li>les images ISO compatibles.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En revanche, <strong>libbluray ne d\u00e9chiffre pas \u00e0 elle seule les protections commerciales AACS ou BD+<\/strong>. Cette partie du guide concerne donc des sauvegardes personnelles d\u00e9j\u00e0 accessibles et non chiffr\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installer libbluray<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install libbluray -y\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Cr\u00e9er un lanceur intelligent<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Au lieu de demander directement \u00e0 Kodi de lancer mpv, nous allons placer un petit script entre les deux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9ez le fichier sans utiliser <code>sudo<\/code> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano ~\/.config\/mpv\/htpc-launcher.sh\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/usr\/bin\/env bash\n\nset -u\n\nFILE=\"${1:-}\"\n\nif &#91;&#91; -z \"$FILE\" ]]; then\n    printf 'Aucun fichier re\u00e7u depuis Kodi.\\n' &gt;&amp;2\n    exit 2\nfi\n\nMPV=(\n    \/usr\/bin\/mpv\n    \"--config-dir=$HOME\/.config\/mpv\"\n    \"--input-ipc-server=\/tmp\/mpvsocket\"\n)\n\nFILE_LOWER=\"${FILE,,}\"\n\n# Image ISO Blu-ray\nif &#91;&#91; \"$FILE_LOWER\" == *.iso ]]; then\n    exec \"${MPV&#91;@]}\" bd:\/\/longest \"--bluray-device=$FILE\"\n\n# Kodi peut pointer directement vers BDMV\/index.bdmv\nelif &#91;&#91; \"$FILE_LOWER\" == *\/bdmv\/index.bdmv ]]; then\n    ROOT_DIR=\"$(dirname -- \"$(dirname -- \"$FILE\")\")\"\n    exec \"${MPV&#91;@]}\" bd:\/\/longest \"--bluray-device=$ROOT_DIR\"\n\n# Kodi peut aussi transmettre le dossier racine du Blu-ray\nelif &#91;&#91; -d \"$FILE\/BDMV\" || -d \"$FILE\/bdmv\" ]]; then\n    exec \"${MPV&#91;@]}\" bd:\/\/longest \"--bluray-device=$FILE\"\n\n# MKV, MP4 et autres fichiers classiques\nelse\n    exec \"${MPV&#91;@]}\" \"$FILE\"\nfi\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La syntaxe <code>bd:\/\/longest<\/code> demande \u00e0 libbluray de s\u00e9lectionner la playlist la plus longue. Dans la majorit\u00e9 des films, il s\u2019agit du programme principal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f Certains disques utilisent plusieurs playlists complexes ou volontairement trompeuses. La plus longue n\u2019est donc pas garantie d\u2019\u00eatre toujours la bonne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rendez le script ex\u00e9cutable :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x ~\/.config\/mpv\/htpc-launcher.sh\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Modifier playercorefactory.xml<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Remplacez son contenu par :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;playercorefactory&gt;\n  &lt;players&gt;\n    &lt;player name=\"mpv-launcher\" type=\"ExternalPlayer\" audio=\"false\" video=\"true\"&gt;\n      &lt;filename&gt;\/home\/steve\/.config\/mpv\/htpc-launcher.sh&lt;\/filename&gt;\n      &lt;args&gt;\"{1}\"&lt;\/args&gt;\n      &lt;hidexbmc&gt;true&lt;\/hidexbmc&gt;\n      &lt;playcountminimumtime&gt;120&lt;\/playcountminimumtime&gt;\n    &lt;\/player&gt;\n  &lt;\/players&gt;\n\n  &lt;rules action=\"prepend\"&gt;\n    &lt;rule video=\"true\" player=\"mpv-launcher\"\/&gt;\n  &lt;\/rules&gt;\n&lt;\/playercorefactory&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Adaptez \u00e0 nouveau <code>\/home\/steve<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 10 \u2014 Ajouter un upscaling intelligent<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Un traitement d\u2019upscaling ne recr\u00e9e pas miraculeusement les d\u00e9tails absents d\u2019un DVD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il peut n\u00e9anmoins :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>r\u00e9duire certains d\u00e9fauts ;<\/li>\n\n\n\n<li>am\u00e9liorer la perception des contours ;<\/li>\n\n\n\n<li>rendre une source basse d\u00e9finition plus agr\u00e9able sur un \u00e9cran 4K.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Nous allons utiliser FSRCNNX, un shader d\u00e9riv\u00e9 d\u2019un r\u00e9seau neuronal et con\u00e7u pour fonctionner avec mpv.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">T\u00e9l\u00e9charger FSRCNNX<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p ~\/.config\/mpv\/shaders\ncd ~\/.config\/mpv\/shaders\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e9l\u00e9chargez la version 1.1 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/github.com\/igv\/FSRCNN-TensorFlow\/releases\/download\/1.1\/FSRCNNX_x2_8-0-4-1.glsl\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Cr\u00e9er des profils automatiques<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez le bloc suivant \u00e0 la fin de <code>~\/.config\/mpv\/mpv.conf<\/code> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># =========================================================\n# === MOTEUR D'UPSCALING INTELLIGENT (AUTO-PROFILES) ======\n# =========================================================\n\n# R\u00c8GLE 1 : POUR LES DVD ET BASSES R\u00c9SOLUTIONS (Moins de 1080p)\n# Action : D\u00e9sentrelacement, Nettoyage des macroblocs, puis Upscaling doux\n&#91;upscale-dvd]\nprofile-cond=width &lt; 1920 and height &lt; 1080\nprofile-restore=copy\ndeinterlace=yes               \ndeband=yes                    \ndeband-iterations=2           \ndeband-threshold=35           \ndeband-range=20\ndeband-grain=5                \nglsl-shader=\"~~\/shaders\/FSRCNNX_x2_8-0-4-1.glsl\"\nscale=ewa_lanczos             \ncscale=ewa_lanczos\nscale-antiring=0.7\ncscale-antiring=0.7\n\n# R\u00c8GLE 2 : POUR LES BLU-RAY STANDARDS (1080p)\n# Action : Upscaling neuronal pur pour atteindre la 4K. Pas d'anti-ringing n\u00e9-cessaire.\n&#91;upscale-bluray]\nprofile-cond=(width >= 1920 or height >= 1080) and (width &lt; 3840 and height &lt; 2160)\nprofile-restore=copy\nglsl-shader=\"~~\/shaders\/FSRCNNX_x2_8-0-4-1.glsl\"\nscale=ewa_lanczossharp\ncscale=ewa_lanczossharp\nscale-antiring=0.0\ncscale-antiring=0.0\n\n# R\u00c8GLE 3 : POUR LES REMUX 4K UHD (2160p et plus)\n# Action : COUPE-CIRCUIT. On d\u00e9sactive tout. Puret\u00e9 absolue du signal.\n&#91;passthrough-4k]\nprofile-cond=width >= 3840 or height >= 2160\nprofile-restore=copy\nglsl-shaders-clr\nscale=bilinear\ncscale=bilinear\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Les profils conditionnels de mpv permettent d\u2019activer automatiquement des r\u00e9glages selon les propri\u00e9t\u00e9s du fichier. Cette fonctionnalit\u00e9 est puissante, mais sa syntaxe peut encore \u00e9voluer entre les versions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ce qui se passe pendant la lecture<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">DVD ou basse d\u00e9finition<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">mpv :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>d\u00e9sentrelace la vid\u00e9o ;<\/li>\n\n\n\n<li>r\u00e9duit une partie des bandes de couleurs ;<\/li>\n\n\n\n<li>applique FSRCNNX ;<\/li>\n\n\n\n<li>utilise un filtre de mise \u00e0 l\u2019\u00e9chelle relativement doux.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le d\u00e9sentrelacement ne devrait \u00eatre activ\u00e9 que lorsque la source est r\u00e9ellement entrelac\u00e9e. Certains DVD progressifs peuvent n\u00e9cessiter un r\u00e9glage diff\u00e9rent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Blu-ray 1080p<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">FSRCNNX r\u00e9alise une mise \u00e0 l\u2019\u00e9chelle \u00d72, ce qui correspond pr\u00e9cis\u00e9ment au passage de :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1920 \u00d7 1080\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u00e0 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>3840 \u00d7 2160\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le r\u00e9sultat peut \u00eatre plus d\u00e9taill\u00e9 et plus net, sans devenir pour autant un v\u00e9ritable master UHD.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Vid\u00e9o 4K native<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les shaders sont supprim\u00e9s afin de pr\u00e9server la source et d\u2019\u00e9viter une charge inutile sur le GPU.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 11 \u2014 D\u00e9marrer directement sur Kodi<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Activer la connexion automatique<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La m\u00e9thode la plus simple consiste \u00e0 utiliser les param\u00e8tres de KDE ou de SDDM lorsqu\u2019une option graphique est propos\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019autologin pr\u00e9sente toutefois un risque \u00e9vident : toute personne ayant acc\u00e8s physiquement au HTPC peut ouvrir la session sans mot de passe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour une configuration manuelle, commencez par identifier le nom exact de la session Wayland :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls \/usr\/share\/wayland-sessions\/\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pourriez obtenir un fichier similaire \u00e0 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>plasma.desktop\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cr\u00e9ez ensuite :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/etc\/sddm.conf.d\nsudo nano \/etc\/sddm.conf.d\/autologin.conf\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez en adaptant les valeurs :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Autologin]\nUser=steve\nSession=plasma.desktop\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ne recopiez pas aveugl\u00e9ment <code>plasma.desktop<\/code>. Utilisez exactement le nom pr\u00e9sent sur votre syst\u00e8me.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lancer Kodi automatiquement<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">KDE poss\u00e8de un module graphique :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configuration du syst\u00e8me \u2192 D\u00e9marrage et arr\u00eat \u2192 D\u00e9marrage automatique<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ajoutez Kodi \u00e0 la liste.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La m\u00e9thode en ligne de commande consiste \u00e0 copier son lanceur :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p ~\/.config\/autostart\ncp \/usr\/share\/applications\/kodi.desktop ~\/.config\/autostart\/\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Masquer visuellement le bureau<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour rendre Linux presque invisible :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>appliquez un fond d\u2019\u00e9cran noir ;<\/li>\n\n\n\n<li>placez le panneau KDE en masquage automatique ;<\/li>\n\n\n\n<li>d\u00e9sactivez \u00e9ventuellement le son de connexion ;<\/li>\n\n\n\n<li>configurez Kodi en plein \u00e9cran.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Le bureau pourra appara\u00eetre bri\u00e8vement avant Kodi. Ce montage reste une session KDE classique automatis\u00e9e, et non un syst\u00e8me embarqu\u00e9 totalement d\u00e9pourvu de bureau.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Partie 12 \u2014 Ajouter un \u00e9clairage Ambilight avec HyperHDR<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">HyperHDR est un projet libre destin\u00e9 \u00e0 piloter un \u00e9clairage ambiant en fonction du contenu affich\u00e9 \u00e0 l\u2019\u00e9cran.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il prend notamment en charge la capture Wayland par PipeWire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cependant, la capture d\u2019\u00e9cran sous Fedora KDE Wayland peut encore \u00e9chouer selon :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la version de KDE ;<\/li>\n\n\n\n<li>le portail PipeWire ;<\/li>\n\n\n\n<li>la m\u00e9thode d\u2019installation ;<\/li>\n\n\n\n<li>les permissions accord\u00e9es ;<\/li>\n\n\n\n<li>le format HDR.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Des probl\u00e8mes de capture ont d\u00e9j\u00e0 \u00e9t\u00e9 rapport\u00e9s avec certaines versions de Fedora et Plasma. Consid\u00e9rez donc cette section comme exp\u00e9rimentale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La proc\u00e9dure g\u00e9n\u00e9rale est la suivante :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>t\u00e9l\u00e9charger le paquet Fedora depuis les publications officielles d\u2019HyperHDR ;<\/li>\n\n\n\n<li>installer le paquet RPM correspondant \u00e0 votre version ;<\/li>\n\n\n\n<li>activer le service utilisateur indiqu\u00e9 par le paquet ;<\/li>\n\n\n\n<li>ouvrir l\u2019interface web d\u2019HyperHDR ;<\/li>\n\n\n\n<li>s\u00e9lectionner PipeWire comme source de capture ;<\/li>\n\n\n\n<li>autoriser le partage de l\u2019\u00e9cran lorsque KDE le demande ;<\/li>\n\n\n\n<li>activer le tone mapping HDR pour obtenir des couleurs de LED coh\u00e9rentes.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Les noms de services ayant d\u00e9j\u00e0 \u00e9volu\u00e9, consultez la documentation accompagnant pr\u00e9cis\u00e9ment la version install\u00e9e plut\u00f4t que de recopier une ancienne commande.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Corriger les probl\u00e8mes de permissions<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Les fichiers situ\u00e9s dans votre dossier personnel doivent \u00eatre cr\u00e9\u00e9s sans <code>sudo<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano ~\/.config\/mpv\/mpv.conf\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">et non :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano ~\/.config\/mpv\/mpv.conf\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous avez cr\u00e9\u00e9 les fichiers avec les droits administrateur, restituez-les \u00e0 votre utilisateur :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chown -R \"$USER\":\"$(id -gn)\" \\\n\"$HOME\/.config\/mpv\" \\\n\"$HOME\/.kodi\"\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">D\u00e9pannage rapide<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">L\u2019image HDR est verte ou violette<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la version de Mesa ;<\/li>\n\n\n\n<li>le pilote utilis\u00e9 ;<\/li>\n\n\n\n<li>le c\u00e2ble HDMI ;<\/li>\n\n\n\n<li>la profondeur de couleur accept\u00e9e par l\u2019\u00e9cran ;<\/li>\n\n\n\n<li>le fonctionnement sans le script HDR ;<\/li>\n\n\n\n<li>le fonctionnement avec un autre GPU.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Testez d\u2019abord :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mpv --no-config \"Film-HDR.mkv\"\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cette commande ignore toute votre configuration mpv. Elle permet de d\u00e9terminer si le probl\u00e8me vient du fichier de configuration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">L\u2019amplificateur affiche PCM<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mpv --audio-device=help\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Assurez-vous \u00e9galement que :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>le fichier contient r\u00e9ellement une piste compatible ;<\/li>\n\n\n\n<li>le t\u00e9l\u00e9viseur ou l\u2019amplificateur accepte le format ;<\/li>\n\n\n\n<li>le PC est reli\u00e9 directement \u00e0 l\u2019amplificateur si le t\u00e9l\u00e9viseur ne retransmet pas le format ;<\/li>\n\n\n\n<li>le port eARC est correctement configur\u00e9 lorsque le son transite par le t\u00e9l\u00e9viseur.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">mpv sollicite fortement le processeur<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vainfo\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Puis observez les informations de mpv avec <code>Ctrl + H<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si le d\u00e9codage mat\u00e9riel ne fonctionne pas, le processeur prend le relais.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kodi ne lance pas mpv<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x ~\/.config\/mpv\/htpc-launcher.sh\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Testez ensuite directement le script :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~\/.config\/mpv\/htpc-launcher.sh \"\/chemin\/vers\/un-film.mkv\"\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Le HDR reste actif apr\u00e8s un plantage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Utilisez manuellement :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kscreen-doctor \\\noutput.HDMI-A-1.hdr.disable \\\noutput.HDMI-A-1.wcg.disable\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Adaptez le nom de la sortie.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">FAQ<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Fedora est-il obligatoire pour construire ce HTPC ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Non. Arch Linux, openSUSE, Ubuntu et d\u2019autres distributions peuvent \u00e9galement \u00eatre utilis\u00e9es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fedora KDE a \u00e9t\u00e9 retenu parce qu\u2019il fournit une pile graphique r\u00e9cente et une bonne int\u00e9gration de KDE Plasma et Wayland.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Une carte NVIDIA peut-elle fonctionner ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Oui, selon la g\u00e9n\u00e9ration du GPU, le pilote et la version du syst\u00e8me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AMD a simplement fourni une configuration plus pr\u00e9visible pour ce projet pr\u00e9cis. Il serait incorrect d\u2019affirmer que NVIDIA est totalement incompatible avec Wayland ou le HDR.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le script prend-il en charge le Dolby Vision ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Non.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le script d\u00e9tecte essentiellement les transferts PQ et HLG signal\u00e9s par mpv. La prise en charge compl\u00e8te du Dolby Vision sous Linux d\u00e9pend du profil vid\u00e9o, du conteneur, du lecteur, du pilote et de l\u2019\u00e9cran.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le bitstream am\u00e9liore-t-il la qualit\u00e9 audio ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pas n\u00e9cessairement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le bitstream signifie que l\u2019amplificateur d\u00e9code le flux Dolby ou DTS \u00e0 la place du PC. Un d\u00e9codage PCM correctement effectu\u00e9 peut \u00e9galement \u00eatre fid\u00e8le.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le bitstream reste n\u00e9anmoins utile pour conserver le traitement, l\u2019affichage des formats et certaines fonctions Atmos ou DTS:X du mat\u00e9riel Home Cin\u00e9ma.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FSRCNNX transforme-t-il r\u00e9ellement un DVD en 4K ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Non.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le fichier affich\u00e9 occupe bien un \u00e9cran 4K, mais le shader ne peut pas recr\u00e9er toutes les informations absentes du DVD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il peut am\u00e9liorer la perception des d\u00e9tails et r\u00e9duire certains d\u00e9fauts, ce qui est d\u00e9j\u00e0 tr\u00e8s int\u00e9ressant.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Puis-je lire directement un Blu-ray commercial prot\u00e9g\u00e9 ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Libbluray ne d\u00e9chiffre pas seul les protections AACS ou BD+.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le guide concerne des structures Blu-ray et des sauvegardes personnelles d\u00e9j\u00e0 accessibles au lecteur.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ce syst\u00e8me remplace-t-il un lecteur multim\u00e9dia haut de gamme ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il peut rivaliser sur plusieurs points :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>qualit\u00e9 de d\u00e9codage ;<\/li>\n\n\n\n<li>audio bitstream ;<\/li>\n\n\n\n<li>lecture locale ;<\/li>\n\n\n\n<li>personnalisation ;<\/li>\n\n\n\n<li>\u00e9volutivit\u00e9.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Il ne poss\u00e8de toutefois pas n\u00e9cessairement :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>les certifications commerciales ;<\/li>\n\n\n\n<li>le Dolby Vision complet ;<\/li>\n\n\n\n<li>une gestion parfaite des menus Blu-ray ;<\/li>\n\n\n\n<li>le support constructeur ;<\/li>\n\n\n\n<li>la simplicit\u00e9 d\u2019un appareil ferm\u00e9 pr\u00eat \u00e0 l\u2019emploi.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusion<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Nous avons construit bien plus qu\u2019un simple ordinateur reli\u00e9 \u00e0 un t\u00e9l\u00e9viseur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notre HTPC sous Fedora est d\u00e9sormais capable de :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>lire des fichiers locaux et r\u00e9seau ;<\/li>\n\n\n\n<li>utiliser le d\u00e9codage mat\u00e9riel AMD ;<\/li>\n\n\n\n<li>envoyer les pistes audio HD vers un amplificateur ;<\/li>\n\n\n\n<li>basculer automatiquement entre SDR et HDR ;<\/li>\n\n\n\n<li>utiliser Kodi comme catalogue ;<\/li>\n\n\n\n<li>confier la lecture \u00e0 mpv ;<\/li>\n\n\n\n<li>ouvrir certaines sauvegardes ISO et BDMV ;<\/li>\n\n\n\n<li>adapter l\u2019upscaling \u00e0 la r\u00e9solution de chaque vid\u00e9o ;<\/li>\n\n\n\n<li>d\u00e9marrer presque comme une console de salon.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cette solution ne remplace pas encore chaque fonction d\u2019un lecteur ferm\u00e9 tr\u00e8s haut de gamme. Elle offre cependant une base ouverte, transparente et \u00e9volutive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous savez ce que fait chaque composant, vous pouvez modifier chaque r\u00e9glage et vous ne d\u00e9pendez pas enti\u00e8rement des d\u00e9cisions d\u2019un constructeur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83c\udfac Retrouvez \u00e9galement la d\u00e9monstration et les explications en vid\u00e9o :<br><\/p>\n\n\n\n<figure class=\"wp-block-embed is-provider-youtube wp-block-embed-youtube\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/youtu.be\/iHdxQPBDuJU\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Partagez votre configuration, vos r\u00e9sultats et les \u00e9ventuels probl\u00e8mes rencontr\u00e9s dans les commentaires. Ils pourront servir de base \u00e0 de futurs tests consacr\u00e9s au HDR, \u00e0 l\u2019upscaling et \u00e0 l\u2019automatisation du HTPC sous Linux.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Captures d\u2019\u00e9cran sugg\u00e9r\u00e9es<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Fedora KDE affich\u00e9 sur le t\u00e9l\u00e9viseur<\/strong><br>Texte alternatif : <code>HTPC Fedora KDE connect\u00e9 \u00e0 un t\u00e9l\u00e9viseur 4K<\/code><\/li>\n\n\n\n<li><strong>Param\u00e8tres d\u2019affichage de KDE Plasma<\/strong><br>Texte alternatif : <code>R\u00e9glages Wayland et HDR dans KDE Plasma sous Fedora<\/code><\/li>\n\n\n\n<li><strong>R\u00e9sultat de la commande kscreen-doctor<\/strong><br>Texte alternatif : <code>Identifier une sortie HDMI avec kscreen-doctor<\/code><\/li>\n\n\n\n<li><strong>Informations de d\u00e9codage mat\u00e9riel dans mpv<\/strong><br>Texte alternatif : <code>D\u00e9codage mat\u00e9riel HEVC 10 bits avec mpv et VA-API<\/code><\/li>\n\n\n\n<li><strong>Amplificateur affichant Dolby Atmos ou DTS-HD<\/strong><br>Texte alternatif : <code>Bitstream Dolby Atmos depuis un HTPC Linux<\/code><\/li>\n\n\n\n<li><strong>Biblioth\u00e8que Kodi avec jaquettes de films<\/strong><br>Texte alternatif : <code>Kodi utilis\u00e9 comme m\u00e9diath\u00e8que avec le lecteur externe mpv<\/code><\/li>\n\n\n\n<li><strong>Comparaison visuelle DVD avant et apr\u00e8s FSRCNNX<\/strong><br>Texte alternatif : <code>Upscaling d\u2019un DVD avec le shader FSRCNNX sous mpv<\/code><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Peut-on construire sous Linux un v\u00e9ritable lecteur Home Cin\u00e9ma 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\u00e9ponse est oui, mais avec une nuance importante : il n\u2019existe pas encore de recette universelle qui &#8230; <a title=\"Construire un HTPC sous Fedora Linux : lecture 4K HDR, bitstream audio, Kodi et mpv\" class=\"read-more\" href=\"https:\/\/chainesteve.be\/index.php\/2026\/07\/13\/htpc-fedora-linux-4k-hdr-mpv-kodi\/\" aria-label=\"Read more about Construire un HTPC sous Fedora Linux : lecture 4K HDR, bitstream audio, Kodi et mpv\">Lire la suite<\/a><\/p>\n","protected":false},"author":1,"featured_media":430,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-424","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-medias-streaming"],"_links":{"self":[{"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/posts\/424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/comments?post=424"}],"version-history":[{"count":1,"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/posts\/424\/revisions"}],"predecessor-version":[{"id":431,"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/posts\/424\/revisions\/431"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/media\/430"}],"wp:attachment":[{"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/media?parent=424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/categories?post=424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chainesteve.be\/index.php\/wp-json\/wp\/v2\/tags?post=424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}