| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| tutoriel:compiler_xbmc [Le 28/05/2010, 23:29] – 83.203.246.21 | tutoriel:compiler_xbmc [Le 11/09/2022, 12:21] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art |
|---|
| {{tag>media_center}} | {{tag>tutoriel media_center}} |
| ---- | ---- |
| =====Comment compiler XBMC ?====== | ====== Comment compiler XBMC ? ====== |
| <note information>Ce document est identique à la page http://manuel.xbmc.fr/index.php?title=Comment_compiler_XBMC_pour_Linux_depuis_les_codes_source</note> | <note information>Ce document est identique à la page http://manuel.xbmc.fr/index.php?title=Comment_compiler_XBMC_pour_Linux_depuis_les_codes_source</note> |
| <note important>Vous devez au préalable avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] [[apt://subversion|subversion]].</note> | <note important>Vous devez au préalable avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] [[apt://git|git]].</note> |
| |
| === Récupération depuis le code source === | ===== Récupération depuis le code source ===== |
| | <code># git clone git://github.com/xbmc/xbmc.git ./xbmc.git</code> |
| | ce dernier (**xbmc.git**) git va crée un dossier automatiquement pour la premier fois. |
| |
| <code># svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk trunk-xbmc</code> | ===== Mettre à jour le code source et supprimer make ===== |
| ce dernier (** trunk-xbmc **) svn va crée automatiquement pour la premier fois. | ==== Mettre à jour... ==== |
| <note Important>**Attention**: | |
| | |
| - Téléchargement pèse 200 Mio environ | |
| | |
| - Connexion par le filaire est conseillé, connexion par Wi-Fi risque d'être interrompu (sauf si vous êtes tout près du point d'accès)</note> | |
| === Mettre à jour le code source et supprimer make === | |
| == Mettre à jour... == | |
| Vous n'êtes pas obligé de mettre à jour tout les jours mais de chaque semaine (ou plus) | Vous n'êtes pas obligé de mettre à jour tout les jours mais de chaque semaine (ou plus) |
| <code># cd $HOME/trunk-xbmc | <code># cd $HOME/trunk-xbmc |
| # svn up http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk trunk-xbmc</code> | # git pull</code> |
| ou | |
| <code># cd $HOME/trunk-xbmc | ==== ..et supprimer make ==== |
| # svn up</code> | |
| == ..et supprimer make == | |
| <code># cd $HOME/trunk-xbmc | <code># cd $HOME/trunk-xbmc |
| # make clean</code> | # make clean</code> |
| |
| === Installer les indépendances pour XBMC=== | ===== Installer les dépendances pour XBMC ===== |
| | ==== Installation du nécessaire de compilation (pour Ubuntu 8.04 Hardy Heron) ==== |
| == Installation du nécessaire de compilation (pour Ubuntu 8.04 Hardy Heron) == | |
| [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libasound2-dev python2.4-dev python2.4 python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmms-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev libhal1 libhal-dev libhal-storage1 libhal-storage-dev libpcre3-dev subversion libjasper1 libfontconfig-dev**. | [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libasound2-dev python2.4-dev python2.4 python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmms-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev libhal1 libhal-dev libhal-storage1 libhal-storage-dev libpcre3-dev subversion libjasper1 libfontconfig-dev**. |
| |
| ^ Tout installer en 1 clic | | ^ Tout installer en 1 clic | |
| | [[apt://make,g++-4.1,gcc-4.1,libsdl1.2-dev,libsdl-image1.2-dev,libsdl-gfx1.2-dev,libsdl-mixer1.2-dev,libsdl-sound1.2-dev,libsdl-stretch-dev,libfribidi0,libfribidi-dev,liblzo1,liblzo-dev,libfreetype6,libfreetype6-dev,libsqlite3-0,libsqlite3-dev,libogg-dev,libasound2-dev,python2.4-dev,python2.4,python-sqlite,libglew1.5,libglew1.5-dev,libcurl3-dev,g++,gawk,x11proto-xinerama-dev,libxinerama-dev,libxrandr-dev,libxrender-dev,libmms-dev,pmount,libmad0-dev,libtre-dev,libogg-dev,libvorbis-dev,libmysqlclient15-dev,libhal1,libhal-dev,libhal-storage1,libhal-storage-dev,libpcre3-dev,subversion,libjasper1,libfontconfig-dev|{{ apt.png }}]] | | | [[apt://make,g++-4.1,gcc-4.1,libsdl1.2-dev,libsdl-image1.2-dev,libsdl-gfx1.2-dev,libsdl-mixer1.2-dev,libsdl-sound1.2-dev,libsdl-stretch-dev,libfribidi0,libfribidi-dev,liblzo1,liblzo-dev,libfreetype6,libfreetype6-dev,libsqlite3-0,libsqlite3-dev,libogg-dev,libasound2-dev,python2.4-dev,python2.4,python-sqlite,libglew1.5,libglew1.5-dev,libcurl3-dev,g++,gawk,x11proto-xinerama-dev,libxinerama-dev,libxrandr-dev,libxrender-dev,libmms-dev,pmount,libmad0-dev,libtre-dev,libogg-dev,libvorbis-dev,libmysqlclient15-dev,libhal1,libhal-dev,libhal-storage1,libhal-storage-dev,libpcre3-dev,subversion,libjasper1,libfontconfig-dev|{{ :apt.png }}]] | |
| |
| Voici la commande magique pour installer les indépendance en un seul ligne (pour Ubuntu 7.10 et suivant) | Voici la commande magique pour installer les indépendance en un seul ligne (pour Ubuntu 7.10 et suivant) |
| <code># sudo apt-get build-dep xbmc</code> | <code># sudo apt-get build-dep xbmc</code> |
| <note important>Cette commande fonctionne qu'après le code source téléchargé</note> | Si la commande ci-dessus ne fonctionne pas, [[:tutoriel:comment_installer_un_paquet|installez les paquets]] ci-après. |
| | **subversion make g++ gcc gawk pmount libtool nasm automake cmake gperf unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl3 libcurl4-openssl-dev x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxtst-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmms-dev libmpeg3-dev libfaad-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libwavpack-dev libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs**. |
| Ou bien, installer le paquet un par un: | |
| |
| ^ Tout installer en 1 clic | | ^ Tout installer en 1 clic | |
| | [[apt://subversion,makeg++,gcc,gawk,pmount,libtool,nasm,automake,cmake,gperf,unzip,bison,libsdl-dev,libsdl-image1.2-dev,libsdl-gfx1.2-dev,libsdl-mixer1.2-dev,libfribidi-dev,liblzo2-dev,libfreetype6-dev,libsqlite3-dev,libogg-dev,libasound-dev,python-sqlite,libglew-dev,libcurl3,libcurl4-openssl-dev,x11proto-xinerama-dev,libxinerama-dev,libxrandr-dev,libxrender-dev,libmad0-dev,libogg-dev,libvorbisenc2,libsmbclient-dev,libmysqlclient-dev,libpcre3-dev,libdbus-1-dev,libhal-dev,libhal-storage-dev,libjasper-dev,libfontconfig-dev,libbz2-dev,libboost-dev,libfaac-dev,libenca-dev,libxt-dev,libxtst-dev,libxmu-dev,libpng-dev,libjpeg-dev,libpulse-dev,mesa-utils,libcdio-dev,libsamplerate-dev,libmms-dev,libmpeg3-dev,libfaad-dev,libflac-dev,libiso9660-dev,libass-dev,libssl-dev,fp-compiler,gdc,libwavpack-dev,libmpeg2-4-dev,libmicrohttpd-dev,libmodplug-dev,libssh-dev,gettext,cvs|{{ apt.png }}]] | | | [[apt://subversion,make,g++,gcc,gawk,pmount,libtool,nasm,automake,cmake,gperf,unzip,bison,libsdl-dev,libsdl-image1.2-dev,libsdl-gfx1.2-dev,libsdl-mixer1.2-dev,libfribidi-dev,liblzo2-dev,libfreetype6-dev,libsqlite3-dev,libogg-dev,libasound-dev,python-sqlite,libglew-dev,libcurl3,libcurl4-openssl-dev,x11proto-xinerama-dev,libxinerama-dev,libxrandr-dev,libxrender-dev,libmad0-dev,libogg-dev,libvorbisenc2,libsmbclient-dev,libmysqlclient-dev,libpcre3-dev,libdbus-1-dev,libhal-dev,libhal-storage-dev,libjasper-dev,libfontconfig-dev,libbz2-dev,libboost-dev,libfaac-dev,libenca-dev,libxt-dev,libxtst-dev,libxmu-dev,libpng-dev,libjpeg-dev,libpulse-dev,mesa-utils,libcdio-dev,libsamplerate-dev,libmms-dev,libmpeg3-dev,libfaad-dev,libflac-dev,libiso9660-dev,libass-dev,libssl-dev,fp-compiler,gdc,libwavpack-dev,libmpeg2-4-dev,libmicrohttpd-dev,libmodplug-dev,libssh-dev,gettext,cvs|{{ :apt.png }}]] | |
| |
| === Compilation et installation === | ===== Compilation et installation ===== |
| Compilation est simple en 5 lignes de commande: | Compilation est simple en 5 lignes de commande : |
| <code> | <code> |
| # cd $HOME/trunk-xbmc | cd ~/trunk-xbmc |
| # ./bootstrap | ./bootstrap |
| # ./configure | ./configure |
| # make | make |
| # sudo make install | sudo make install |
| </code> | </code> |
| | Vous pouvez considérablement augmenter la vitesse de compilation en précisant à //make// l'option //-j// (jobs) suivi du nombre de processeurs que vous disposez. |
| == Les lignes de commandes ./configure == | Voici un exemple avec un processeur double coeurs : |
| | <code>make -j2</code> |
| | ==== Les lignes de commandes ./configure ==== |
| Les options suivantes sont disponible lors du configure: | Les options suivantes sont disponible lors du configure: |
| |
| <code>--prefix=/path</code> | <code>--prefix=/path</code> |
| * Installer XBMC dans le répertoire /path au lieu du répertoire par défaut (/usr/local) | * Installer XBMC dans le répertoire /path au lieu du répertoire par défaut (/usr/local) |
| * Problème connu, FreeMem est toujours visible même avec l'option --disable-debug | * Problème connu, FreeMem est toujours visible même avec l'option --disable-debug |
| |
| Il est également possible de combiner les options: | <code>--enable-vaapi</code> |
| | * Active l'accélération matérielle pour les chipset Intel et ATI |
| | * Option pas proposée dans la version "paquet" (expérimental?) |
| | * Vous devrez avoir installé les paquets patchés de libva1 et libva1-dev [[https://launchpad.net/~dtl131/+archive/catalysthacks|à ce PPA]] ainsi que sa dépendance que vous trouverez [[http://www.splitted-desktop.com/~gbeauchesne/xvba-video/|ici]] |
| |
| | Il est également possible de combiner les options: |
| <code># ./configure --disable-debug --disable-gl</code> | <code># ./configure --disable-debug --disable-gl</code> |
| |
| == Les lignes de commandes make == | ===== Exécuter XBMC Media Center ===== |
| En ajoutant -j<number> à la commande make, vous spécifiez le nombre de coeur utilisés. Donc, pour un processeur dualcore la commande à lancer est: | |
| <code># make -j2</code> | |
| ou | |
| <code># make -j2 sdl_2d</code> | |
| | |
| === Exécuter XBMC Media Center === | |
| Lancer cette commande: | Lancer cette commande: |
| <code># xbmc</code> | <code># xbmc</code> |
| |
| == Plein d'écran == | ==== Plein d'écran ==== |
| Pour passer en mode plein écran presser ** \ ** (antislash) pendant l'exécution d'XBMC | Pour passer en mode plein écran presser ** \ ** (antislash) pendant l'exécution d'XBMC |
| |
| <note important>Pour bénéficier d'un affichage vidéo sans clignotement, vous devez mettre à jour vos drivers NVIDIA / ATI avec une version plus récente.</note> | <note important>Pour bénéficier d'un affichage vidéo sans clignotement, vous devez mettre à jour vos drivers NVIDIA / ATI avec une version plus récente.</note> |
| |
| <note tip>Consultez le fichier « README.linux » dans le dossier « trunk-xbmc » pour plus d'informations.</note> | <note tip>Consultez le fichier « README.linux » dans le dossier « trunk-xbmc » pour plus d'informations.</note> |