Rolinh

Rolinh' release

HTPC (PC Media-center) Sous AMD E-350 Avec Archlinux Et XBMC

Au début de l’été dernier, des amis et moi nous sommes mis à plusieurs pour offrir un téléviseur  Samsung LED de 46” (UE46D5000) à ma copine pour son anniversaire.  Une télévision d’entrée de gamme donc mais qui possède néanmoins une magnifique dalle et un superbe rendu des couleurs. Cependant, un écran pareil, c’est bien chouette mais c’est encore mieux avec un HTPC (Home Theater PC soit un PC dédié au multimédia).

Je me suis donc mis en tête d’en assembler un. Mes critères principaux étaient donc un PC silencieux, qui fonctionne bien sous Linux, capable de lire des vidéos HD et bon marché. Ne suivant que de loin l’évolution des PC côté hardware, je me suis donc adressé à Horyax en ayant déjà une idée de ce que je souhaitais. Je vous invite d’ailleurs à aller lire son article très instructif sur les PC media center.

En partant de ses conseils (AMD E-350 et mini-ITX notamment) et en composant avec ce qui était proposé par mon revendeur habituel, j’ai abouti à cette configuration:

  • Carte-mère Asus E35M1-I Deluxe. Elle comprend un APU AMD E-350 soit un processeur dual-core basse consommation couplé à un GPU Radeon HD 6310. De plus, elle bénéficie d’un refroidissement passif qui permet donc d’éviter les nuisances sonores, une carte son 7.1, du Wifi, de l’USB 2 et 3 ainsi qu’un port e-sata, possibilité d’accueillir jusqu’à 8Gb de RAM en DDR3 à 1066Mhz, SATA 3 et est en format mini-ITX soit un format compact. Bref, une très bonne base pour ce que je voulais en faire.
  • Disque dur Western Digital Caviar Green de 2To.
  • 2x2 Go de DDR3 1066Mhz Kingston.
  • Lecteur Bluray Samsung SH-B123L.
  • Boîtier Inwin Mini-ITX BP655 avec alimentation de 200W intégrée.

Alors oui, les 4Go de RAM sont totalement injustifiés. En fait, c’est simplement que cela me revenait pratiquement au même prix qu’un kit de 2Go de RAM et je m’étais dis qu’en cas de problème pour lire les Bluray sous Linux, j’allais devoir à contre-coeur y installer Windows.

Si je devais racheter une configuration HTPC, je ne reprendrais pas le même boîtier. En effet, il se révèle relativement peu compact et plutôt bruyant au niveau de l’alimentation. Je l’avais choisis en raison de son prix réduit, du fait qu’il acceptait un disque dur au format 3.5” qui permettait l’achat d’un disque de plus grande capacité à prix équivalent en 2.5” et surtout qu’il est un des rares que j’ai trouvé à accepter un lecteur Bluray au format standard. En effet, la plupart des boîtiers multimédia demandent un lecteur au format slim, plus compact, mais également beaucoup plus cher et difficile à trouver.

Pour le reste, je suis parfaitement satisfait de mon achat. La déception vient plutôt du côté des Bluray bourrés de DRM qui se retrouvent quasiment impossible à lire sous Linux…

Si on considère ce dernier point et le fait que pour qu’un media-center soit intéressant, il nécessite que toute la médiathèque se trouve sur support type disque dur du HTPC ou partage réseau j’aurais peut-être porté mon choix sur la Zbox Nano. En effet, cette solution est très intéressante car parfaitement silencieuse, compacte et bénéficie en plus d’une télécommande! Bref, réfléchissez bien à l’utilisation que vous ferez de votre media-center avant de porter votre choix définitif.

Une fois tout ce beau matériel assemblé, je me suis attelé à  installer un système qui convienne bien pour une utilisation media-center. J’ai donc choisis d’y mettre Archlinux associé à XBMC mais sachez tout de même que si vous n’êtes pas vraiment prêt à mettre les mains dans le cambouis, il existe des distributions media-center toute prête telle que la récente OpenELEC basée sur ce même XBMC (je ne l’ai en revanche pas testée).

