HTPC Gaming DIY : Films 4K H265 (nvdec) & Rétro-Upscale (Tuto Complet Batocera)

Comment transformer un HP ProDesk 400 G4 SFF en PC de salon sous Batocera : multimédia avec Kodi, lecture H.265 via mpv, émulation rétro, Steam et montage d’un NAS.

Introduction

Peut-on transformer un vieux PC de bureau d’occasion en vraie machine de salon sous Linux ?
C’est exactement l’idée de ce projet.

Dans ce guide, je pars d’un HP ProDesk 400 G4 SFF équipé d’un Intel Core i7-7700, de 16 Go de RAM, d’un SSD SATA, et d’une NVIDIA Quadro P1000 en option. Sur mon exemplaire, il n’y a pas de port NVMe exploitable pour le stockage, donc je reste volontairement sur une configuration simple et accessible.

L’objectif est double :

  • utiliser cette machine comme lecteur multimédia pour lire une bibliothèque vidéo locale ;
  • en faire aussi une petite console de salon pour l’émulation rétro et quelques jeux PC en 1080p.

La vidéo complète est disponible ici :

Cet article s’adresse surtout à celles et ceux qui :

  • viennent de Windows ;
  • débutent totalement sous Linux ;
  • veulent une solution simple, stable et claire ;
  • cherchent un guide durable, pas une info jetable.

Pourquoi partir sur Batocera ?

Batocera est une distribution Linux orientée jeu et salon.
Une distribution Linux, c’est simplement une version de Linux déjà préparée avec ses outils, ses réglages et son interface. Un peu comme une “édition” prête à l’emploi.

Batocera a plusieurs avantages pour ce projet :

  • il démarre vite ;
  • il se pilote facilement à la manette ;
  • il intègre déjà Kodi pour la partie multimédia ;
  • il peut aussi accueillir Steam sur les machines x86_64 ;
  • il prend en charge Moonlight pour le streaming local depuis un autre PC. (Batocera)

Kodi, de son côté, est un media center.
En clair : une interface pensée pour organiser et lire des films, séries, musiques ou fichiers locaux, confortablement depuis le canapé. Batocera le propose déjà préinstallé et configuré pour le support manette sur les plateformes compatibles. (Batocera)


Le matériel utilisé dans ce projet

La base ici, c’est donc :

  • HP ProDesk 400 G4 SFF
  • Intel Core i7-7700
  • 16 Go de RAM
  • SSD SATA
  • NVIDIA Quadro P1000 en option

Le format SFF veut dire Small Form Factor.
En français : un petit boîtier de bureau compact.
C’est pratique, discret, facile à recycler… mais cela limite aussi le choix des cartes graphiques.

Dans ce format, on vise en général des cartes :

  • low profile ;
  • sobres en consommation ;
  • sans connecteur d’alimentation additionnel si possible.

C’est pour cela qu’une Quadro P1000, une GTX 1050 Ti Low Profile ou même une GT 1030 peuvent avoir du sens selon le budget et l’objectif. Batocera rappelle d’ailleurs qu’une combinaison de type Intel i5 4xxx + GT 1030 reste déjà intéressante pour l’émulation jusqu’à la PS2 à coût raisonnable. (Batocera)


Pour les débutants : les mots techniques à connaître

CPU

Le CPU, c’est le processeur principal.
C’est le “cerveau général” du PC.

GPU

Le GPU, c’est la puce graphique.
C’est elle qui s’occupe de l’affichage, de la 3D, et parfois aussi du décodage vidéo matériel.

H.265 / HEVC

Le H.265, aussi appelé HEVC, est un format vidéo moderne.
Il compresse très bien la 4K, mais demande plus de puissance à décoder que de vieux formats.

HDR

Le HDR améliore la plage dynamique de l’image : plus de lumière, plus de profondeur, plus de nuances.
Mais il faut que toute la chaîne suive : lecteur, pilote, système, câble, écran ou TV.

Tone Mapping

Le tone mapping, c’est une adaptation de l’image HDR vers un affichage SDR plus classique.
En gros, on ne garde pas le “vrai HDR” jusqu’à la TV, mais on essaye de conserver une image agréable et équilibrée.

SSH

SSH permet de contrôler la machine à distance en ligne de commande.
C’est comme ouvrir un terminal Batocera depuis un autre PC, sans brancher clavier et écran dessus.

X11

X11 est un ancien système d’affichage sous Linux.
Tu peux le voir comme le “gestionnaire d’écran” qui permet aux applications graphiques de s’afficher.

Flatpak

Flatpak est un format de paquets Linux portable.
En simplifiant : c’est une façon d’installer des applications sans dépendre totalement du système principal. Batocera l’utilise notamment pour certains usages comme Steam sur x86_64. (Batocera)


Étape 1 : forcer le pilote NVIDIA si nécessaire

Sur Batocera, les pilotes NVIDIA officiels existent déjà pour les cartes compatibles, mais selon les versions et les cas, il peut être utile de forcer leur utilisation dans le fichier de démarrage. La documentation Batocera indique aussi qu’on peut vérifier après coup si le système utilise bien NVIDIA ou au contraire MESA via Main Menu → System Settings → Information. (Batocera)

Avant de commencer

Batocera recommande d’utiliser SSH depuis un autre ordinateur du même réseau local.
SSH est activé par défaut dans la documentation consultée, le nom d’utilisateur est root, et le mot de passe par défaut est linux tant qu’il n’a pas été changé. Batocera rappelle aussi qu’il ne faut pas exposer la machine à un réseau public comme si c’était un serveur sécurisé. (Batocera)

Commandes à utiliser

mount -o remount,rw /boot
nano /boot/batocera-boot.conf

Dans ce fichier, cherche cette ligne :

#nvidia-driver=true

Supprime simplement le # en début de ligne pour obtenir :

nvidia-driver=true

Enregistre ensuite le fichier, puis redémarre la machine.

Pourquoi cette étape ?

Parce que sans le bon pilote, Batocera peut retomber sur Nouveau ou sur une pile graphique moins performante.
Ce n’est pas forcément dramatique pour de la bureautique, mais pour un projet multimédia et jeu, on préfère que la carte NVIDIA soit bien exploitée. (Batocera)

Astuce

Après redémarrage, vérifie dans :

Main Menu → System Settings → Information

Si la ligne OpenGL mentionne NVIDIA, c’est bon.
Si elle mentionne MESA, le pilote propriétaire n’est probablement pas actif. (Batocera)

⚠️ Important
Je ne recommande pas d’ajouter ici d’autres réglages non testés “au hasard”.
Mieux vaut une petite modification claire qu’un fichier de boot transformé en champ de mines.


Étape 2 : utiliser Kodi pour la médiathèque

Batocera intègre déjà Kodi et le configure pour la navigation à la manette sur les plateformes prises en charge.
C’est ce qui en fait une base intéressante pour un HTPC simple : tu gardes une interface salon, sans te battre avec un bureau Windows ou une usine à gaz. (Batocera)

Dans mon cas, Kodi sert à :

  • parcourir la bibliothèque locale ;
  • lancer les films depuis le canapé ;
  • garder une interface propre et claire.

Étape 3 : contourner la limite H.265 avec mpv

C’est ici qu’on entre dans le cœur du compromis.

Sous Linux, Kodi expose surtout VDPAU côté NVIDIA dans ses réglages vidéo. Le wiki officiel de Kodi documente bien “Allow hardware acceleration – VDPAU” comme option Linux/NVIDIA. Mais dans ce projet précis, la lecture H.265/HEVC lourde n’est pas idéale avec le lecteur interne seul. (kodi.wiki)

La solution retenue ici consiste à :

  • garder Kodi comme interface de médiathèque ;
  • déléguer certains fichiers lourds à mpv ;
  • utiliser un fichier de configuration nommé playercorefactory.xml.

Kodi documente officiellement cette méthode de lecteur externe avec playercorefactory.xml, y compris avec un exemple utilisant mpv sous GNU/Linux. (kodi.wiki)

Concrètement, qu’est-ce que cela change ?

Kodi reste ton “menu”.
Mais quand tu lances un fichier H.265 ou 4K, il peut transmettre la lecture à mpv, qui est plus intéressant ici pour exploiter le décodage matériel NVIDIA.

