Je soutiens


Promouvoir et soutenir le logiciel libre

Activité récente sur le site

Bidouillage‎ > ‎

Media Center Full HD avec plateforme nvidia ION et XBMC

Objectifs

Trouver une solution aux limites rencontrées avec mon NMT HDX-1000:

Pouvoir lire mes fichiers vidéos (conteneur MKV, MOV et AVI) sur une télé HDMI 1.3 (vidéo + audio) en résolution 1080p en utilisant des baies de disque dur USB 2.0 et eSata.

Matériel

Voici l'inventaire du matériel sélectionné:
Total: 199€ (sans les baies de disque externes)

Configuration des logiciels

BIOS

Forcer la mémoire vidéo à 512Mb.

Ubuntu 10.04

Installer Ubuntu 10.04 et ne pas activer les drivers nvidia propriétaires proposés: Ils ne supportent pas le VDPAU (accélération matériel).

Paramétrage de l'utilisateur

Configurer un auto-login au démarrage: Système, Administration, Fenêtre de connexion, Se connecter automatiquement en tant que…

Logo du démarrage

Le logo «Ubuntu» au démarrage utilise une très basse résolution très moche, ce n'est pas obligatoire mais vous pouvez corriger ce problème en suivant les indications de l'article «Remplacer le logo baveux d'Ubuntu».

Paramétrage de la vidéo

Installer les bons drivers nvidia et la librairie libvdpau1:

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo aptitude update
sudo aptitude install nvidia-current
sudo apt-get install libvdpau1

Et re-démarrer.

Pour résoudre les problème de tearing, on désactive les effets 3D: Système, Préférences, Apparence, Effets visuels: Aucun
Puis on désactive composite en entrant cette ligne de commande:

sudo nvidia-xconfig --no-composite

Paramétrage de l'audio


Utiliser la sortie HDMI à la place de l'analogique: Système, Préférences, Son, Sortie: Audio Interne Digital Stereo (HDMI)

Lirc (Télécommande)

Installation de lirc par la commande:

sudo apt-get lirc

Pas de chance: Le module usbhid vérouille la télécommande, donc il faut l'en empécher par cette première bidouille:

sudo vi /etc/udev/rules.d/99-imon.rules

et on y met cette obscure commande:

SYSFS{idVendor}=="15c2", SYSFS{idProduct}=="0042", MODE="0666", PROGRAM="/bin/sh -c 'echo -n $id:1.0 >/sys/bus/usb/drivers/usbhid/unbind;\
echo -n $id:1.1 >/sys/bus/usb/drivers/usbhid/unbind'"


On reboot, et on test le bon fonctionnement de la télécommande en entrant cette commande:
irw

En appuyant sur les boutons de la télécommande, vous devriez voir apparaitre les commande correspondantes:

288195b700000101 00 KEY_EXIT Antec_Veris_RM100
2881d5b700000201 00 KEY_EXIT Antec_Veris_RM200
289115b700000201 00 KEY_POWER Antec_Veris_RM200
0200002a00000201 00 KEY_BACKSPACE Antec_Veris_RM200
0200006500000201 00 RightMenu Antec_Veris_RM200
2aa515b700000101 00 KEY_UP Antec_Veris_RM100
29a515b700000101 00 KEY_LEFT Antec_Veris_RM100
0200002800000201 00 KEY_ENTER Antec_Veris_RM200
2ba515b700000101 00 KEY_RIGHT Antec_Veris_RM100
289515b700000101 00 KEY_DOWN Antec_Veris_RM100
28a395b700000201 00 KEY_VOLUMEUP Antec_Veris_RM200
28a595b700000201 00 KEY_VOLUMEDOWN Antec_Veris_RM200
2b9595b700000201 00 KEY_MUTE Antec_Veris_RM200
289395b700000201 00 KEY_CHANNELUP Antec_Veris_RM200
288795b700000201 00 KEY_CHANNELDOWN Antec_Veris_RM200
298315b700000101 00 KEY_REWIND Antec_Veris_RM100
2a8315b700000101 00 KEY_PLAY Antec_Veris_RM100
2b8315b700000101 00 KEY_FASTFORWARD Antec_Veris_RM100
2ab195b700000201 00 Go Antec_Veris_RM200


Ici petit problème: On remarque que l'on obtiens des commandes correspondant à 2 télécommandes: la RM100 et la RM200.
Ceci est du au fait que le fichier de configuration par défaut inclus plusieurs entrée, on va faire le ménage:
sudo cp /usr/share/lirc/remotes/imon/lircd.conf.imon-antec-veris /usr/share/lirc/remotes/imon/lircd.conf.imon-antec-rm100

Puis éditer le fichier et ne garder que ce qui concerne la télécommande RM100:
sudo vi /usr/share/lirc/remotes/imon/lircd.conf.imon-antec-rm100

