Mercurial > mplayer.hg
annotate DOCS/xml/en/ports.xml @ 10842:3e9bbf83bd6e
Cleanup of faad detection and a new test if gcc can compile the internal faad. Patch by Arpi.
author | mosu |
---|---|
date | Mon, 08 Sep 2003 10:09:02 +0000 |
parents | 6f51d17ecfc8 |
children | afa3e514f472 |
rev | line source |
---|---|
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>. | |
10277 | 42 SuSE includes a crippled version of MPlayer in their distribution. You can get working RPMs |
43 from <ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>. | |
9675 | 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 | |
10561 | 259 <sect1 id="windows"> |
260 <title>Windows</title> | |
261 | |
262 <para>Yes, MPlayer runs on Windows under | |
263 <ulink url="http://www.cygwin.com/">Cygwin</ulink> and | |
264 <ulink url="http://www.mingw.org/">MinGW</ulink>. | |
265 It does not have a GUI yet, but the command line version is almost completely | |
266 functional. <ulink url="../../tech/patches.txt">Patches</ulink> are always welcome. | |
267 You should check out the | |
268 <ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">mplayer-cygwin</ulink> | |
269 mailing list for help and latest information.</para> | |
270 | |
271 <para>Best results are achieved with the native DirectX video output driver | |
272 (<option>-vo directx</option>) and the native Windows waveout audio driver | |
273 (<option>-ao win32</option>) as OpenGL does not work and SDL is known to | |
274 distort sound and image or crash on some systems. You can make the movie | |
275 window stay on top with <option>-vo directx:ontop</option>. If the image is | |
276 distorted, try turning off hardware acceleration with | |
277 <option>-vo directx:noaccel</option>. Download | |
278 <ulink url="http://www.videolan.org/vlc/dx7headers.tgz">DirectX 7 header files</ulink> | |
279 to compile the DirectX video output driver.</para> | |
9675 | 280 |
10650
6f51d17ecfc8
Binary codecs finally work as they should on Windows.
diego
parents:
10645
diff
changeset
|
281 <para>Win32 codecs, QuickTime DLLs and Real Win32 codecs (not Real Linux codecs) |
6f51d17ecfc8
Binary codecs finally work as they should on Windows.
diego
parents:
10645
diff
changeset
|
282 also work. Put the codecs somewhere in your path or pass |
6f51d17ecfc8
Binary codecs finally work as they should on Windows.
diego
parents:
10645
diff
changeset
|
283 <option>--with-codecsdir=c:/path/to/your/codecs</option> (alternatively |
6f51d17ecfc8
Binary codecs finally work as they should on Windows.
diego
parents:
10645
diff
changeset
|
284 <option>--with-codecsdir=/path/to/your/codecs</option> only on Cygwin) to |
6f51d17ecfc8
Binary codecs finally work as they should on Windows.
diego
parents:
10645
diff
changeset
|
285 <filename>configure</filename>. We have had some reports that Real DLLs need |
6f51d17ecfc8
Binary codecs finally work as they should on Windows.
diego
parents:
10645
diff
changeset
|
286 to be writable by the user running MPlayer, but only on some systems. Try |
6f51d17ecfc8
Binary codecs finally work as they should on Windows.
diego
parents:
10645
diff
changeset
|
287 making them writable if you have problems.</para> |
10645 | 288 |
289 <para>The Cygwin/MinGW console is rather slow. Redirecting output or using | |
290 the <option>-quiet</option> option has been reported to improve performance | |
291 on some systems. Direct rendering (<option>-dr</option>) may also help. | |
292 You can prevent OSD flicker through double buffering with the | |
293 <option>-double</option> option. If playback is jerky, try | |
294 <option>-autosync 100</option>. If some of these options help you, you | |
295 may want to put them in your config file.</para> | |
10561 | 296 |
297 <para>There are precompiled binary versions made by Sascha Sommer available for | |
298 download from | |
299 <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32-beta/">our homepage</ulink>. | |
300 Joey Parrish has been making | |
301 <ulink url="http://joey.nicewarrior.org/cygmp/">unofficial Windows packages</ulink> | |
302 complete with installer.</para> | |
9675 | 303 |
10561 | 304 <sect2 id="cygwin"> |
305 <title>Cygwin</title> | |
306 | |
307 <para>Cygwin versions prior to 1.5.0 do not include <filename>inttypes.h</filename>. You | |
308 will have to copy or symlink <filename>etc/cygwin_inttypes.h</filename> from the | |
309 MPlayer source directory to <filename>/usr/include/inttypes.h</filename> in order to | |
310 make MPlayer compile.</para> | |
311 | |
312 <para>DirectX header files need to be extracted to <filename class="directory">/usr/include/</filename> or | |
313 <filename class="directory">/usr/local/include/</filename>.</para> | |
314 | |
315 <para>Instructions and files for making SDL run under Cygwin can be found on the | |
316 <ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl site</ulink>.</para> | |
9675 | 317 |
10561 | 318 <para>You can play VCDs by playing the <filename>.DAT</filename> or <filename>.MPG</filename> files |
319 that Windows exposes on VCDs. It works like this (adjust for the drive letter | |
320 of your CD-ROM):</para> | |
321 | |
322 <screen>mplayer d:/mpegav/avseq01.dat</screen> | |
9675 | 323 |
324 <screen>mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG</screen> | |
325 | |
10561 | 326 <para>DVDs also work, just set the DVD device correctly to whatever your CD-ROM |
327 device is:</para> | |
328 | |
10184
b6c63ab184a4
Changed a few remaining -dvd and -vcd options to dvd:// and vcd://.
diego
parents:
9675
diff
changeset
|
329 <screen>mplayer dvd://<title> -dvd-device '\\.\d:'</screen> |
10561 | 330 |
331 </sect2> | |
332 | |
333 | |
334 <sect2 id="mingw"> | |
335 <title>MinGW</title> | |
336 | |
337 <para>Installing a version of MinGW that could compile MPlayer used to be quite | |
338 tricky, but only consists of three simple steps now and should work out of | |
339 the box soon.</para> | |
9675 | 340 |
10561 | 341 <itemizedlist> |
342 <listitem><para>Install MinGW 3.0.0 or later.</para></listitem> | |
343 <listitem><para>Install MSYS 1.0.9 or later and tell the MSYS postinstall that | |
344 MinGW is installed.</para></listitem> | |
345 <listitem><para>Replace <filename>/mingw/include/sys/types.h</filename> with this | |
346 <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32-beta/contrib/types.h"><filename>types.h</filename></ulink>.</para></listitem> | |
347 </itemizedlist> | |
348 | |
349 <para>Extract DirectX header files to <filename class="directory">/mingw/include/</filename>.</para> | |
10191 | 350 |
10561 | 351 <para>VCDs and DVDs work almost like Cygwin (adjust for the drive letter of your |
352 CD-ROM):</para> | |
353 | |
354 <screen>mplayer d:/mpegav/avseq01.dat</screen> | |
355 | |
356 <screen>mplayer /d/MPEG2/AVSEQ01.MPG</screen> | |
357 | |
358 <screen>mplayer dvd://<title> -dvd-device /d/</screen> | |
359 | |
360 </sect2> | |
361 | |
362 | |
9675 | 363 </sect1> |
364 | |
365 </chapter> |