Je ne vous présente plus Archlinux mais par contre je vais m’attarder un poil sur XBMC. Il s’agit d’un logiciel media-center multiplateforme sous licence GPL. J’ai fait le tour de tout ce qui existait sous Linux avant d’établir mon choix sur celui-ci. A mon sens, il s’agit clairement de la meilleure solution media-center actuelle: gestion multilingue, système de plugins pour en étendre les capacités, fonctionnement en stand-alone, téléchargement automatisé des informations relatives aux films et aux albums musicaux, etc.

Ce que je souhaitais du côté de l’OS, c’est qu’il puisse démarrer directement sur le media-center et que celui-ci soit contrôlable entièrement via une application smartphone, y compris l’extinction du système. Évidemment, si je vous en parle, c’est parce que j’y suis parvenu.

Je ne vais pas vous détailler l’installation d’Archlinux. Pour cela, le guide du débutant le fait très bien (mais arrêtez-vous après le reboot c’est-à-dire avant le chapitre “post-installation”). En revanche, je vais détailler le reste.

Donc, une fois l’installation d’Archlinux effectuée, vous avez redémarré et vous vous retrouvez avec un joli prompt. La première chose à faire après vous être connecté en tant que root est de configurer votre connexion internet et de mettre à jour le système (étape surtout valable si vous n’êtes pas passé par la netinstall).

Il faut ensuite créer un utilisateur standard. Appelons le Spoke ici pour références ultérieures. Pour cela, la commande adduser fait bien son boulot. Il est important à cette étape d’ajouter le nouvel utilisateur aux groupes suivants: audio, optical, storage, video, power. Vous pouvez l’ajouter à d’autres groupe, comme wheel par exemple mais cela reste optionnel. Le reste des options peut être laissé par défaut.

Par la suite, on aimerait installer une interface graphique et donc, il nous faut Xorg. A cette étape, deux choix s’offrent à vous en ce qui concerne le pilote vidéo: utiliser le pilote ATI libre ou le pilote propriétaire Catalyst. Si vous n’avez pas besoin de faire passer le son à travers l’HDMI, alors le premier choix sera le mieux indiqué. Le pilote libre s’en sort effectivement très bien si ce n’est qu’au niveau du son, ça ne passe pas encore via l’HDMI. Sinon, il faudra installer le pilote propriétaire et c’est là que les choses se compliquent.

Dans le premier cas, cela se résume à cette ligne (en root toujours) :

pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils mesa xf86-video-ati

Si vous avez besoin du pilote Catalyst, alors armez-vous de courage. Il faut savoir qu’il n’est plus supporté par la distribution et que cela amène son lot de difficultés et de possibles cassages par la suite. A l’heure actuelle, le pilote Catalyst ne fonctionne pas avec Xorg 1.11 qui est la version actuelle. Il faut donc passer par l’installation de Xorg 1.10. La bonne nouvelle est qu’il existe un dépôt créé pour cette occasion. Il faut donc éditer /etc/pacman.conf et l’ajouter:

# xorg 1.10
[xorg110]
Server = http://catalyst.apocalypsus.net/repo/xorg110/$arch

Faites bien attention à l’ajouter au-dessus de tous les autres (c’est-à-dire au dessus de [core]) afin qu’il prenne précédence. D’ailleurs, pendant que l’on est dans le pacman.conf , il faut également y ajouter le dépôt pour le pilote Catalyst:

# catalyst
[catalyst]
Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch

Il faut maintenant rafraîchir les dépôts et installer Xorg ainsi que le pilote Catalyst:

pacman -Syu
pacman -S xorg110/xorg-server xorg110/xorg-server-common xorg110/xorg-server-utils catalyst catalyst-utils catalyst-hook xvba-video

catalyst-hook est optionnel mais néanmoins recommandé (il sert à reconstruire les modules lors des mises-à-jour du noyau). J’espère ne pas avoir oublié un paquet. S’il manquait quelque chose, merci de m’en faire part dans les commentaires.

Ceci fait, il nous faut ajouter quelques paquets fortement recommandés mais optionnels: un serveur ssh afin d’administrer à distance (d’autant plus utile si aucun clavier n’est branché au HTPC), consolekit, udev, udisks et upower afin de pouvoir notamment éteindre proprement la machine. Vous pouvez aussi considérer l’installation de sshfs ou autre samba afin de partager la médiathèque sur le réseau.

Il faut aussi, évidemment, installer xbmc. Le minimum en une ligne (le reste au choix):

pacman -S openssh consolekit udev udisks upower xbmc

Je mets volontairement de côté la configuration de ssh car ce n’est pas à propos dans ce billet.

Passons maintenant au login utilisateur. Il existe plusieurs façon de gérer le login automatique, notamment la méthode via inittab que je n’ai pas choisie. La raison est toute simple: je voulais pouvoir permettre, le cas échéant, la déconnexion de la session media-center afin de passer sur une session desktop conventionnelle, type Xfce, de manière pratique. En effet, il ne faut pas oublier que cette machine est un ordinateur à part entière et qu’en lui ajoutant clavier et souris, elle est plus qu’utilisable pour une utilisation desktop. Ma copine ne possédant qu’un vieillissant netbook, cela peut se révéler utile.

Par conséquent, j’ai choisis d’utiliser le gestionnaire de connexion Slim, qui permet évidemment la connexion automatique. Pour cela, on va donc l’installer et le configurer un minimum:

pacman -S slim

Il faut maintenant éditer le fichier de configuration /etc/slim.conf afin de changer ces deux lignes (il faut évidemment les décommenter):

default_user    spoke
auto_login      yes

Le démon slim doit également être ajoutée dans la liste des daemons du /etc/rc.conf afin qu’il soit lancé au démarrage. Cependant, ce n’est pas finit. Il faut encore se connecter en tant que Spoke et éditer (le créer le cas échéant)  le fichier ~/.xinitrc. afin qu’il ressemble à ceci:

exec ck-launch-session xbmc-standalone

Notez que si vous avez opté pour la méthode de connexion automatique via inittab, le xinitrc devra être identique.

Que serait un media-center sans codecs? On peut remédier à cela en une ligne (certains sont sûrement inutiles mais on est au moins parés) avec en prime ce qu’il faut pour la lecture des DVDs:

pacman -S a52dec faad2 flac libdca libdv libmad libtheora libvorbis libxv wavpack xvidcore gstreamer0.10-plugins libdvdread libdvdcss libdvdnav

Oui, je n’ai pas parlé de la lecture des Bluray… Simplement car, à mon grand regret, je n’ai pas encore trouvé de solution viable pour leur lecture. J’espère que la situation s’améliorera rapidement.

J’avais brièvement évoqué le fait de pouvoir piloter le media-center depuis son smartphone. En effet, ne possédant pas de télécommande, j’ai trouvé cette solution fort pratique. Pour informations, j’utilise l’application officielle et gratuite xmbc-remote pour Android et ma copine en utilise une non- officielle pour iPhone mais je ne me rappelle plus du nom.

J’espère n’avoir rien oublié car j’ai écrit cet article en fonction de mes souvenirs de l’installation. Merci de m’informer si vous testez ceci chez vous et que vous constater qu’il manque quelque chose!

Allez, pour le mot de la fin de ce long billet, j’aimerais signaler que je suis vraiment super content de mon installation si l’on excepte l’histoire de la lecture des Bluray. En effet, même en se faisant légèrement entendre au démarrage, le bruit de l’alimentation se fait vite oublier une fois qu’un film est en route ou que de la musique est jouée. Bref, une installation pareille, c’est vraiment le pied. :)

PS: j’ajouterai des photos de l’installation par la suite mais je n’avais pas d’appareil photo sous la main et les photos prises depuis mon HTC Desire sont de bien trop piètres qualités pour être publiées ici. Je retoucherai également cet article (ou en créerai un complémentaire) afin de le peaufiner et d’expliquer le paramétrage de XBMC (réglages permettant de contrôler xbmc depuis son smartphone, configuration d’un share samba, etc.).