Accueil > Linux > I love it when a plan comes together

I love it when a plan comes together

Faut bien vivre avec son temps que voulez vous… l’ heure est aux films en HD (quand ce n’est pas en 3D !).
Mon actuel HTPC se traine pour afficher des videos codés h264 quand à la HD ben y a pas. Faut dire que la carte mini itix à base de sale (tres sale même) chipset via que j’avais acheté sur ebay il y deux ans devenait vraiment limite. J’ai donc commandé un bon petit matos et sa config fut un véritable plaisir.
Alors si toi aussi tu veux faire comme Hannibal Smith de l’agence tourisque qui « adore qu’un plan se déroule sans accroc », prends un gros cigare, endors looping au fond du van et dis à Baracouda de suivre le guide…

voila la bête:

carte zotac ion mini-itx

Cette carte affiche pour sa taille une config impressionnante jugez plutôt:
Zotac ION mini-ITX Dual Core Atom N330NVIDIA GeForce 9400M
# Chipset NVIDIA GeForce 9400M
# System Memory 2x DDR2 (MAX 4GB)
# Graphics NVIDIA ION graphics
# Connectors1x DVI
# 1x HDMI
# 1x D-SUB15 (VGA)
# 1x eSATA
# 6x USB 2.0
# 1x LAN 10/100/1000MBit
# miniPCI express wifi card included
# Audio High Definition Audio
# Connectors (internal) miniPCI -e
# 4 x USB
# 3 x SATA
Ce qui m’interessait surtout dans ce matériel était le support de l’excellente api vdpau par la carte nvidia pour la gestion de la HD
J’ai ajouté à tout ca un DD Sata de 1 TO puis 2G de ram. Nous voila prêt.
Pour la distribution, j’ai choisi Debian et plus particulièrement la testing: j’ai nommé squeeze.
En effet, mon application finale étant du multimédia, c’est dans cette branche que les paquets binaires seront les plus à jour. De plus, l’application en therme de sécurité n’est pas critique et enfin les contributeurs du projet Debian vont bientôt « freezer » cette version preuve si il en est de sa maturité.
Bon installons tout ca:
j’ai pas de lecteur optique, il me reste donc deux options soit boot réseau (bof …) soit clef usb. Ca sera clef usb.
Tout d’abord on télecharge l’iso de la testing. La aussi deux possibilité soit image i386 soit image 64 bits. Pour les tests, je préfère la version 32 bits vu la plus grande dispo des logiciels pour cette version.
on met donc tour à tour sur la clef usb formattée en ext3:
boot.img.gz
initrd.gz
vmlinuz
debian-testing-i386-CD-1.iso

que l’on trouve réciproquement ici pour l’installateur et la pour l’iso CD.
Ensuite, il faut rendre la clef bootable. Sur mon poste de travail, je suis sur Debian stable. Le DD est vu comme /dev/sda et la clef comme /dev/sdb. Pour grub, /dev/sda sera vu comme (hd0) et /dev/sdb comme (hd1)
La clef est montée sur /mnt/usb:
#grub_install --recheck /dev/sdb
#grub_install /mnt/usb
puis on lance grub
#grub
>
root=(hd1,0)
setup (hd1,0)
....
quit

Voila c’est fait, on peut booter sur la clef usb (en vérifiant au passage l’option de boot du bios) et on se retrouve sur l’installateur Debian à la ncurse (j’adore ….)
Bon rentrons dans le vif du sujet, l’install se déroule sans problème, tout étant reconnu out of the Box (ca fait du bien desfois). Je démarre un session gnome. X c’est configuré tout seul avec le driver nv. On notera au passage la dispartion du fichier Xorg.conf. Il faut scruter le ficher /var/log/ Xorg.0.log pour connaitre la configuration adoptée. Pour donner le meilleur de cette carte graphique, il va falloir faire une petite entorse à l’étique. En effet, les drivers nvidia ne sont pas libres contrairement à intel. Le projet de driver nouveau semble pour sa part tres prometteur mais reste pour l’instant incomplet pour mon usage.
Tout d’abord il va falloir installer des paquets supplémentaires, donc modiez votre /etc/apt/sources.list qui pointe sur l’iso pour qu’il ressemble à ca:
# Testing
deb http://ftp.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.debian.org/debian/ testing main contrib non-free
#deb-src http://security.debian.org/ testing/updates main contrib
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