💡 À retenir
Ce n’est pas une simple case à cocher dans l’interface.
C’est une petite bidouille propre, utile, mais qui reste une personnalisation avancée.


Étape 4 : créer le fichier playercorefactory.xml

Sur Linux, Kodi lit ce fichier depuis son dossier userdata. Le wiki Kodi documente ce principe pour GNU/Linux, avec le chemin générique ~/.kodi/userdata/playercorefactory.xml. Dans mon installation Batocera, j’utilise le chemin ci-dessous. (kodi.wiki)

Commande

nano /userdata/system/.kodi/userdata/playercorefactory.xml

Contenu proposé

<playercorefactory>
  <players>
    <player name="mpv_nvdec" type="ExternalPlayer" audio="false" video="true">
      <filename>/usr/bin/mpv</filename>
      <args>--hwdec=nvdec --fs "{1}"</args>
      <hidexbmc>true</hidexbmc>
      <hideconsole>true</hideconsole>
    </player>
  </players>
  <rules action="prepend">
    <rule videocodec="hevc" player="mpv_nvdec"/>
    <rule videoresolution="2160" player="mpv_nvdec"/>
  </rules>
</playercorefactory>

Ce que fait ce fichier

Il dit à Kodi :

  • “si la vidéo est en HEVC/H.265
  • ou “si elle est en 4K
  • alors “utilise mpv au lieu du lecteur interne”.

Le principe du lecteur externe est officiellement supporté par Kodi. En revanche, comme toujours avec ce type de personnalisation, il peut y avoir des différences selon la version de Kodi, la version de Batocera ou ton propre montage réseau. (kodi.wiki)

⚠️ Prudence
Si cela ne fonctionne pas chez toi du premier coup, vérifie :

  • que mpv est bien présent ;
  • que le chemin du fichier XML est correct ;
  • que ton fichier est bien enregistré en LF et pas en CRLF si tu l’as édité sous Windows. Batocera insiste justement sur ce point pour ses scripts et fichiers texte. (Batocera)

Étape 5 : comprendre le compromis HDR

Je préfère être clair :
avec cette configuration, je ne cherche pas à vendre du rêve en mode “HDR parfait sur tous les plans”.

Dans ce projet, l’idée est plutôt la suivante :

  • pas de promesse magique sur le passthrough HDR natif ;
  • en revanche, un compromis stable ;
  • une image agréable grâce au tone mapping ;
  • un système simple, cohérent et pilotable depuis le canapé.

Autrement dit :
je préfère une machine stable, lisible et agréable à utiliser au quotidien, plutôt qu’un montage plus fragile juste pour faire apparaître un logo HDR sur la télévision.


Étape 6 : monter un dossier réseau pour les films

Si tes films sont stockés sur un NAS, tu peux les monter localement dans Batocera.
Un NAS, c’est simplement un stockage sur le réseau : un “disque dur accessible depuis plusieurs appareils de la maison”.

Exemple de montage manuel

mkdir -p /userdata/kodi/NasMedia
mount -t cifs //192.168.1.10/Media /userdata/kodi/NasMedia -o username=steve,password=diabolo
ls /userdata/kodi/NasMedia/Movies

À quoi sert cette étape ?

Elle permet de présenter le partage réseau comme un dossier local.
Et ça, c’est utile pour éviter certaines limites lorsqu’on utilise un lecteur externe avec Kodi. Le wiki Kodi précise notamment que les lecteurs externes peuvent être délicats avec certaines sources réseau directes, et qu’un montage par le système peut être préférable. (kodi.wiki)

⚠️ Attention au mot de passe
La documentation Batocera rappelle qu’avec les montages CIFS/SMB, les caractères spéciaux dans le mot de passe doivent parfois être échappés correctement. (Batocera)


Étape 7 : automatiser ce montage au démarrage

Ici, je te conseille de moderniser légèrement la méthode.

Oui, custom.sh existe encore.
Mais Batocera indique clairement que custom.sh est déprécié depuis la v38 et que la méthode recommandée désormais est celle des services utilisateur dans /userdata/system/services/. (Batocera)