c'est à dire ça:

begin remote

  name   Antec_Veris_RM100
  bits                  64
  eps                   30
  aeps                 100

  one              0     0
  zero             0     0
  gap               139998
  ignore_mask 0x0000000000000301
  min_repeat             1
  toggle_bit             0

      begin codes
          KEY_EXIT                 0x288195b700000101 # AppExit
          KEY_POWER                0x289115b700000101 # Power
          KEY_BACKSPACE            0x0200002a00000000 # Backspace
          KEY_UP                   0x2aa515b700000101 # Pad Up
          RightMenu                0x0200006500000000 # Right Menu
          KEY_LEFT                 0x29a515b700000101 # Pad Left
          KEY_ENTER                0x0200002800000000 # ENTER
          KEY_RIGHT                0x2ba515b700000101 # Pad Right
          KEY_VOLUMEUP             0x28a395b700000101 # VOL +
          KEY_DOWN                 0x289515b700000101 # Pad Down
          KEY_CHANNELUP            0x289395b700000101 # CH +
          KEY_VOLUMEDOWN           0x28a595b700000101 # VOL -
          KEY_MUTE                 0x2b9595b700000101 # Mute
          KEY_CHANNELDOWN          0x288795b700000101 # CH -
          KEY_REWIND               0x298315b700000101 # Rewind
          KEY_PLAY                 0x2a8315b700000101 # Play
          KEY_FASTFORWARD          0x2b8315b700000101 # Fast Forward
          Go                       0x2ab195b700000101 # Go
      end codes

end remote


Maintenant on édite ce fichier:
 sudo vi /etc/lirc/lircd.conf

Et on remplace la ligne:

include "/usr/share/lirc/remotes/imon/lircd.conf.imon-antec-veris"

Par:

include "/usr/share/lirc/remotes/imon/lircd.conf.imon-antec-rm100"

On re-démarre lirc
sudo /etc/init.d/lirc restart


Et on relance irw pour vérifier que désormais uniquement le nom de la télécommande «Antec_Veris_RM100» n'apparait lors des tests des touches.


XBMC utilise le périphérique /dev/lircd pour communiquer avec lirc, or par défaut lirc utilise /var/run/lirc/lircd. On va donc créer un lien:

sudo ln -s /var/run/lirc/lircd /dev/lircd


XBMC


À installer par les commandes suivantes:
sudo add-apt-repository ppa:team-xbmc
sudo apt-get update
sudo apt-get install xbmc xbmc-standalone

Puis on configure les «Remote Button» correspondant aux touches de la télécommande:

sudo vi /usr/share/xbmc/system/Lircmap.xml

A remplir par:

<lircmap>
  <remote device="Antec_Veris_RM100">
    <title>KEY_EXIT</title>
    <power>KEY_POWER</power>
    <back>KEY_BACKSPACE</back>
    <menu>RightMenu</menu>
    <up>KEY_UP</up>
    <left>KEY_LEFT</left>
    <select>KEY_ENTER</select>
    <right>KEY_RIGHT</right>
    <down>KEY_DOWN</down>
    <volumeplus>KEY_VOLUMEUP</volumeplus>
    <volumeminus>KEY_VOLUMEDOWN</volumeminus>
    <mute>KEY_MUTE</mute>
    <channelplus>KEY_CHANNELUP</channelplus>
    <channelminus>KEY_CHANNELDOWN</channelminus>
    <reverse>KEY_REWIND</reverse>
    <play>KEY_PLAY</play>
    <forward>KEY_FASTFORWARD</forward>
    <stop>Go</stop>
  </remote>
</lircmap>



Maintenant on affecte les mots clés à des actions de XBMC: 

sudo vi /usr/share/xbmc/system/keymaps/remote.xml
 
que l'on remplis par:

<keymap> 
  <global>
    <remote>
    <title>Info</title>
    <power>XBMC.Shutdown()</power>
    <back>PreviousMenu</back>
    <menu>OSD</menu>
    <up>Up</up>
    <left>Left</left>
    <select>Select</select>
    <right>Right</right>
    <down>Down</down>
    <volumeplus>VolumeUp</volumeplus>
    <volumeminus>VolumeDown</volumeminus>
    <mute>ShowSubtitles</mute>
    <channelplus>AudioNextLanguage</channelplus>
    <channelminus>NextSubtitle</channelminus>
    <reverse>BigStepBack</reverse>
    <play>Pause</play>
    <forward>BigStepForward</forward>
    <stop>Stop</stop>
    </remote>
  </global>
</keymap>

On termine par configurerr XBMC pour démarrer automatiquement au démarrage:
Configurer votre système pour que votre utilisateur se connecte automatiquement au démarrage sur la session xbmc.