9675
|
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 "<envar>option USER_LDT</envar>" (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 "<envar>options CPU_ENABLE_SSE</envar>" (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 "gcc" 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 <title> -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>
|