La méthode recommandée aujourd’hui

Crée un fichier de service, sans extension .sh, par exemple :

nano /userdata/system/services/mountnas

Puis colle ceci :

#!/bin/bash

case "$1" in
  start)
    mkdir -p /userdata/kodi/NasMedia
    mount -t cifs //ipdevotrenas/répertoiredevosmédias /userdata/kodi/NasMedia -o username=nomutilisateur,password=motdepasse
    ;;
  stop)
    umount /userdata/kodi/NasMedia
    ;;
  restart|reload)
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac

exit 0

Ensuite :

chmod +x /userdata/system/services/mountnas

Redémarre Batocera.
Le service devrait ensuite apparaître dans :

Main Menu → System Settings → Services

Tu pourras alors l’activer proprement depuis l’interface. Batocera documente bien ce fonctionnement pour les services utilisateur, ainsi que le dossier à utiliser. (Batocera)

💡 Alternative avancée
Batocera documente aussi une mécanique nommée sharenetwork_cmd#, utile pour des cas plus complexes. Pour un simple dossier multimédia, un petit service reste souvent plus lisible pour un débutant. (Batocera)


Étape 8 : et pour le jeu dans tout ça ?

Une fois la partie multimédia en place, la machine garde tout son intérêt côté jeu.

Émulation

Avec un i7-7700 et une carte comme la P1000, on peut viser confortablement :

  • les anciennes générations ;
  • un peu d’upscale en 1080p ;
  • et, en restant raisonnable, quelques écarts sur des générations plus lourdes.

Le point important, c’est de rester honnête :
on ne parle pas d’un monstre de puissance, mais d’un excellent projet de recyclage intelligent.

Steam

Batocera prend aussi en charge Steam sur les machines x86_64. La documentation précise qu’il passe par Flatpak et qu’un clavier et une souris sont requis pour l’installation initiale. (Batocera)

Cela permet d’aller plus loin que l’émulation et de lancer quelques jeux PC légers ou moyennement exigeants depuis le salon.

Moonlight et Sunshine

Autre possibilité : utiliser la machine comme client de streaming local.
Batocera prend en charge Moonlight, qui permet de streamer des jeux depuis un autre PC du réseau. C’est une excellente piste si ton “gros PC” reste dans une autre pièce. (Batocera)


Pour les débutants : ce qu’il faut retenir avant de vous lancer

Si tout cela vous paraît beaucoup, retenez simplement ceci :

  • vous n’avez pas besoin de tout comprendre d’un coup ;
  • ce projet peut se faire par étapes ;
  • le plus important est d’avoir une machine stable avant de chercher la perfection.

Tu peux très bien commencer avec :

  1. Batocera seul ;
  2. Kodi pour la lecture simple ;
  3. la carte graphique plus tard ;
  4. le lecteur externe mpv dans un second temps ;
  5. le NAS encore après.

Erreur classique à éviter
Vouloir tout faire en une soirée : pilote, Kodi, réseau, Steam, HDR, manettes, scraping, montage NAS…
C’est le meilleur moyen de se perdre.

✔️ Bonne méthode
Teste une brique à la fois.
Quand une étape fonctionne, passe à la suivante.


Conclusion

Ce projet montre qu’un vieux PC de bureau d’occasion peut devenir bien plus qu’une machine de compta fatiguée.

Avec Batocera, Kodi, un peu de méthode et une carte graphique adaptée au format SFF, on peut obtenir :

  • un lecteur multimédia de salon ;
  • une petite machine d’émulation ;
  • un accès à Steam ;
  • et même un client de streaming local pour les gros jeux. (Batocera)

Ce n’est pas la solution parfaite universelle.
Ce n’est pas non plus un HTPC haut de gamme sans compromis.
Mais c’est une solution cohérente, accessible, réparable, et franchement amusante à monter.

Si tu le souhaites, je peux maintenant te faire la version encore plus prête pour WordPress, avec :

  • un chapô plus journalistique,
  • des encadrés “astuce / attention / erreur fréquente” déjà formatés,
  • et une mise en page Gutenberg facile à coller bloc par bloc.

Laisser un commentaire