comparison DOCS/xml/en/ports.xml @ 9675:62c5a17038ba

XML version of MPlayer's doc
author nicolas
date Sun, 23 Mar 2003 23:35:12 +0000
parents
children b6c63ab184a4
comparison
equal deleted inserted replaced
9674:461f71ba8af4 9675:62c5a17038ba
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <chapter id="ports" xreflabel="Ports">
3 <title>Ports</title>
4
5 <sect1 id="linux">
6 <title>Linux</title>
7 <para>
8 The main development platform is Linux on x86, although
9 <application>MPlayer</application> works on many other Linux ports.
10 Binary packages of MPlayer are available from several sources. However,
11 <emphasis role="bold">none of these packages are supported</emphasis>.
12 Report problems to the authors, not to us.
13 </para>
14
15 <sect2 id="debian">
16 <title>Debian packaging</title>
17 <para>
18 To build a Debian package, run the following command in the MPlayer
19 source directory:
20 <screen>fakeroot debian/rules binary</screen>
21 As root you can then install the <filename>.deb</filename> package as usual:
22 <screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
23 </para>
24
25 <para>
26 Christian Marillat has been making unofficial Debian MPlayer, MEncoder and font
27 packages for a while, you can (apt-)get them from his
28 <ulink url="http://marillat.free.fr/">homepage</ulink>.
29 </para>
30 </sect2>
31
32 <sect2 id="rpm">
33 <title>RPM packaging</title>
34 <para>
35 Dominik Mierzejewski created and maintains official Red Hat RPM packages of
36 <application>MPlayer</application>. They are available from his
37 <ulink url="http://www.piorunek.pl/~dominik/linux/pkgs/mplayer/">homepage</ulink>.
38 </para>
39
40 <para>
41 Mandrake RPM packages are available from the <ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
42 SuSE includes a crippled version of MPlayer in their distribution. If you want all the features
43 you will have to install from source.
44 </para>
45 </sect2>
46
47 <sect2 id="arm">
48 <title>ARM</title>
49 <para>
50 MPlayer works on Linux PDAs with ARM CPU e.g. Sharp Zaurus, Compaq Ipaq. The
51 easiest way to obtain MPlayer is to get it from one of the
52 <ulink url="http://www.openzaurus.org">OpenZaurus</ulink> package feeds. If
53 you want to compile it yourself, you should look at the
54 <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">MPlayer</ulink>
55 and the
56 <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
57 directory in the OpenZaurus distribution buildroot. These always have the latest
58 Makefile and patches used for building a CVS MPlayer with libavcodec.
59 If you need a GUI frontend, you can use xmms-embedded.
60 </para>
61 </sect2>
62 </sect1>
63
64 <sect1 id="bsd">
65 <title>*BSD</title>
66 <para>
67 <application>MPlayer</application> runs on FreeBSD, OpenBSD, NetBSD,
68 BSD/OS and Darwin. There are ports/pkgsrc/fink/etc versions of MPlayer
69 available that are probably easier to use than our raw sources.
70 </para>
71
72 <para>
73 To build MPlayer you will need GNU make (gmake - native BSD make
74 will not work) and a recent version of binutils.
75 </para>
76
77 <para>
78 If MPlayer complains about not finding <filename>/dev/cdrom</filename> or
79 <filename>/dev/dvd</filename>, create an appropiate symbolic link:
80 <screen>ln -s /dev/(your_cdrom_device) /dev/cdrom</screen>
81 </para>
82
83 <para>
84 To use Win32 DLLs with MPlayer you will need to re-compile the kernel with
85 &quot;<envar>option USER_LDT</envar>&quot; (unless you run FreeBSD-CURRENT,
86 where this is the default).
87 </para>
88
89
90 <sect2 id="freebsd">
91 <title>FreeBSD</title>
92 <para>
93 If your CPU has SSE, recompile your kernel with
94 &quot;<envar>options CPU_ENABLE_SSE</envar>&quot; (FreeBSD-STABLE or kernel
95 patches required).
96 </para>
97 </sect2>
98
99 <sect2 id="openbsd">
100 <title>OpenBSD</title>
101 <para>
102 Due to limitations in different versions of gas (relocation vs MMX), you
103 will need to compile in two steps: First make sure that the non-native as
104 is first in your <envar>$PATH</envar> and do a <command>gmake -k</command>, then
105 make sure that the native version is used and do <command>gmake</command>.
106 </para>
107 </sect2>
108 </sect1>
109
110 <sect1 id="solaris">
111 <title>Solaris</title>
112 <para>
113 <application>MPlayer</application> should work on Solaris 2.6 or newer.
114 </para>
115
116 <para>
117 On <emphasis role="bold">UltraSPARCs</emphasis>, MPlayer takes advantage of their
118 <emphasis role="bold">VIS</emphasis> extensions (equivalent to MMX), currently
119 only in <emphasis>libmpeg2</emphasis>, <emphasis>libvo</emphasis> and
120 <emphasis>libavcodec</emphasis>, but not in mp3lib. You can watch a VOB file
121 on a 400MHz CPU. You'll need
122 <ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mLib</ulink> installed.
123 </para>
124
125 <para>
126 To build the package you will need GNU <application>make</application>
127 (<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), native
128 Solaris make will not work. Typical error you get when building with
129 Solaris' make instead of GNU make:
130 <screen>
131 % /usr/ccs/bin/make
132 make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
133 </screen>
134 </para>
135
136 <para>
137 On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter if
138 GNU C/C++ compiler is configured with or without the GNU assembler.
139 </para>
140
141 <para>
142 On Solaris x86, you need the GNU assembler and the GNU C/C++ compiler,
143 configured to use the GNU assembler! The mplayer code on the x86 platform
144 makes heavy use of MMX, SSE and 3DNOW! instructions that cannot be compiled
145 using Sun's assembler <filename>/usr/ccs/bin/as</filename>.
146 </para>
147
148 <para>The <filename>configure</filename> script tries to find out, which
149 assembler program is used by your &quot;gcc&quot; command (in case the autodetection
150 fails, use the <option>--as=/whereever/you/have/installed/gnu-as</option>
151 option to tell the <filename>configure</filename> script where it can find GNU
152 "as" on your system).
153 </para>
154
155 <para>
156 Error message from <filename>configure</filename> on a Solaris x86 system using
157 GCC without GNU assembler:
158 <screen>
159 % configure
160 ...
161 Checking assembler (/usr/ccs/bin/as) ... , failed
162 Please upgrade(downgrade) binutils to 2.10.1...
163 </screen>
164 (Solution: Install and use a gcc configured with <option>--with-as=gas</option>)
165 </para>
166
167 <para>
168 Typical error you get when building with a GNU C compiler that does not use GNU as:
169 <screen>
170 % gmake
171 ...
172 gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
173 -fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
174 Assembler: mplayer.c
175 "(stdin)", line 3567 : Illegal mnemonic
176 "(stdin)", line 3567 : Syntax error
177 ... more "Illegal mnemonic" and "Syntax error" errors ...
178 </screen>
179 </para>
180
181 <para>
182 Due to bugs in Solaris 8, you may not be able to play DVD discs larger than 4 GB:
183 </para>
184
185 <itemizedlist>
186 <listitem><para>
187 The sd(7D) driver on Solaris 8 x86 has a bug when accessing a disk block >4GB
188 on a device using a logical blocksize != DEV_BSIZE (i.e. CD-ROM and DVD media).
189 Due to a 32Bit int overflow, a disk address modulo 4GB is accessed
190 (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
191 This problem does not exist in the SPARC version of Solaris 8.
192 </para></listitem>
193
194 <listitem><para>
195 A similar bug is present in the hsfs(7FS) filesystem code (aka ISO9660),
196 hsfs may not not support partitions/disks larger than 4GB, all data is
197 accessed modulo 4GB
198 (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
199 The hsfs problem can be fixed by installing patch 109764-04 (sparc) / 109765-04 (x86).
200 </para></listitem>
201 </itemizedlist>
202
203 <para>
204 On Solaris with an UltraSPARC CPU, you can get some extra speed by using the
205 CPU's VIS instructions for certain time consuming operations. VIS acceleration
206 can be used in MPlayer by calling functions in Sun's
207 <ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</ulink>.
208 </para>
209
210 <para>
211 VIS accelerated operations from mediaLib are used for mpeg2 video decoding
212 and for color space conversion in the video output drivers.
213 </para>
214 </sect1>
215
216 <sect1 id="sgi">
217 <title>Silicon Graphics / Irix</title>
218 <para>
219 You can either try to install the GNU install program, and (if you did
220 not put it in your global path) then point to the location with:
221 <screen>./configure --install-path=PATH</screen>
222 </para>
223
224 <para>
225 Or you can use the default install delivered with IRIX 6.5 in which case
226 you will have to edit the <filename>Makefile</filename> by hand a little bit.
227 Change the following two lines:
228 <programlisting>
229 $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
230
231 $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
232 </programlisting>
233 to:
234 <programlisting>
235 $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
236
237 $(INSTALL) -m 644 codecs.conf $(CONFDIR)/
238 </programlisting>
239 And then do (from within the MPlayer source dir):
240 <screen>cp DOCS/mplayer.1 . ; cp etc/codecs.conf .</screen>
241 and then go on with building and installing.
242 </para>
243 </sect1>
244
245 <sect1 id="qnx">
246 <title>QNX</title>
247 <para>
248 Works. You'll need to download SDL for QNX, and install it. Then run
249 <application>MPlayer</application> with <option>-vo sdl:photon</option>
250 and <option>-ao sdl:nto</option> options, and it should be fast.
251 </para>
252
253 <para>
254 The <option>-vo x11</option> output will be even slower than on Linux,
255 since QNX has only X <emphasis>emulation</emphasis> which is VERY slow. Use SDL.
256 </para>
257 </sect1>
258
259 <sect1 id="cygwin">
260 <title>Cygwin</title>
261 <para>
262 The Cygwin port is still in its infancy. Currently there is no support for
263 Win32 DLLs or OpenGL. SDL is known to distort sound and image or crash on
264 some systems. <ulink url="../../tech/patches.txt">Patches</ulink>
265 are always welcome. Best results are achieved with the native DirectX video
266 output driver (<option>-vo directx</option>) and the native Windows waveout
267 audio driver (<option>-ao win32</option>). You should also check out the
268 <ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">mplayer-cygwin</ulink>
269 mailing list for help and latest information.
270 </para>
271
272 <para>
273 You have to copy or symlink <filename>etc/cygwin_inttypes.h</filename>
274 from the MPlayer source directory to <filename>/usr/include/inttypes.h</filename>
275 in order to make MPlayer compile.
276 </para>
277
278 <para>
279 To get native DirectX video, download
280 <ulink url="http://www.videolan.org/vlc/dx7headers.tgz">DirectX 7 header files</ulink>,
281 extract them to <filename>/usr/include/</filename> or <filename>/usr/local/include/</filename>
282 and recompile. If the image is distorted, try turning off hardware acceleration with
283 <option>-vo directx:noaccel</option>
284 </para>
285
286 <para>
287 Instructions and files for making SDL run under Cygwin can be found on the
288 <ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl site</ulink>.
289 </para>
290
291 <para>
292 You can play VCDs by playing the .DAT or .MPG files that Windows exposes on
293 VCDs. It works like this (adjust for the drive letter of your CD-ROM):
294 <screen>mplayer d:/mpegav/avseq01.dat</screen>
295 <screen>mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG</screen>
296 </para>
297
298 <para>
299 DVDs also work, just set the DVD device correctly to whatever your CD-ROM
300 device is:
301 <screen>mplayer -dvd &lt;title&gt; -dvd-device '\\.\d:'</screen>
302 </para>
303
304 <para>
305 QuickTime DLLs have also been reported to work. Compile with
306 <option>--enable-qtx-codecs</option> and put the codecs into
307 the default Windows DLL location, <filename class="directory">C:\WINNT\system32</filename>
308 or <filename class="directory">C:\Windows\system</filename> depending on your
309 Windows version.
310 </para>
311 </sect1>
312
313 </chapter>