puis on installe tour à tour:
build-essential
linux-headers-2.6.32-3-686
On va sur le site de nvidia récupérer le dernier driver qui va bien. On arrête le serveur X, on rends le fichier executable et on le lance:
#/etc/init.d/gdm stop
#chmod +x NVIDIA-Linux-x86-195.36.15-pkg1.run
#./ NVIDIA-Linux-x86-195.36.15-pkg1.run

L’installation du driver se déroule sans emcombre. A l’issue de cette installation, un fichier Xorg.conf est créé et on voie en le parcourant l’appel au driver nvidia. On note aussi l’installation des librairies libvdpau_nvidia dans /usr/lib. tres bien tout ca …. On redémarre le serveur X,
#/etc/init.d/gdm start
et là, faut pas être madame irma pour voir que quelque chose a changé. C’est tout fluide, tout doux, les fenêtres semblent glisser comme la rosée d’un matin de printemps. On lance l’utilitaire nvidia-settings lui aussi fraichement installé pour se rendre compte que la carte est parfaitement reconnue dans ses moindres détails et fonctions (température, fréquence scaling etc….). Dans l’onglet résolution on peut monter jusqu’à 1920 x 1080…
Je m’attaque maintenant à mplayer. Voila ce qu’on peut lire sur le site du projet:
« There are several ways to speed up the playback of 1080 H.264 files in MPlayer.
First is to use the newly added VDPAU output. It allows the newer Nvidia video cards to decode the video without using much CPU. It is in SVN MPlayer (Nvidia binary driver 180.37 or newer required)… »

Va falloir compiler mplayer. Je récupère tout d’abord le daily snapshot des source ici. Comme écrit dans un post précédent, j’utilise ma ruse de sioux pour gérer les dépendances facilement:
#apt-get build-dep mplayer
je détare et me place dans le repertoire décompressé afin d’éxécuter le script configure. C’est dans ce script que certaines options vont être précisées. On le lance avec au moins ces paramètres là:
$./configure --disable-x264-lavc --disable-x264 --enable-vdpau.
La désactivation du codec x264 est faite pour laisser libre champ au codec ffh264vdpau. Je compile:
$make -j4 (option -j pour profiter du multicoeur + HT et accélerer l’opération).
On profite de la compilation pour se télécharger un petit sample de video HD h264. Je commence par du 720p avec ceci puis du 1080p avec cela. Le temps de me rendre compte que la compilation s’est effectuée sans soucis. J’installe mplayer avec un:
#make install.
C’est le moment attendu du test je lance la première vidéo en 720p avec:
$mplayer -vo vdpau -vc ffh264vdpau
La claque , pô, pô pô comme c’est fluide. un petit $top pour voir que mplayer n’utilise que 3% du CPU🙂. Je jubile ca marche … la GPU marche à plein régime et soulage le proc. A titre de test, je relance mplayer sans les options mentionnées ci-dessus et là on voit que mplayer est à 90% de la CPU et que l’image saccade. Le constat est donc sans appel.
Je teste de même pour la video 1080p et de nouveau, utilisation CPU de l’ordre de 5 % image superbe c’est tout simplement parfait, mon HTPC full HD voit le jour.
Pour finir, je peuple le fichier ~/.mplayer/config des lignes suivantes:
vo=vdpau
vc=ffh264vdpau,ffmpeg12vdpau,ffvc1vdpau,ffwmv3vdpau,

afin de ne plus avoir à spécifier les bons arguments lors de l’appel à mplayer.
L’achat de cette carte motivé par la lecture d’un test de phoronixs’est avéré judicieux.
TODO configurer freevo pour la HD ….

Catégories :Linux Étiquettes : , , , , , ,
  1. Lolo
    mars 29, 2010 à 10:57

    et la TV 3D dans tout ca? Faut pas se relacher la…….

  2. septembre 14, 2010 à 3:14

    Dernière nouvelle, un nouveau driver nvidia est disponible et surtout la version packagée pour debian squeeze de mplayer est compilée avec le support de vdpau.
    Plus besoin de compiler mplayer donc ….

  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :