DOCS/xml: don't use old "--with-extralibdir" configure option
[mplayer/greg.git] / DOCS / xml / de / ports.xml
bloba746ed89bfe8f1582cc6fae21bf592967eae0d99
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- in sync with r23271 -->
3 <!-- missing cosmetic commit 21537 -->
4 <chapter id="ports" xreflabel="Ports">
5   <title>Portierungen</title>
7   <sect1 id="linux">
8     <title>Linux</title>
9     <para>
10       Die Hauptentwicklungsplattform ist Linux auf x86, obwohl
11       <application>MPlayer</application> auf vielen anderen Linux-Portierungen
12       funktioniert.
13       Binary Packages von <application>MPlayer</application> stehen auf mehreren Quellen
14       zur Verfügung. Jedoch wird <emphasis role="bold">keines dieser Packages unterstützt</emphasis>.
15       Melde den Autoren die Probleme, nicht uns.
16     </para>
18     <sect2 id="debian">
19       <title>Debian-Packaging</title>
20       <para>
21         Um ein Debian-Package zu bauen, führe folgenden Befehl im Source-Verzeichnis von
22         <application>MPlayer</application> aus:
24         <screen>fakeroot debian/rules binary</screen>
26         Wenn du eigene Optionen an configure übergeben willst, kannst du die Umgebungsvariable
27         <envar>DEB_BUILD_OPTIONS</envar> einrichten. Zum Beispiel, wenn du die
28         GUI- und OSD-Menü-Unterstützung willst, die du gerne nutzen würdest:
30         <screen>DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary</screen>
32         Du kannst auch einige Variablen an Makefile übergeben. Zum Beispiel, wenn du
33         mit gcc 3.4 compilieren willst, auch wenn er nicht der Standard-Compiler ist:
35         <screen>CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary</screen>
37         Um den Sourcetree aufzuräumen, führe folgenden Befehl aus:
39         <screen>fakeroot debian/rules clean</screen>
41         Als root kannst du dann das <filename>.deb</filename>-Package wie immer installieren:
43         <screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
44       </para>
46       <para>
47         Christian Marillat hatte eine Weile lang inoffizielle Debian-Packages von
48         <application>MPlayer</application>, <application>MEncoder</application> und
49         unseren Binärcodecpaketen erstellt, du kannst sie von
50         <ulink url="http://www.debian-multimedia.org/">seiner Homepage</ulink>
51         mit apt-get herunterladen.
52       </para>
53     </sect2>
55     <sect2 id="rpm">
56       <title>RPM-Packaging</title>
57       <para>
58         Dominik Mierzejewski entwarf und wartet die inoffiziellen RPM-Packages von
59         <application>MPlayer</application> für Red Hat und Fedora Core. Sie sind von
60         seinem <ulink url="http://rpm.greysector.net/mplayer/">Repository</ulink>
61         verfügbar.
62       </para>
64       <para>
65         Mandrake/Mandriva RPM-Packages stehen auf <ulink url="http://plf.zarb.org/">P.L.F.</ulink>
66         zur Verfügung.
67         SuSE verwendet eine verkrüppelte Version von <application>MPlayer</application>
68         in seiner Distribution. Diese haben sie aus ihren neuesten Releases entfernt. Du
69         bekommst funktionierende RPMs auf
70         <ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
71       </para>
72     </sect2>
74     <sect2 id="arm">
75       <title>ARM</title>
76       <para>
77         <application>MPlayer</application> läuft auf Linux PDAs mit ARM CPU, z.B. Sharp Zaurus,
78         Compaq Ipaq. Der einfachste Weg, sich <application>MPlayer</application> zu besorgen ist,
79         sich ihn von einer der
80         <ulink url="http://www.openzaurus.org">OpenZaurus</ulink> Package Feeds zu holen. Falls
81         du ihn dir selbst compilieren willst, solltest du im
82         <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">mplayer</ulink>-
83         und im
84         <ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>-Verzeichnis
85         der OpenZaurus Distribution Buildroot nachsehen. Diese haben stets die neueste
86         Makefile und Patches, die zum Erstellen eines SVN-<application>MPlayer</application>
87         verwendet werden.
88         Brauchst du ein GUI-Frontend, kannst du xmms-embedded nutzen.
89       </para>
90     </sect2>
91   </sect1>
93   <sect1 id="bsd">
94     <title>*BSD</title>
95     <para>
96       <application>MPlayer</application> läuft auf allen bekannten BSD-Derivaten.
97       Es stehen ports/pkgsrc/fink/etc-Versionen des <application>MPlayer</application>
98       bereit, die möglicherweise leichter anzuwenden sind als unsere Originalquellen.
99     </para>
101     <para>
102       Um <application>MPlayer</application> zu erstellen, brauchst du GNU make
103       (gmake - natives BSD make wird nicht funktionieren) und eine aktuelle Version
104       der binutils.
105     </para>
107     <para>
108       Beschwert sich <application>MPlayer</application>, er könne <filename>/dev/cdrom</filename>
109       oder <filename>/dev/dvd</filename> nicht finden, erstelle einen geeigneten symbolischen Link:
110       <screen>ln -s /dev/<replaceable>dein_cdrom_geraet</replaceable> /dev/cdrom</screen>
111     </para>
113     <para>
114       Um Win32-DLLs mit <application>MPlayer</application> zu nutzen, musst du
115       den Kernel mit "<envar>option USER_LDT</envar>" recompilieren
116       (es sei denn du lässt FreeBSD-CURRENT laufen, wobei dies die
117       Standard-Einstellung ist).
118     </para>
121     <sect2 id="freebsd">
122       <title>FreeBSD</title>
123       <para>
124         Besitzt deine CPU SSE, recompiliere deinen Kernel mit
125         "<envar>options CPU_ENABLE_SSE</envar>" (FreeBSD-STABLE oder
126         Kernel-Patches erforderlich).
127       </para>
128     </sect2>
130     <sect2 id="openbsd">
131       <title>OpenBSD</title>
132       <para>
133         Aufgrund von Einschränkungen in verschiedenen Versionen von GAS (der GNU Assembler,
134         Relocation vs MMX), wirst du in zwei Schritten compilieren müssen: Stell als
135         erstes sicher, dass der nicht-native zuvor in deinem <envar>$PATH</envar> liegt und
136         führe ein <command>gmake -k</command> aus. Sorge dann dafür, dass die native Version
137         benutzt wird, und führe <command>gmake</command> aus.
138       </para>
139       <para>
140         Ab OpenBSD 3.4 ist der oben beschriebene Hack nicht länger nötig.
141       </para>
142     </sect2>
144     <sect2 id="darwin">
145       <title>Darwin</title>
146       <para>
147         Siehe Abschnitt <link linkend="macos">Mac OS</link>.
148       </para>
149     </sect2>
150   </sect1>
152   <sect1 id="unix">
153     <title>Kommerzielles Unix</title>
155     <para>
156       <application>MPlayer</application> wurde auf einige kommerzielle
157       Unix-Varianten portiert. Seit die Entwicklungsumgebungen auf diesen Systemen
158       dahin tendieren, verschieden von denen freier Unixes zu sein, musst du möglicherweise
159       einige manuelle Anpassungen vornehmen, um das Build lauffähig zu bekommen.
160     </para>
162     <sect2 id="solaris">
163       <title>Solaris</title>
164       <para>
165         <application>MPlayer</application> sollte auf Solaris 2.6 oder neuer funktionieren.
166         Verwende den Audio-Treiber von SUN mit der Option <option>-ao sun</option> für
167         den Sound.
168       </para>
170       <para>
171         Auf <emphasis role="bold">UltraSPARCs</emphasis>, profitiert
172         <application>MPlayer</application> von deren
173         <emphasis role="bold">VIS</emphasis>-Erweiterungen (äquivalent zu MMX), zur Zeit
174         nur in
175         <systemitem class="library">libmpeg2</systemitem>,
176         <systemitem class="library">libvo</systemitem>
177         und <systemitem class="library">libavcodec</systemitem>, jedoch nicht in
178         <systemitem class="library">mp3lib</systemitem>. Du kannst dir eine VOB-Datei
179         auf einer 400MHz CPU ansehen. Dazu muss
180         <ulink url="http://www.sun.com/sparc/vis/mediaLib.html"><systemitem class="library">mLib</systemitem></ulink>
181         installiert sein.
182       </para>
184       <para><emphasis role="bold">Vorbehalt:</emphasis></para>
185       <itemizedlist>
186         <listitem><para><emphasis role="bold">mediaLib</emphasis> wird in
187             <application>MPlayer</application> momentan aufgrund Fehlerhaftigkeit
188             per Voreinstellung <emphasis role="bold">deaktiviert</emphasis>. SPARC-Benutzer,
189             die MPlayer mit mediaLib-Unterstützung bauen, haben große grüne Farbstiche
190             gemeldet bei Video, das mit libavcodec en- und decodiert wurde.
191             Du kannst es, wenn du möchtest, aktivieren mit:
192             <screen> $ ./configure --enable-mlib </screen>
193             Du tust dies auf eigenes Risiko. x86-Benutzer sollten mediaLib
194             <emphasis role="bold">niemals</emphasis> benutzen, da dies zu sehr schlechter
195             Performance von MPlayer führt.
196           </para></listitem>
197       </itemizedlist>
199       <para>
200         Um das Package zu erstellen, brauchst du GNU <application>make</application>
201         (<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), das native
202         Solaris make wird nicht funktionieren. Ein typischer Fehler, den du bekommst, wenn
203         du mit einem make von Solaris arbeitest statt mit einem GNU make:
204 <screen>% /usr/ccs/bin/make
205 make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen</screen>
206       </para>
208       <para>
209         Auf Solaris SPARC, brauchst du den GNU C/C++ Compiler; es spielt keine Rolle, ob
210         der GNU C/C++ Compiler mit oder ohne dem GNU Assembler compiliert ist.
211       </para>
213       <para>
214         Auf Solaris x86 brauchst du den GNU Assembler und den GNU C/C++ Compiler
215         so konfiguriert, dass er den GNU Assembler verwendet! Der
216         <application>MPlayer</application>-Code auf der x86-Plattform macht starken
217         Gebrauch von MMX-, SSE- und 3DNOW!-Instruktionen, die nicht compiliert werden
218         können, wenn man den Assembler von Sun <filename>/usr/ccs/bin/as</filename>
219         verwendet.
220       </para>
222       <para>
223         Das <filename>configure</filename>-Script versucht herauszufinden, welches
224         Assembler-Programm von deinem "gcc"-Befehl genutzt wird (falls die
225         automatische Erkennung fehlschlägt, nimm die Option
226         <option>--as=<replaceable>/pfad/zum/installierten/gnu-as</replaceable></option>,
227         um dem <filename>configure</filename>-Script zu zeigen, wo es GNU "as" auf
228         deinem System finden kann).
229       </para>
231       <para>Lösung für gebräuchliche Probleme:</para>
232       <itemizedlist>
233         <listitem><para>
234             Fehlermeldung von <filename>configure</filename> auf einem Solaris x86 System,
235             wenn man GCC ohne GNU Assembler anwendet:
236 <screen>% configure
238 Checking assembler (/usr/ccs/bin/as) ... , failed
239 Please upgrade(downgrade) binutils to 2.10.1...</screen>
240             (Lösung: Installiere und verwende einen gcc, konfiguriert mit
241             <option>--with-as=gas</option>)
242           </para>
244           <para>
245             Ein typischer Fehler, den du bekommst, wenn du mit einem GNU C Compiler arbeitest, der
246             GNU "as" nicht verwendet:
247 <screen>% gmake
249 gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
250 -fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
251 Assembler: mplayer.c
252 "(stdin)", line 3567 : Illegal mnemonic
253 "(stdin)", line 3567 : Syntax error
254 ... more "Illegal mnemonic" and "Syntax error" errors ...</screen>
255           </para>
256         </listitem>
258         <listitem>
259           <para>
260             <application>MPlayer</application> kann eine Schutzverletzung auslösen, wenn
261             mit win32codecs decodiert und encodiert wird:
262 <screen>...
263 Trying to force audio codec driver family acm...
264 Opening audio decoder: [acm] Win32/ACM decoders
265 sysi86(SI86DSCR): Invalid argument
266 Couldn't install fs segment, expect segfault
269 MPlayer interrupted by signal 11 in module: init_audio_codec
270 ...</screen>
271             Das liegt an einer Änderung an sysi86() in Solaris 10 und prä-Solaris Nevada b31-Releases.
272             Bei Solaris Nevada b32 wurde dieser Fehler behoben; trotzdem, Sun muss diese Lösung noch immer
273             nach Solaris 10 rückportieren. Das MPlayer-Projekt hat Sun auf das Problem hingewiesen, und ein Patch
274             für Solaris 10 ist gerade in Vorbereitung. Weitere Informationen über diesen Fehler können hier gefunden werden:
275             <ulink
276                   url="http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6308413"/>.
277           </para>
278         </listitem>
280         <listitem>
281           <para>
282             Aufgrund von Bugs in Solaris 8 kann es dazu kommen, dass du keine DVD-Disks
283             größer 4 GB abspielen kannst:
284           </para>
286           <itemizedlist>
287             <listitem>
288               <para>
289                 Der sd(7D)-Treiber auf Solaris 8 x86 hat einen Bug, wenn er auf einen Diskblock >4GB
290                 auf einem Gerät zugreift, das eine logische blocksize != DEV_BSIZE verwendet (z.B.
291                 CD-ROM- und DVD-Medien).
292                 Wegen eines 32Bit int Overflows wird auf eine Disk-Adresse modulo 4GB zugegriffen
293                 (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
294                 Dieses Problem existiert nicht in der SPARC-Version von Solaris 8.
295               </para>
296             </listitem>
298             <listitem>
299               <para>
300                 Ein ähnlicher Bug is präsent im Dateisystem-Code (AKA ISO9660) von hsfs(7FS),
301                 hsfs unterstützt keine Partitionen/Disks größer als 4GB, auf alle Daten wird
302                 modulo 4GB zugegriffen
303                 (<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
304                 Dieses hsfs-Problem kann  durch die Installation von Patch 109764-04 (sparc) / 109765-04 (x86)
305                 gefixt werden.
306               </para>
307             </listitem>
308           </itemizedlist>
309         </listitem>
310       </itemizedlist>
311     </sect2>
314     <sect2 id="hp-ux">
315       <title>HP-UX</title>
316       <para>
317         Joe Page unterhält ein detailliertes HP-UX
318         <application>MPlayer</application>-<ulink url="http://users.rcn.com/joepage/mplayer_on_hpux11.htm">HOWTO</ulink>
319         von Martin Gansser auf seiner Homepage. Mit diesen Instruktionen sollte das bauen
320         hervorragend funktionieren. Die folgende Information wurde aus diesem HOWTO übernommen.
321       </para>
323       <para>
324         Du benötigst GCC 3.4.0 oder neuer, GNU make 3.80 oder neuer und SDL 1.2.7 oder neuer.
325         HP cc wird kein lauffähiges Programm produzieren, frühere GCC-Versionen sind fehlerhaft.
326         Für OpenGL-Funktionalität musst du Mesa installieren, und die gl- und
327         gl2-Video-Ausgabetreiber sollten funktionieren, wenngleich die Geschwindigkeit sehr
328         mies sein kann, abhängig von der CPU-Geschwindigkeit. Ein guter Ersatz für das eher armselige,
329         native HP-UX-Soundsystem ist GNU esound.
330       </para>
332       <para>
333         Erzeuge das DVD-Gerät,
334         scanne den SCSI-Bus mit:
335       </para>
337 <screen># ioscan -fn
339 Class          I            H/W   Path          Driver    S/W State    H/W Type        Description
341 ext_bus 1    8/16/5      c720  CLAIMED INTERFACE  Built-in SCSI
342 target  3    8/16/5.2    tgt   CLAIMED DEVICE
343 disk    4    8/16/5.<emphasis role="bold">2</emphasis>.<emphasis role="bold">0</emphasis>  sdisk CLAIMED DEVICE     <emphasis role="bold">PIONEER DVD-ROM DVD-305</emphasis>
344 /dev/dsk/c1t2d0 <emphasis role="bold">/dev/rdsk/c1t2d0</emphasis>
345 target  4    8/16/5.7    tgt   CLAIMED DEVICE
346 ctl     <emphasis role="bold">1</emphasis>    8/16/5.7.0  sctl  CLAIMED DEVICE     Initiator
347 /dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
348 ...</screen>
350       <para>
351         Die Bildschirmausgabe zeigt ein Pioneer DVD-ROM an SCSI-Adresse 2.
352         Die Karteninstanz für den Hardwarepfad 8/16 ist 1.
353       </para>
355       <para>
356         Erstelle einen Link von deinem Originalgerät zum DVD-Gerät.
357       </para>
359       <screen># ln -s /dev/rdsk/c<replaceable>&lt;SCSI-Bus-Instanz&gt;</replaceable>t<replaceable>&lt;SCSI Ziel-ID&gt;</replaceable>d<replaceable>&lt;LUN&gt;</replaceable> /dev/<replaceable>&lt;geraet&gt;</replaceable></screen>
361       <para>
362         Beispiel:
363       </para>
365       <screen># ln -s /dev/rdsk/c1t2d0 /dev/dvd</screen>
367       <para>
368         Unten stehen lösungen für einige verbreitete Probleme:
369       </para>
371       <itemizedlist>
372         <listitem>
373           <para>
374             Absturz beim Start mit folgender Fehlermeldung:
375             <screen>/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl</screen>
376           </para>
378           <para>
379             Dies bedeutet, dass die Funktion <systemitem>.finite().</systemitem> nicht
380             in der Standard-Bibliothek HP-UX math zur Verfügung steht.
381             Statt dessen gibt es <systemitem>.isfinite().</systemitem>.
382             Lösung: Benutze die neueste Mesa-Depotdatei.
383           </para>
384         </listitem>
386         <listitem>
387           <para>
388             Absturz beim Playback mit folgender Fehlermeldung:
389             <screen>/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0</screen>
390           </para>
392           <para>
393             Lösung: Benutze die Option extralibdir von configure
394             <option>--extra-ldflags="/usr/lib -lrt"</option>
395           </para>
396         </listitem>
398         <listitem>
399           <para>
400             MPlayer produziert eine Schutzverletzung (segfault) mit einer Meldung wie dieser:
401 <screen>Pid 10166 received a SIGSEGV for stack growth failure.
402 Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
403 Segmentation fault</screen>
404           </para>
406           <para>
407             Lösung:
408             Der HP-UX-Kernel hat eine Standard-Stackgröße von 8MB(?) pro Prozess. (11.0- und
409             neuere 10.20-Patches lassen dich <systemitem>maxssiz</systemitem> bis auf
410             350MB für 32bit-Programme erhöhen). Du musst <systemitem>maxssiz</systemitem>
411             erweitern und den Kernel recompilieren (und neu starten). Dazu kannst du SAM
412             verwenden. (Überprüfe während des Neustarts den
413             <systemitem>maxdsiz</systemitem>-Parameter für die maximale Anzahl Daten,
414             die ein Programm nutzen darf. Er hängt von deiner Anwendung ab, ob der
415             Standard von 64MB ausreicht oder nicht.)
416           </para>
417         </listitem>
418       </itemizedlist>
420     </sect2>
422     <sect2 id="aix">
423       <title>AIX</title>
424       <para>
425         <application>MPlayer</application> wird erfolgreich auf AIX 5.1,
426         5.2 und 5.3 erzeugt, verwendet man GCC 3.3 oder höher. Das Erzeugen von
427         <application>MPlayer</application> auf AIX 4.3.3 und darunter wurde nicht
428         getestet. Es wird dringend empfohlen, <application>MPlayer</application>
429         mit GCC 3.4 oder höher zu erzeugen, oder es wird, falls du auf POWER5
430         arbeitest, GCC 4.0 benötigt.
431       </para>
433       <para>
434         Stelle sicher, dass du GNU make
435         (<filename>/opt/freeware/bin/gmake</filename>) zum bauen von
436         <application>MPlayer</application> nutzt, da du auf Probleme stossen wirst,
437         wenn du <filename>/usr/ccs/bin/make</filename> anwendest.
438       </para>
440       <para>
441         Die CPU-Erkennung ist noch in Arbeit.
442         Die folgenden Architekturen wurden getestet:
443       </para>
445       <itemizedlist>
446         <listitem><para>604e</para></listitem>
447         <listitem><para>POWER3</para></listitem>
448         <listitem><para>POWER4</para></listitem>
449       </itemizedlist>
451       <para>
452         Folgende Architekturen wurden nicht getestet, sollten jedoch trotzdem funktionieren:
453       </para>
454       <itemizedlist>
455         <listitem><para>POWER</para></listitem>
456         <listitem><para>POWER2</para></listitem>
457         <listitem><para>POWER5</para></listitem>
458       </itemizedlist>
460       <para>
461         Sound über die Ultimedia Services wird nicht unterstützt, da Ultimedia in
462         AIX 5.1 weggelassen wurde; deshalb ist die einzige Option, die Treiber des
463         AIX Open Sound System (OSS) von 4Front Technologies auf
464         <ulink url="http://www.opensound.com/aix.html"/> zu verwenden.
465         4Front Technologies stellt die OSS-Treiber für AIX 5.1 für den nicht-kommerziellen Gebrauch
466         frei zur Verfügung; wie auch immer, momentan gibt es keine
467         Soundausgabetreiber für AIX 5.2 oder 5.3. Dies bedeutet, dass
468         <emphasis role="bold">AIX 5.2 und 5.3 momentan keine MPlayer-Tonausgabe beherrschen.</emphasis>
469       </para>
471       <para>Lösung für gebräuchliche Probleme:</para>
473       <itemizedlist>
474         <listitem>
475           <para>
476             Wenn du folgende Fehlermeldung von <filename>configure</filename> erhältst:
477 <screen>$ ./configure
478   ...
479   Checking for iconv program ... no
480   No working iconv program found, use
481   --charset=US-ASCII to continue anyway.
482   Messages in the GTK-2 interface will be broken then.</screen>
484             Das liegt daran, dass AIX Namen für Zeichensätze benutzt, die nicht dem Standard entsprechen;
485             daher wird die Konvertierung von MPlayer-Ausgaben zu anderen Zeichensätzen momentan nicht
486             unterstützt. Die Lösung besteht darin, folgendes zu tun:
487             <screen>$ ./configure --charset=noconv</screen>
488           </para>
489         </listitem>
490       </itemizedlist>
492     </sect2>
494     <sect2 id="qnx">
495       <title>QNX</title>
496       <para>
497         Du musst SDL für QNX herunterladen und installieren. Dann starte
498         <application>MPlayer</application> mit den Optionen
499         <option>-vo sdl:driver=photon</option> und <option>-ao sdl:nto</option>,
500         es sollte schnell laufen.
501       </para>
503       <para>
504         Der Output mit <option>-vo x11</option> wird etwas langsamer sein als unter Linux,
505         da QNX nur X-<emphasis>Emulation</emphasis> besitzt, was sehr langsam ist.
506       </para>
507     </sect2>
508   </sect1>
511   <sect1 id="windows">
512     <title>Windows</title>
514     <para>
515       Ja, <application>MPlayer</application> läuft auf Windows unter
516       <ulink url="http://www.cygwin.com/"><application>Cygwin</application></ulink> und
517       <ulink url="http://www.mingw.org/"><application>MinGW</application></ulink>.
518       Es besitzt noch kein offizielles GUI, aber die Befehlszeilen-Version
519       ist voll funktionstüchtig. Du solltest die
520       <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">MPlayer-cygwin</ulink>
521       Mailing-Liste für Hilfe und für neueste Informationen hernehmen.
522       Offizielle Windows-Binaries können auf der
523       <ulink url="http://www.mplayerhq.hu/design7/dload.html">Download-Seite</ulink>
524       gefunden werden.
525       Installationspakete und einfache GUI-Frontends stehen auf externen Quellen bereit,
526       wir haben sie in der Windows-Sektion unserer
527       <ulink url="http://www.mplayerhq.hu/design7/projects.html#windows">Projektseite</ulink>
528       zusammengestellt.
529     </para>
531     <para>
532       Wenn du die Verwendung der Befehlszeile vermeiden willst, hilft der
533       simple Trick, eine Verknüpfung auf deinem Desktop zu erstellen, der einen
534       ähnlichen Ausführungsabschnitt wie folgenden enthält:
535       <screen><replaceable>c:\pfad\zur\</replaceable>mplayer.exe %1</screen>
536       Dies lässt <application>MPlayer</application> jeden Film abspielen, der
537       über der Verknüpfung fallen gelassen wird.
538       Füge <option>-fs</option> für den Vollbildmodus hinzu.
539     </para>
541     <para>
542       Die besten Ergebnisse werden mit dem nativen DirectX-Video-Ausgabetreiber
543       (<option>-vo directx</option>) erzielt. Alternativen sind OpenGL und SDL, jedoch variiert die
544       OpenGL-Performance stark von System zu System, und SDL ist dafür bekannt,
545       Videos kaputt zu machen oder auf manchen Systemen abzurauchen. Wird das Bild zerstört,
546       versuche, die Hardwarebeschleunigung mit
547       <option>-vo directx:noaccel</option> abzuschalten. Lade dir die
548       <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/dx7headers.tgz">DirectX7-Headerdateien</ulink>
549       herunter, um den DirectX-Video-Ausgabetreiber zu compilieren. Desweiteren musst du
550       DirectX 7 oder höher installiert haben, damit der DirectX-Video-Ausgabetreiber
551       funktioniert.
552     </para>
554     <para>
555       <link linkend="vidix">VIDIX</link> läuft jetzt unter Windows als
556       <option>-vo winvidix</option>, obwohl es nach wie vor experimentell ist
557       und ein wenig manuelles Setup benötigt. Lade dir die
558       <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/dhahelper.sys">dhahelper.sys</ulink> oder
559       <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/dhahelperwin/withmtrr/dhahelper.sys">dhahelper.sys (mit MTRR-Unterstützung)</ulink>
560       herunter und kopiere sie ins Verzeichnis
561       <filename class="directory">vidix/dhahelperwin</filename> deines
562       <application>MPlayer</application>-Source-Baums.
563       Öffne die Console und wechsle in dieses Verzeichnis. Gib dann
565       <screen>gcc -o dhasetup.exe dhasetup.c</screen>
567       ein und führe
568       <screen>dhasetup.exe install</screen>
570       als Administrator aus. Danach wirst du neu starten müssen. Bist du damit fertig,
571       kopiere die <systemitem class="library">.so</systemitem>-Dateien von
572       <filename class="directory">vidix/drivers</filename> ins Verzeichnis
573       <filename class="directory">mplayer/vidix</filename>
574       relativ zu deiner <filename>mplayer.exe</filename>.
575     </para>
577     <para>
578       Für die besten Resultate sollte <application>MPlayer</application> einen
579       Farbraum anwenden, den deine Grafikkarte hardwareseitig unterstützt.
580       Leider melden viele Windows-Grafikkartetreiber fälschlich einige Farbräume
581       als von der Hardware unterstützt. Um herauszufinden welche das sind, versuche
583       <screen>mplayer -benchmark -nosound -frames 100 -vf format=<replaceable>Farbraum</replaceable> <replaceable>vilm</replaceable></screen>
585       wobei <replaceable>Farbraum</replaceable> jeder von der Option
586       <option>-vf format=fmt=help</option> ausgegebene Farbraum sein kann.
587       Findest du den von deiner Karte verarbeiteten Farbraum besonders schlecht,
588       wird <option>-vf noformat=<replaceable>farbraum</replaceable></option>
589       sie daran hindern, diesen anzuwenden. Füge dies in deine
590       config-Datei ein, um die Verwendung permanent zu unterbinden.
591     </para>
593     <para>
594       Es stehen spezielle Codec-Packs für Windows auf unserer
595       <ulink url="http://www.mplayerhq.hu/design7/dload.html">Codec-Seite</ulink>
596       zu Verfügung, die das Abspielen von Formaten zu ermöglichen, für die es noch
597       keinen nativen Support gibt.
598       Leg die Codecs irgendwo in deinem Pfad ab oder übergib
599       <option>--codecsdir=<replaceable>c:/pfad/zu/deinen/codecs</replaceable></option>
600       (alternativ nur auf <application>Cygwin</application>
601       <option>--codecsdir=<replaceable>/pfad/zu/deinen/codecs</replaceable></option>)
602       an <filename>configure</filename>.
603       Wir bekamen einige Berichte, dass Real-DLLs beschreibbar sein müssen, um <application>MPlayer</application>
604       starten zu können, aber nur auf manchen Systemen (NT4).
605       Versuche, sie beschreibbar zu machen, falls du Probleme hast.
606     </para>
608     <para>
609       Du kannst VCDs über die <filename>.DAT</filename>- oder
610       <filename>.MPG</filename>-Dateien, die Windows auf VCDs anzeigt, abspielen.
611       Das funktioniert wie folgt (an den Laufwerksbuchstaben deines CD-ROMs anpassen:
612     </para>
614     <screen>mplayer <replaceable>d:/mpegav/avseq01.dat</replaceable></screen>
616     <para>
617       DVDs gehen ebenfalls, passe <option>-dvd-device</option> an den
618       Laufwerksbuchstaben deines DVD-ROMs an:
619     </para>
621     <screen>mplayer dvd://<replaceable>&lt;Titel&gt;</replaceable> -dvd-device <replaceable>d</replaceable>:</screen>
623     <para>
624       Die <application>Cygwin</application>-/<application>MinGW</application>-Konsole
625       ist sehr langsam. Die Umleitung der Ausgabe oder das Anwenden der Option
626       <option>-quiet</option> soll laut Berichten die Performance auf einigen Systemen
627       verbessern. Direktes Rendern (<option>-dr</option>) kann auch helfen.
628       Ist das Playback ruckelig, versuche <option>-autosync 100</option>.
629       Helfen dir einige dieser Optionen, kannst du sie ja in deine config-Datei
630       eintragen.
631     </para>
633     <note>
634       <para>
635         Auf Windows deaktiviert die CPU-Erkennung zur Laufzeit den SSE-Support
636         wegen periodisch wiederkehrender und schwer zu ortender, SSE-bezogener
637         Abstürze. Wünschst du SSE-Support unter Windows, musst du ohne
638         CPU-Erkennung zur Laufzeit compilieren.
639       </para>
641       <para>
642         Hast du einen Pentium 4 und erlebst einen Absturz bei Verwendung von
643         RealPlayer-Codecs, musst du den Support für Hyperthreading deaktivieren.
644       </para>
645     </note>
649     <sect2 id="cygwin">
650       <title><application>Cygwin</application></title>
652       <para>
653         Du musst <application>Cygwin</application> 1.5.0 oder später laufen
654         lassen, um <application>MPlayer</application> zu compilieren.
655       </para>
657       <para>
658         DirectX-Headerdateien werden gewöhnlich nach
659         <filename class="directory">/usr/include/</filename> oder
660         <filename class="directory">/usr/local/include/</filename>
661         extrahiert.
662       </para>
664       <para>
665         Instruktionen und Dateien, um SDL unter
666         <application>Cygwin</application> laufen zu lassen, können auf der
667         <ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl-Seite</ulink>
668         gefunden werden.
669       </para>
671     </sect2>
674     <sect2 id="mingw">
675       <title><application>MinGW</application></title>
677       <para>
678         Das Installieren einer Version von <application>MinGW</application>, das
679         <application>MPlayer</application> compilieren könnte zwar für gewöhnlich ziemlich
680         trickreich sein, funktioniert jetzt aber hervorragend.
681         Installiere einfach <application>MinGW</application> 3.1.0 oder neuer und
682         MSYS 1.0.9 oder neuer und erzähle der nachträglichen Installation von MSYS,
683         dass <application>MinGW</application> installiert ist.
684       </para>
686       <para>
687         Extrahiere die DirectX-Headerdateien nach
688         <filename class="directory">/mingw/include/</filename>.
689       </para>
691       <para>
692         Die Unterstützung für MOV-komprimierte Header erfordert
693         <ulink url="http://www.gzip.org/zlib/">zlib</ulink>, was
694         <application>MinGW</application> standardmäßig nicht bereithält.
695         Konfiguriere es mit <option>--prefix=/mingw</option> und installiere
696         es vor dem Compilieren des <application>MPlayer</application>.
697       </para>
699       <para>
700         Komplette Anweisungen zum Erzeugen des <application>MPlayer</application>
701         und der notwendigen Bibliotheken findest du in den
702         <ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/MPlayer-MinGW-Howto.txt">MPlayer MinGW HOWTO</ulink>s.
703       </para>
705     </sect2>
706   </sect1>
709   <sect1 id="macos">
710     <title>Mac OS</title>
712     <para>
713       <application>MPlayer</application> läuft nicht auf Mac OS Versionen vor
714       10, sollte jedoch hervorragend auf Mac OS X 10.2 und darüber compilieren.
715       Der vorgezogene Compiler ist die Apple-Version von
716       GCC 3.x oder höher.
717       Du kannst die grundlegende Compilierumgebung schaffen, indem du
718       <ulink url="http://developer.apple.com/tools/download/">Xcode</ulink>
719       von Apple installierst.
720       Besitzt du Mac OS X 10.3.9 oder später und QuickTime 7
721       kannst du den Videoausgabetreiber <option>corevideo</option> verwenden.
722     </para>
724     <para>
725       Leider ermöglicht es dir diese grundlegende Umgebung nicht, von allen netten Features
726       von <application>MPlayer</application> Gebrauch zu machen.
727       Beispielsweise müssen die Bibliotheken <systemitem class="library">fontconfig</systemitem>
728       und <systemitem class="library">freetype</systemitem> auf deinem System installiert sein,
729       damit das OSD eincompiliert werden kann.
730       Im Gegensatz zu anderen Unices wie den meisten Linux- und BSD-Varianten besitzt
731       OS X kein Paketsystem, das im System enthalten ist.
732     </para>
734     <para>
735       Es stehen mindestens zwei zur Wahl:
736       <ulink url="http://fink.sourceforge.net/">Fink</ulink> und
737       <ulink url="http://www.macports.org/">MacPorts</ulink>.
738       Beide bieten in etwa denselben Funktionsumfang (z.B. eine Menge Pakete, von denen
739       gewählt werden kann, Auflösung von Abhängigkeiten, die Möglichkeit, einfach
740       Pakete hinzuzufügen/zu aktualisieren/zu entfernen, etc...).
741       Fink bietet sowohl vorcompilierte Binärpakete als auch das Erstellen aus den
742       Quelldateien, wohingegen MacPorts nur das Erstellen aus den Quellen anbietet.
743       Der Autor dieser Anleitung hat MacPorts gewählt aus dem Grund, dass das
744       grundlegende Setup etwas leichtgewichtiger war.
745       Folgende Beispiele werden sich auf MacPorts beziehen.
746     </para>
748     <para>
749       Um zum Beispiel <application>MPlayer</application> mit OSD-Unterstützung zu compilieren:
750       <screen>sudo port install pkgconfig</screen>
751       Dies wird <application>pkg-config</application> installieren, was ein System für die
752       Handhabung von Compiler-/Link-Flags für Bibliotheken ist.
753       Das <systemitem>configure</systemitem>-Skript von <application>MPlayer</application>
754       benutzt dies, um Bibliotheken angemessen zu erkennen.
755       Dann kannst du <application>fontconfig</application> auf ähnliche Weise installieren:
756       <screen>sudo port install fontconfig</screen>
757       Dann kannst du fortfahren mit der Ausführung von <application>MPlayer</application>s
758       <systemitem>configure</systemitem>-Skript (beachte die Umgebungsvariablen
759       <systemitem>PKG_CONFIG_PATH</systemitem> und <systemitem>PATH</systemitem>,
760       so dass <systemitem>configure</systemitem> die mit MacPorts installierten
761       Bibliotheken findet):
762       <screen>PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure</screen>
763     </para>
765     <sect2 id="osx_gui">
766       <title>MPlayer OS X GUI</title>
767       <para>
768         Du bekommst ein natives GUI für <application>MPlayer</application> zusammen
769         mit für Mac OS X vorcompilierten <application>MPlayer</application>-Binaries
770         vom <ulink url="http://mplayerosx.sf.net/">MPlayerOSX</ulink>-Projekt, sei aber
771         gewarnt: Dieses Projekt ist nicht mehr aktiv.
772       </para>
774       <para>
775         Zum Glück wurde <application>MPlayerOSX</application> von einem Mitglied des
776         <application>MPlayer</application>-Teams übernommen.
777         Preview-Releases findet man auf unserer
778         <ulink url="http://mplayerhq.hu/dload.html">Download-Seite</ulink>,
779         und ein offizielles Release sollte bald herauskommen.
780       </para>
782       <para>
783         Um <application>MPlayerOSX</application> selbst von den Quellen
784         zu bauen, brauchst du <systemitem>mplayerosx</systemitem>, das
785         <systemitem>main</systemitem> und eine Kopie des
786         <systemitem>main</systemitem> SVN-Moduls genannt
787         <systemitem>main_noaltivec</systemitem>.
788         <systemitem>mplayerosx</systemitem> ist das GUI-Frontend,
789         <systemitem>main</systemitem> ist MPlayer und
790         <systemitem>main_noaltivec</systemitem> ist MPlayer ohne AltiVec-Unterstützung.
791       </para>
793       <para>
794         Um ein Checkout der SVN-Module durchzuführen, benutze:
796 <screen>svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx
797 svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main</screen>
798       </para>
800       <para>
801         Um <application>MPlayerOSX</application> zu bilden, musst du
802         so etwas ähnliches einrichten:
804 <screen>MPlayer_source_verzeichnis
806 |--->main           (MPlayer SVN-Quelldateien)
808 |--->main_noaltivec (MPlayer SVN-Quelldateien konfiguriert mit --disable-altivec)
810 |--->mplayerosx     (MPlayer OS X SVN-Quelldateien)</screen>
812         Du musst zuerst main und main_noaltivec erzeugen.
813       </para>
815       <para>
816         Setze zu Beginn für maximale Rückwärtskompatibilität eine Umgebungsvariable:
817         <screen>export MACOSX_DEPLOYMENT_TARGET=10.3</screen>
818       </para>
820       <para>
821         Dann konfiguriere:
822       </para>
824       <para>
825         Wenn du für eine G4 oder eine neuere CPU mit AltiVec-Support konfigurierst,
826         mache folgendes:
828         <screen>./configure --disable-gl --disable-x11</screen>
830         Wenn du für einen G3-getriebenen Rechner mit AltiVec konfigurierst,
831         mache dies:
833         <screen>./configure --disable-gl --disable-x11 --disable-altivec</screen>
835         Du musst <filename>config.mak</filename> editieren und
836         <systemitem>-mcpu</systemitem> und <systemitem>-mtune</systemitem>
837         von <systemitem>74XX</systemitem> auf <systemitem>G3</systemitem> ändern.
838       </para>
840       <para>
841         Fahre fort mit
842         <screen>make</screen>
843         und gehe dann ins Verzeichnis mplayerosx, gib dort folgendes ein:
845         <screen>make dist</screen>
847         Dies wird ein komprimiertes <systemitem>.dmg</systemitem>-Archiv
848         mit der gebrauchsfertigen Binary erzeugen.
849       </para>
851       <para>
852         Du kannst auch das <application>Xcode</application> 2.1 Projekt verwenden;
853         das alte Projekt für <application>Xcode</application> 1.x läuft
854         nicht mehr.
855       </para>
856     </sect2>
857   </sect1>
859 </chapter>