# Ports

## Linux

La plateforme principale de développement est Linux sur x86, bien que MPlayer fonctionne sur de nombreux autres ports Linux. Des binaires de MPlayer sont disponibles depuis de nombreuses sources. Par contre, aucun de ces paquets n'est supporté. Rapportez les problèmes à leurs auteurs, pas à nous.

### Paquets Debian

Pour construire le paquet Debian, lancez la commande suivante dans le répertoire source de MPlayer:

    fakeroot debian/rules binary

Si vous voulez passer des options particulières à configure, vous pouvez définir la variable d'environnement `DEB_BUILD_OPTIONS`. Par exemple, si vous voulez le support de la GUI et de l'OSD, faites:

    DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary

Vous pouvez aussi passer quelques variables au Makefile. Par exemple, si vous voulez compiler avec gcc 3.4 même si ce n'est pas celui par défaut:

    CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary

Pour nettoyer l'arborescence des sources, exécutez la commande suivante:

    fakeroot debian/rules clean

En tant que root installez le paquet `.deb` comme d'habitude:

    dpkg -i ../mplayer_version.deb

Christian Marillat a construit des paquets Debian non-officiels pour MPlayer, MEncoder et les polices depuis un certain temps, vous pouvez les obtenir (apt-get) depuis sa page web.

### Paquets RPM

Dominik Mierzejewski a créé et maintient des paquets Red Hat RPM officiels de MPlayer. Ils sont disponibles sur sa page web.

Les paquets Mandrake sont disponibles sur le P.L.F., SuSE incluait une version limitée de MPlayer dans sa distribution. Ils l'ont retiré dans leurs dernières versions. Vous pouvez obtenir des RPMs fonctionnels sur links2linux.de.

### ARM

MPlayer fonctionne sur les PDAs Linux avec un CPU ARM c-a-d Sharp Zaurus, Compaq Ipaq. La manière la plus facile d'obtenir MPlayer est de récupérer un des paquets OpenZaurus. Si vous voulez le compiler vous-même, vous devriez regarder les répertoires mplayer et libavcodec du répertoire raçine de la distribution OpenZaurus. Ils ont toujours les derniers Makefile et patches utilisés pour contruire un MPlayer CVS avec libavcodec. Si vous avez besoin d'une GUI, vous pouvez utiliser xmms-embedded.

## *BSD

MPlayer fonctionne sur FreeBSD, OpenBSD, NetBSD, BSD/OS et Darwin. Il y a des versions ports/pkgsrc/fink/etc de MPlayer disponibles qui sont probablement plus faciles à utiliser que nos sources brutes.

Pour construire MPlayer vous aurez besoin de GNU make (gmake - le make natif de BSD ne fonctionnera pas) et une version récente des binutils.

Si MPlayer se plaint de ne pas trouver `/dev/cdrom` ou `/dev/dvd`, créez le lien symbolique approprié:

    ln -s /dev/votre_périphérique_cdrom /dev/cdrom

Pour utiliser les DLLs Win32 avec MPlayer vous devrez recompiler le noyau avec "`option USER_LDT`" (à moins d'utiliser FreeBSD-CURRENT, où c'est le cas par défaut).

### FreeBSD

Si votre CPU à SSE, recompilez votre noyau avec "`options CPU_ENABLE_SSE`" (FreeBSD-STABLE ou patches noyau requis).

### OpenBSD

À cause des limitations dans les différentes versions de gas (relocation contre MMX), vous aurez besoin de compiler en deux étapes: D'abord assurez-vous que le non-natif est en premier dans votre `$PATH` et faites un `gmake -k`, ensuite assurez-vous que la version native est utilisée et faites `gmake`.

Depuis OpenBSD 3.4 le hack ci-dessus n'est plus nécessaire.

### Darwin

Voir la section Mac OS.

## Sun Solaris

MPlayer devrait fonctionner sous Solaris 2.6 ou supérieur.

Sur les UltraSPARCs, MPlayer profite des avantages de leurs extensions VIS (équivalentes au MMX), actuellement uniquement dans libmpeg2, libvo et libavcodec, mais pas dans mp3lib. Vous pouvez regarder un fichier VOB sur un CPU à 400MHz. Vous aurez besoin d'avoir mLib installé.

Pour construire ce paquetage vous aurez besoin de GNU make (`gmake`, `/opt/sfw/gmake`), Le make natif de Solaris ne fonctionnera pas. Message d'erreur typique si vous utilisez le make de Solaris au lieu de celui de GNU:

       % /usr/ccs/bin/make
       make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

Sur Solaris SPARC, vous aurez besoin du compilateur C/C++ GNU; cela n'a pas d'importance que le compilateur C/C++ GNU soit configuré avec ou sans l'assembleur GNU.

Sur Solaris x86,vous aurez besoin de l'assembleur GNU et du compilateur C/C++ GNU, configuré pour l'utilisation de l'assembleur GNU ! Le code de MPlayer sur la plateforme x86 fait un usage intensif des instructions MMX, SSE et 3DNOW! qui ne peuvent pas être assemblées en utilisant l'assembleur de Sun `/usr/ccs/bin/as`.

Le script `configure` essaie de trouver quel assembleur est utilisé par votre commande "gcc" (au cas ou l'autodétection échoue, utilisez l'option `--as=/endroit/ou/vous/avez/installe/gnu-as` pour indiquer au script `configure` où il peut trouver GNU "as" sur votre système).

Message d'erreur de `configure` sur un système Solaris x86 en utilisant GCC sans assembleur GNU:

       % configure
       ...
       Checking assembler (/usr/ccs/bin/as) ... , failed
       Please upgrade(downgrade) binutils to 2.10.1...

(Solution: Installez et utilisez un gcc configuré avec `--with-as=gas`)

Erreur typique obtenue en construisant avec un compilateur C GNU qui n'utilise pas GNU as:

       % gmake
       ...
       gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
            -fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
       Assembler: mplayer.c
       "(stdin)", line 3567 : Illegal mnemonic
       "(stdin)", line 3567 : Syntax error
       ... more "Illegal mnemonic" and "Syntax error" errors ...

A cause de bogues dans Solaris 8, il se peut que vous ne pouviez pas lire de disques DVD plus gros que 4 Go:

- Le pilote sd(7D) de Solaris 8 x86 a un bogue quand on accède à un bloc disque >4Go sur un périphérique en utilisant une taille de bloc logique != DEV_BSIZE (c-a-d. CD-ROM et DVD). A cause d'un dépassement des entiers 32Bit, on accède à une adresse disque modulo 4 Go. (). Ce problème n'existe pas sur la version SPARC de Solaris 8.

- Un bogue similaire est présent dans le code du système de fichier hsfs(7FS) (alias ISO9660), il se peut que hsfs ne supporte pas les partitions/disques plus gros(ses) que 4GB, toutes les donnés sont accédés modulo 4Go. (). Le problème hsfs peut être résolu en installant le patch 109764-04 (sparc) / 109765-04 (x86).

## Silicon Graphics Irix

Vous pouvez soit essayer d'installer le programme d'installation GNU, et (si vous ne l'avez pas mis dans votre chemin par défaut) précisez ensuite l'endroit où il est:

    ./configure --with-install=/chemin/et/nom/de/l'installation

Soit vous pouvez utilisez l'installation par défaut livrée avec IRIX 6.5, auquel cas vous devrez éditer le `Makefile` manuellement. Changez les deux lignes suivantes:

      $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1

      $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf

par:

      $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/

      $(INSTALL) -m 644 codecs.conf $(CONFDIR)/

Et ensuite faites (depuis le rép. source de MPlayer):

    cp DOCS/mplayer.1 . ; cp etc/codecs.conf .

finalement lancez la construction et l'installation.

## QNX

Fonctionne. Vous devrez télécharger SDL pour QNX, et l'installer. Ensuite lancez MPlayer avec les options `-vo sdl:photon` et `-ao sdl:nto`, et ça devrait être rapide.

La sortie `-vo x11` fonctionne encore plus lentement que sous Linux, car QNX ne dispose que d'une émulation X qui est TRÈS lente. Utilisez SDL.

## Windows

Oui, MPlayer tourne sous Windows via Cygwin et MinGW. Il n'a pas encore de GUI, mais la version en ligne de commande est presque complètement opérationelle. Les patches sont toujours les bienvenus. Vous devriez jeter un oeil à la liste de diffusion mplayer-cygwin pour obtenir de l'aide et les dernières informations.

Les meilleurs résultats sont obtenus avec le codec vidéo DirectX natif (`-vo directx`) et le pilote waveout natif de Windows (`-ao win32`). Vous pouvez aussi utiliser OpenGL et SDL, mais les performances d'OpenGL sont très variables suivant les systèmes et SDL est connu pour distordre le son et l'image et planter sur certains systèmes. Si l'image est distordue, essayez de désactiver l'accélération matérielle avec `-vo directx:noaccel`. Téléchargez les fichiers d'entête DirectX 7 pour compiler le pilote de sortie vidéo DirectX. De plus vous devez avoir DirectX 7 ou supérieur pour que ce pilote fonctionne.

VIDIX fonctionne maintenant sous Windows avec `-vo winvidix`, bien que ce soit toujours expérimental et que cela requiert une configuration manuelle. Téléchargez dhahelper.sys ou dhahelper.sys (avec support des MTRR) et copiez le dans le répertoire `libdha/dhahelperwin` de votre arborescence MPlayer. Ouvrez une console et placez-vous dans ce répertoire. Ensuite tapez

    gcc -o dhasetup.exe dhasetup.c

et exécutez

    dhasetup.exe install

en tant qu'Administrateur. Ensuite vous devez rebooter. Lorsque c'est fait, copiez les fichiers .so de `vidix/drivers` dans le répertoire `mplayer/vidix` relatif à votre `mplayer.exe`.

Pour de meilleurs résultats MPlayer devrait utiliser une palette que votre carte graphique supporte de façon matérielle. Malheureusement, de nombreux pilotes graphiques Windows renvoient certaines palettes alors que la carte ne le supporte pas. Pour le vérifier, essayez

    mplayer -benchmark -nosound -frames 100 -vf format=palette film

où palette peut être n'importe quelle palette affichée par l'option `-vf format=fmt=help`. Si vous trouvez une palette que votre carte gère particulièrement mal, `-vf noformat=palette` l'empèchera d'être utilisé. Ajouter cela à votre fichier de conf pour ne plus l'utiliser de façon permanente.

Vous pouvez utiliser les codecs Win32 et les codecs Real Win32 (pas les codecs Real Linux) si vous le désirez. Placez les codecs quelque part dans votre path ou passez `--with-codecsdir=c:/chemin/de/vos/codecs` (éventuellement `--with-codecsdir=/chemin/de/vos/codecs` uniquement sous Cygwin) à `configure`. Nous avons eu quelques retours indiquant que les DLLs Real doivent être accessibles en écriture pour l'utilisateur, mais seulement sur certains systèmes. Essayez de les rendre accessibles en écriture si vous avez des problèmes. Les DLLs QuickTime focntionnent aussi, mais vous devrez les placer dans le répertoire système de Windows (`C:\Windows\system\` ou similaire). En dernier recours, essayez de les placer dans le même répertoire que MPlayer.

Vous pouvez lire des VCDs en jouant les fichiers `.DAT` ou `.MPG` que Windows affiche sur les VCDs. Cela fonctionne tout simplement comme cela (changez la lettre de votre lecteur de CD-ROM):

    mplayer d:/mpegav/avseq01.dat

Les DVDs fonctionnent également, ajustez `-dvd-device` à la lettre de votre lecteur DVD-ROM:

    mplayer dvd://<titre> -dvd-device d:

La console Cygwin/MinGW est plutôt lente. Il semble que rediriger la sortie ou utiliser l'option `-quiet` améliore les performances. Le rendu direct (`-dr`) peut également aider. Vous pouvez éviter le tremblement de L'OSD en utilisant le double buffering avec l'option `-double`. Si la lecture est sale, essayez `-autosync 100`. Si certaines de ces options vous sont utiles, vous pouvez les placer dans votre fichier de config.

Sascha Sommer fait des versions officielles pour Windows de temps en temps, Joey Parrish fait des paquets non-officiels pour Windows complets avec installeur. Ils sont dans la section Windows de la page de nos projets.

### Cygwin

Vous devez utiliser Cygwin 1.5.0 ou supérieur pour pouvoir compiler MPlayer.

Les fichiers d'entête DirectX doivent être décompressés dans `/usr/include/` ou dans `/usr/local/include/`.

Les instructions et les fichiers pour faire tourner SDL sous Cygwin peuvent être trouvés sur le site de libsdl.

### MinGW

Installer une version de MinGW qui puisse compiler MPlayer était considéré comme compliqué, mais fonctionne désormais sans modifications. Installez simplement MinGW 3.1.0 ou plus récent et MSYS 1.0.9 ou plus récent et dites au postinstall de MSYS que MinGW est installé.

Décompressez les fichiers d'entête de DirectX dans `/mingw/include/`.

Le support des entêtes compressées MOV requiert zlib, que MinGW ne fournit pas par défaut. Configurez-le avec `--prefix=/mingw` et installez-le avant de compiler MPlayer.

## Mac OS

Seul Mac OS X 10.2 ou supérieur est supporté par les sources "brutes" de MPlayer. Vous êtes libre d'implémenter le support pour les anciennes versions de Mac OS et d'envoyer des patches !

Il vaut mieux utiliser le GCC 3.x modifié d'Apple pour compiler MPlayer, surtout avec libavcodec car la version GCC 2.95.x d'Apple ne supporte pas bien la syntaxe C99.

On peut obtenir une GUI Aqua et un binaire MPlayer pour Mac OS X depuis le projet MPlayerOSX.

## HP UX

Joe Page héberge un HOWTO MPlayer sous HP-UX écrit par Martin Gansser sur sa page web. Avec ses instructions la compilation devrait fonctionner sans modifications.

## Amiga/MorphOS (GeekGadgets)

Nicholas Det de Genesi a réalisé un gros et puissant portage de MPlayer pour MorphOS. Malheureusement, il est basé sur la série 0.90.

Téléchargez-le sur MorphZone:

- Binaire de MPlayer 0.91

- Source de MPlayer 0.91

- Binaire de MEncoder 0.91