diff options
Diffstat (limited to 'DOCS/xml/de/video.xml')
-rw-r--r-- | DOCS/xml/de/video.xml | 2788 |
1 files changed, 2788 insertions, 0 deletions
diff --git a/DOCS/xml/de/video.xml b/DOCS/xml/de/video.xml new file mode 100644 index 0000000000..cf6c5a0e37 --- /dev/null +++ b/DOCS/xml/de/video.xml @@ -0,0 +1,2788 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- in sync with rev 1.85 $ --> +<chapter id="video"> +<title>Video-Ausgabe-Geräte</title> + +<sect1 id="mtrr"> +<title>MTRR einrichten</title> + +<para> + Du solltest UNBEDINGT sicherstellen, dass die MTRR-Register richtig belegt + sind, denn sie können eine großen Geschwindigkeits-Schub + bringen. +</para> + +<para> + Gebe den Begehl <command>cat /proc/mtrr</command> ein: +<screen> +<prompt>--($:~)--</prompt> cat /proc/mtrr +reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9 +reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<!-- +--></screen> +</para> + +<para> + Diese Anzeige ist richtig. Sie zeigt meine Matrox G400 mit 16MB Speicher. + Ich habe die Einstellung von XFree 4.x.x, was die MTRR-Register automatisch + einstellt. +</para> + +<para> + Wenn nichts funktioniert, musst du sie manuell setzen. Als erstes musst du + die Basisadresse finden. Dazu gibt es drei Möglichkeiten: + +<orderedlist> +<listitem><para> + durch die X11 Start-Meldungen, zum Beispiel: + <screen> +(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000 +(--) SVGA: Linear framebuffer at 0xD8000000<!-- +--></screen> + </para></listitem> +<listitem><para> + für (verwende<filename>/proc/pci</filename> (verwende den Befehl +<command>lspci -v</command>): + <screen> +01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 +Memory at d8000000 (32-bit, prefetchable) + </screen> + </para></listitem> +<listitem><para> + von mga_vid kernel Kerneltreiber-Meldungen (verwende <command>dmesg</command>): + <screen>mga_mem_base = d8000000</screen> + </para></listitem> +</orderedlist> +</para> + +<para> + So, nun gilt es, die Speichergröße zu finden. Dies ist sehr + einfach, konvertiere einfach die Video-RAM-Größe nach Hexdezimal, + oder verwende diese Tabelle: +<informaltable frame="none"> +<tgroup cols="2"> +<tbody> +<row><entry>1 MB</entry><entry>0x100000</entry></row> +<row><entry>2 MB</entry><entry>0x200000</entry></row> +<row><entry>4 MB</entry><entry>0x400000</entry></row> +<row><entry>8 MB</entry><entry>0x800000</entry></row> +<row><entry>16 MB</entry><entry>0x1000000</entry></row> +<row><entry>32 MB</entry><entry>0x2000000</entry></row> +</tbody> +</tgroup> +</informaltable> +</para> + +<para> + Du weißt die Base-Adresse und die Speichergröße? Lass uns + die MTRR Register einstellen! Für die Matrox Karte von oben + (<literal>base=0xd8000000</literal>) mit 32MB RAM (<literal>size=0x2000000</literal>) + führst du einfach das Folgende aus: +<screen> +echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr +</screen> +</para> + +<para> + Nicht alle CPUs unterstützen MTRRs. Zum Beispiel ältere K6-2s + [die bei ca. 266MHz, stepping 0] unterstützen kein MTRR, aber stepping + 12 CPUs tun es (<command>cat /proc/cpuinfo</command> gibt Aufschluss). +</para> +</sect1> + +<sect1 id="output-trad"> +<title>Videoausgabegeräte für traditionelle Grafikkarten</title> +<sect2 id="xv"> +<title>Xv</title> + +<para> + Mit XFree86 4.0.2 oder neureren Versionen kannst du die Hardware-YUV-Routinen + deiner Grafikkarte mit Hilfe der XVideo-Erweiterungen benutzen. Das ist die + Technik, die <option>-vo xv</option> benutzt. Dieser Treiber unterstützt + darüber hinaus die Anpassung von Helligkeit/Kontrast/Sättigung etc + (es sei denn, du benutzt den alten und langsamen DirectShow DivX-Codec, + welcher diese Anpassungen unabhängig vom Videoausgabetreiber unterstützt). + Schau in der Man Page nach. +</para> + +<para> + Um Xv zum Laufen zu bringen, musst du auf die folgenden Punkte achten: + +<orderedlist> +<listitem><para> + Du musst XFree86 4.0.2 oder eine neuere Version verwenden, da die + älteren Versionen XVideo noch nicht kannten. + </para></listitem> +<listitem><para> + Deine Grafikkarte muss Hardware-Unterstützung für YUV bieten, was alle + modernen Karten tun. + </para></listitem> +<listitem><para> + X muss die XVideo-Erweiterung auch tatsächlich laden, was zu + Meldungen ähnlich den folgenden führt: + + <programlisting>(II) Loading extension XVideo</programlisting> + + in <filename>/var/log/XFree86.0.log</filename> + + <note><para> + Diese Meldung besagt nur, dass die XFree86-Erweiterung + geladen wird. Bei einer guten Installation sollte das immer der Fall + sein. Das heißt allerdings noch nicht, dass die + <emphasis role="bold">XVideo-Unterstützung der Grafikkarte</emphasis> + auch geladen wurde! + </para></note> + </para></listitem> +<listitem><para> + Deine Karte muss unter Linux Xv-Unterstützung haben. Du kannst dich + dessen mit <command>xvinfo</command> vergewsissern, das Teil der + XFree86-Distribution ist. Es sollte einen längeren Text ausgeben, + der ungefähr so aussieht: + +<screen> +X-Video Extension version 2.2 +screen #0 + Adaptor #0: "Savage Streams Engine" + number of ports: 1 + port base: 43 + operations supported: PutImage + supported visuals: + depth 16, visualID 0x22 + depth 16, visualID 0x23 + number of attributes: 5 +(...) + Number of image formats: 7 + id: 0x32595559 (YUY2) + guid: 59555932-0000-0010-8000-00aa00389b71 + bits per pixel: 16 + number of planes: 1 + type: YUV (packed) + id: 0x32315659 (YV12) + guid: 59563132-0000-0010-8000-00aa00389b71 + bits per pixel: 12 + number of planes: 3 + type: YUV (planar) +(...etc...)<!-- +--></screen> + Damit <application>MPlayer</application> Xv benutzen kann, müssen die + Pixelformate YUY2 packed und YV12 planar unterstützt werden. + </para></listitem> + <listitem><para> + Stell als letztes sicher, dass <application>MPlayer</application> mit + Unterstützung für Xv compiliert wurde. <command>configure</command> gibt eine + entsprechende Meldung aus. + Führ den Befehl <command>mplayer -vo help | grep xv </command> aus. + Wurde Unterstützung für Xv eingebaut, sollte eine ähnliche Meldung + wie diese erscheinen: + <screen> + xv X11/Xv<!-- + --></screen> + </para></listitem> +</orderedlist> +</para> + +<sect3 id="tdfx"> +<title>3dfx-Karten</title> + +<para> + Ältere 3dfx-Treiber hatten bekanntermaßen Probleme mit der + XVideo-Beschleuningung, die entweder YUY2 oder YV12 nicht unterstützte. + Stell sicher, dass du XFree86 Version 4.2.0 oder neuer verwendest, da diese + Versionen mit YV12 und YUY2 keine Probleme haben. Vorherige Versionen, auch + 4.1.0, sind <emphasis role="bold">bei Verwendung von YV12 abgestürzt</emphasis>. + Wenn du merkwürdige Effekte bei der Verwendung von <option>-vo xv</option> + bemerktst, dann probier aus, ob mit SDL, das ebenfalls XVideo benutzen kann, + diese Effekte verschwinden. In der <link linkend="sdl">SDL</link> stehen + Details darüber. +</para> + +<para> + <emphasis role="bold">Alternativ</emphasis> kannst du auch den NEUEN + tdfxfb-Treiber mit <option>-vo tdfxfb</option>verwenden! + Lies dazu die <link linkend="tdfxfb">tdfxfb</link> tdfxfb-Sektion +</para> +</sect3> + + +<sect3 id="s3"> +<title>S3-Karten</title> + +<para> + S3 Savage3D-Karten sollten problemlos funktionieren, aber bei Savage4- + Chips solltest du XFree86 4.0.3 oder neuer verwenden. Probier bei Problemen + den 16bpp-Farbmodus aus. Und der S3 Virge... Es gibt für ihn zwar Xv- + Unterstützung, aber die Karte selber ist so langsam, dass du sie besser + verkaufst. +</para> + +<note> +<para> + Momentan ist nicht ganz klar, welche Savage-Modelle keine Unterstützung + für YV12 in Hardware haben, sodass bei ihnen der Treiber diese Konvertierung + sehr langsam vornimmt. Wenn du deine Karte deswegen verdächtigst, dann + besorg dir einen neueren Treiber, oder frag auf der MPlayer-Users-Mailingliste + freundlich nach einem Treiber, der MMX/3DNow unterstützt. +</para> +</note> +</sect3> + + +<sect3 id="nvidia"> +<title>nVidia-Karten</title> + +<para> + nVidia ist für Linux keine optimale Wahl (auch wenn das laut nVidia + <link linkend="nvidia-opinions">nicht stimmt</link>)... + XFree86's Open-Source-Treiber unterstützt die meisten dieser Karten, jedoch + musst du in einigen Fällen die binären Closed-Source-Treiber von nVidia + verwenden, verfügbar auf der + <ulink url="http://www.nvidia.com/object/linux.html">nVidia-Webseite</ulink>. + Du brauchst diese Treiber immer, wenn du zusätzlich 3D-Beschleunigung + haben willst. +</para> + +<para> + Riva128-Karten bieten nicht einmal mit den binären nVidia-Treibern + XVideo-Unterstützung (beklag dich bei nVidia). +</para> + +<para> + However, <application>MPlayer</application> enthält einen + <link linkend="vidix">VIDIX</link> -Treibern für die meisten nVidia-Karten. + Er ist aktuell in der Beta-Phase und besitzt einige Nachteil. Mehr + Informationen findest du in der + <link linkend="vidix-nvidia">nVidia-VIDIX</link>-Sektion. +</para> +</sect3> + + +<sect3 id="ati"> +<title>ATI-Karten</title> + +<para> + Die <ulink url="http://gatos.sf.net">GATOS-Treiber</ulink>, die du + einsetzen solltest, sofern du keine Rage128- oder Radeon-Karte hast, + haben standardmäßig VSYNC angeschlatet. Dies bedeutet, dass + die Decodiergeschwindigkeit (!) zur Bildwiederholrate des Monitors + synchronisiert wird. Wenn dir die Wiedergabe langsam vorkommt, dann + versuche, irgendwie VSYNC abzuschalten, oder setze die Bildwiederholrate + des Monitors auf n * (fps des Films) Hz. +</para> + +<para> + Radeon VE - wenn du X benötigst, verwende XFree86 4.2.0 oder höher für + diese Karte. Außerdem gibt es keine Unterstützung für den TV-Ausgang. + Natürlich bekommst du mit <application>MPlayer</application> + <emphasis role="bold">Hardware-beschleunigte</emphasis> Wiedergabe, das + ganze wahlweise <emphasis role="bold">mit oder ohne TV-Ausgang</emphasis>, + und es werden dabei nicht einmal weitere Bibliotheken oder X selber benötigt. + Lies dazu die <link linkend="vidix">VIDIX-Sektion</link>. +</para> +</sect3> + + +<sect3 id="neomagic"> +<title>NeoMagic-Karten</title> + +<para> + Diese Chips befinden sich in vielen Laptops. Du musst XFree86 4.3.0 oder + höher oder andernfalls die + <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/">Xv-fähigen + Treiber</ulink> von Stefan Seyfried verwenden. + Wähle einfach einen, der zu deiner XFree86-Version passt. +</para> + +<para> + XFree86 4.3.0 beinhaltet die Unterstützung für Xv, jetzt schickte Bohdan Horst + einen kleinen + <ulink url="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch">Patch</ulink> + auf die XFree86-Quellen, der Framebuffer-Operationen (daher XVideo) + bis auf das Vierfache beschleunigt. Der Patch wurde das in XFree86-CVS + eingebunden und sollte im nächsten Release nach 4.3.0 vorhanden sein. +</para> + +<para> + Um die Wiedergabe von Video in DVD-Auflösung zu ermöglichen, + ändere deine XF86Config wie folgt: +<programlisting> +Section "Device" + [...] + Driver "neomagic" + <emphasis>Option "OverlayMem" "829440"</emphasis> + [...] +EndSection<!-- +--></programlisting> +</para> +</sect3> + + +<sect3 id="trident"> +<title>Trident-Karten</title> +<para> + Wenn du Xv mit einer Trident-Grafikkarte benutzen willst, dann installiere + XFree86 4.2.0, sofern Xv nicht schon mit 4.1.0 funktioniert. Version 4.2.0 + enthält Unterstützung für Xv im Vollbild für Cyberblade XP-Karten. +</para> + +<para> + Alternativ enthält <application>MPlayer</application> einen + <link linkend="vidix">VIDIX</link>-Treiber für the Cyberblade/i1-Karten. +</para> + +</sect3> + + +<sect3 id="kyro"> +<title>Kyro/PowerVR-Karten</title> +<para> + Wenn du Xv mit einer Kyro-basierten Karte (wie z.B. der Hercules Prophet 4000XT) + verwenden möchstest, dann solltest du die Treiber von der + <ulink url="http://www.powervr.com/">PowerVR-Seite</ulink> herunterladen. +</para> +</sect3> +</sect2> + +<!-- ********** --> + +<sect2 id="dga"> +<title>DGA</title> + +<formalpara> +<title>EINLEITUNG</title> +<para> + Dieser Abschnitt versucht, in wenigen Worten zu beschreiben, was DGA + generell ist, und was der DGA-Videotreiber in <application>MPlayer</application> + erreichen kann, und was nicht. +</para> +</formalpara> + +<formalpara> +<title>WAS IST DGA?</title> +<para> + <acronym>DGA</acronym> ist die Abkürzung für + <emphasis>Direct Graphics Access</emphasis> (direkter Zugriff auf die + Grafikhardware) und gibt Programmen die Möglichkeit, unter Umgehung + des X-Servers direkt den Framebuffer der Grafikkarte zu verändern. + Technisch gesehen wird das dadurch realisiert, dass der + Framebuffer-Speicher in den virtuellen Adressraum des jeweiligen Prozesses + abgebildet wird. Das wird vom Kernel aber nur dann zugelassen, wenn der + Prozess Superuserprivilegien besitzt. Dazu musst du dich entweder als + <systemitem class="username">root</systemitem> anmelden oder das SUID-bit + des <application>MPlayer</application>-Binaries setzen (was + <emphasis role="bold">nicht empfohlen wird</emphasis>). +</para> +</formalpara> +<para> + Von DGA gibt es zwei Versionen: DGA1 kommt mit XFree 3.x.x, und DGA2 + wurde mit XFree 4.0.1 eingeführt. +</para> + +<para> + DGA1 bietet nur den oben beschriebenen Zugriff auf den Framebuffer. Die + Umschaltung des Videomodus klappt nur mit der XVidMode-Erweiterung. +</para> + +<para> + DGA2 beinhaltet die Features der XVidMode-Erweiterung und erlaubt + außerdem, die Farbtiefe zu ändern. Damit kannst du also auf 32bit + Farbtiefe umschalten, auch wenn der X-Server gerade mit 15bit Farbtiefe + läuft und umgekehrt. +</para> + +<para> + DGA hat aber auch ein paar Nachteile. Die Funktionsweise scheint ein wenig + von der Grafikkarte und deder Implementierung des Grafikkartentreibers + im X-Server abhängig zu sein, der diesen Chip kontrolliert. + Es fuktioniert also nicht auf jedem System... +</para> + +<formalpara> +<title>DGA-UNTERSTÜTZUNG FÜR MPLAYER INSTALLIEREN</title> + +<para> + Stell als erstes sicher, dass X die DGA-Erweiterung lädt. Schau + in <filename>/var/log/XFree86.0.log</filename> nach: + +<programlisting>(II) Loading extension XFree86-DGA</programlisting> + + Wie du siehst ist XFree86 4.0.x oder neuer + <emphasis role="bold">sehr zu empfehlen</emphasis>! + <application>MPlayer</application>s DGA-Treiber wird von + <filename>./configure</filename> automatisch erkannt. Alternativ + kannst du seine Compilierung mit <option>--enable-dga</option> erzwingen. +</para> +</formalpara> + +<para> + Falls der Treiber nicht zu einer kleineren Auflösung wechseln + konnte, dann experimentiere mit den Optionen <option>-vm</option> (nur bei + X 3.3.x), <option>-fs</option>, <option>-bpp</option>, + <option>-zoom</option> herum, um einen Videomodus zu finden, + in den der Film reinpasst. Momentan gibt es keinen Konverter :( +</para> + +<para> + Werde <systemitem class="username">root</systemitem>. + DGA bruacht <systemitem class="username">root</systemitem>-Privilegien, + um direkt in den Grafikspeicher zu schreiben. Wenn du MPlayer als + normaler Benutzer starten möchtest, dann installiere + <application>MPlayer</application> mit dem SUID-Bit: + +<screen> +chown root <replaceable>/usr/local/bin/mplayer</replaceable> +chmod 750 <replaceable>/usr/local/bin/mplayer</replaceable> +chmod +s <replaceable>/usr/local/bin/mplayer</replaceable> +</screen> + + Jetzt funktioniert es auch als normaler Benutzer. +</para> + +<caution> +<title>Warnung: Sicherheitsrisiko!</title> +<para> + Dieses ist ein <emphasis role="bold">großes</emphasis> Sicherheitsloch. + Tu das <emphasis role="bold">niemals</emphasis> auf einem Server oder + auf einem Computer, auf den auch andere Leute Zugriff haben, da sie durch einen + SUID-<systemitem class="username">root</systemitem>-<application>MPlayer</application> + <systemitem class="username">root</systemitem>-Privilegien erlangen können. +</para> +</caution> + +<para> + Benutze jetzt die Option <option>-vo dga</option>, und ab geht's (hoffe ich + zumindest :))! Du solltest auch ausprobieren, ob bei dir die Option + <option>-vo sdl:dga</option> funktioniert. Sie ist viel schneller. +</para> + + +<formalpara id="dga-modelines"> +<title>ÄNDERN DER AUFLÖSUNG</title> + +<para> + Der DGA-Treiber ermöglicht es, die Auflösung des Outpu-Signals zu ändern. + Damit entfällt die Notwendigkeit der (langsamen) Softwareskalierung und + bietet gleichzeitig ein Vollbild. Idealerweise würde DGA in die gleiche + Auflösung schalten, die das Video (natürlich unter Beachtung des + Höhen-/Breitenverhältnisses) hat, aber der X-Server lässt nur + Auflösungen zu, die vorher in der <filename>/etc/X11/XF86Config</filename> bzw. + <filename>/etc/X11/XF86Config-4</filename> definiert wurden, bezüglich XFree 4.X.X. + Diese werden durch sogenannte Modelines festgelegt und hängen von den Fähigkeiten + deiner Grafikhardware ab. Der X-Server liest diese Konfigurationsdatei beim + Start ein und deaktiviert alle Modelines, die sich nicht mit deiner Hardware + vertragen. Du kannst die überlebenden Modelines anhand der X11-Logdatei + herausfinden (normalerweise <filename>/var/log/XFree86.0.log</filename>). +</para> +</formalpara> + +<para> + Diese Einträge funktionieren mit einem Riva128-Chip und dem + nv.o-X-Server-Treibermodul. +</para> + + +<para><programlisting> +Section "Modes" + Identifier "Modes[0]" + Modeline "800x600" 40 800 840 968 1056 600 601 605 628 + Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 + Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 + Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan + Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 + Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan + Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan +EndSection +</programlisting></para> + + +<formalpara> +<title>DGA & MPLAYER</title> +<para> + DGA wird bei <application>MPlayer</application> an zwei Stellen benutzt: + beim SDL-Treiber mit (<option>-vo sdl:driver=dga</option>) oder beim + DGA-Treiber selber (<option>-vo dga</option>). + Das oben gesagte gilt für beide Treiber. In den folgenden Abschnitten + erkläre ich, wie der DGA-Treiber von <application>MPlayer</application> + selber arbeitet. +</para> +</formalpara> + + +<formalpara> +<title>FEATURES DES DGA-TREIBERS</title> + +<para> + Der DGA-Treiber wird durch die Option <option>-vo dga</option> aktiviert. + Sein Standardverhalten sieht vor, dass er in die Auflösung schaltet, die + der Videoauflösung am nächsten kommt. Der Treiber ignoriert absichtlich + die Optionen <option>-vm</option> (Videomodusumschaltung aktivieren) und + <option>-fs</option> (Vollbildmodus erzwingen) - er versucht immer, so viel + des Bildefläche wie möglich durch eine Änderung der Auflösung zu bedecken. + Dadurch wird nicht ein einziger weitere CPU-Takt für die Skalierung des + Bildes verwendet. Wenn du mit dem Modus nicht zufrieden bist, den der Treiber + gewählt hat, dann kannst du ihn zwingen, denjenigen Modus zu + wählen, der am besten zu dem mit den Optionen <option>-x</option> und + <option>-y</option> angegebenen Werten passt. Die Option <option>-v</option> + veranlasst den DGA-Treiber, neben einigen anderen Dingen auch alle von deiner + <filename>XF86Config</filename>-Datei unterstützen Videomodi aufzulisten. + Wenn DGA2 verwendet wird, dann kannst du mit der Option <option>-bpp</option> die + Verwendung einer bestimmten Farbtiefe erzwingen. Gültige Werte sind 15, + 16, 24 und 32. Es hängt dann von deiner Hardware ab, ob der Modus nativ + unterstützt wird, oder ob eine (möglicherweise langsame) + Konvertierung stattfindet. +</para> +</formalpara> +<para> + Wenn du Glück hast und dir genug unbenutzter Grafikspeicher zur + Verfügung steht, um ein komplettes Bild aufzunehmen, dann wird der + DGA-Treiber Doppelpufferung verwenden, was zu regelmäßigerer + Wiedergabe führt. Der DGA-Treiber wird dir mitteilen, ob Doppelpufferung + angeschaltet ist oder nicht. +</para> + +<para> + Doppelpufferung bedeutet, dass das nächste Bild deines Videos bereits + an einer anderen Stelle im Grafikspeicher aufgebaut wird, während das + aktuelle Bild angezeigt wird. Wenn das nächste Bild fertig ist, so wird + dem Grafikchip nur noch mitgeteilt, wo er das neue Bild im Speicher finden + kann. Somit holt sich der Chip seine Daten einfach von dort. In der + Zwischenzeit wird der andere, jetzt unbenutze Puffer wieder mit neuen + Videodaten gefüllt. +</para> + +<para> + Doppelpufferung kann mit der Option <option>-double</option> aktiviert und mit + <option>-nodouble</option> deaktiviert werden. Momentan ist die Doppelpufferung + standardmäßig deaktiviert. Wenn der DGA-Treiber verwendet wird, + dann funktioniert das Onscreen-Display (ODS) nur dann, wenn auch die + Doppelpufferung aktiviert ist. Andererseits kann die Doppelpufferung auch + einen großen Einbruch bei der Geschwindigkeit hervorrufen, was sehr von + der DGA-Implementierung der Treiber für deine Hardware abhängt (auf + meinem K6-II+ 525 benötigt Doppelpufferung weitere 20% CPU-Zeit!). +</para> + + +<formalpara> +<title>PUNKTE BZGL. DER GESCHWINDIGKEIT</title> + +<para> + Generell gesehen sollte der Zugriff auf den DGA-Framebuffer genauso + schnell sein wie der X11-Treiber, wobei man zusätzlich noch ein Vollbild + erhält. Die prozentualen Geschwindigkeitswerte, die <application>MPlayer</application> + ausgibt, müssen mit Vorsicht genossen werden, da sie z.B. beim X11-Treiber + nicht die Zeit beinhalten, die der X-Server tatsächlich zum + Anzeigen des Bildes benötigt. Klemm ein Terminal an deinen seriellen + Port und starte <command>top</command>, wenn du wissen willst, wie's wirklich mit + der Geschwindigkeit aussieht. +</para> +</formalpara> + +<para> + Allgemein betrachtet hängt die Geschwindigkeitsverbesserung von DGA + gegenüber dem 'normalen' X11-Treiber sehr von deiner Grafikkarte und + davon ab, wie gut das X-Servermodul optimiert ist. +</para> + +<para> + Wenn du ein langsames System hast, dann benutz besser eine Farbtiefe von + 15 oder 16bit, da sie nur die halbe Bandbreite des 32bit-Farbmodus + benötigen. +</para> + +<para> + Einge gute Idee ist auch die Verwendung von 24bit Farbtiefe selbst dann, + wenn deine Grafikkarte nativ nur 32bit unterstützt, da bei 24bit 25% + weniger Daten im Vergleich zum 32/32-Modus über den Bus transferiert + werden müssen. +</para> + +<para> + Ich habe schon gesehen, wie einige AVI-Dateien auf einem Pentium MMX 266 + wiedergegeben werden konnten. AMD K6-2-CPUs werden ab ca. 400 MHz oder + höher funktionieren. +</para> + + +<formalpara> +<title>BEKANNTE FEHLER</title> + +<para> + Die Entwickler von XFree sagen selbst, dass DGA ein ganz schönes + Monstrum ist. Sie raten eher davon ab, es zu benutzen, da seine + Implementierung in einige Chipset-Treiber für XFree nicht immer + ganz fehlerfrei war. +</para> +</formalpara> + +<itemizedlist> +<listitem><simpara> + Bei der Kombination aus XFree 4.0.3 und dem + <filename>nv.o</filename>-Treiber gibt es einen Fehler, der zu + merkwürdigen Farben führt. +</simpara></listitem> +<listitem><simpara> + Die ATI-Treiber müssen den Videomodus mehrmals zurückstellen, + nachdem der DGA-Modus verlassen wurde. + </simpara></listitem> +<listitem><simpara> + Einige Treiber schaffen es manchmal einfach nicht, in die vorherige + Auflösung zurückzuschalten. Benutze in solch einem Fall + <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad +</keycap> und + <keycap>Ctrl</keycap>+<keycap>Alt</keycap>+<keycap>Keypad -</keycap>, + um manuell die Auflösung zu ändern. +</simpara></listitem> +<listitem><simpara> + Einige Treiber zeigen einfach nur merkwürdige Farben an. +</simpara></listitem> +<listitem><simpara> + Einige Treiber lügen, was die von ihnen in den Prozessorspeicher + eingeblendete Menge Grafikspeicher anbelangt, weswegen vo_dga + nicht die Doppelpufferung verwendet (SIS?). +</simpara></listitem> +<listitem><simpara> + Einige Treiber schaffen es nicht einmal, auch nur einen einzigen + gültigen Grafikmodus bereitzustellen. In solchen Fällen + gibt der DGA-Treiber schwachsinnige Modi wie z.B. 100000x100000 oder + so ähnlich aus. +</simpara></listitem> +<listitem><simpara> + Das OSD funktioniert nur, wenn auch die Doppelpufferung aktiviert + ist (sonst flimmert es). +</simpara></listitem> +</itemizedlist> + +</sect2> +<!--</sect1>--> + +<!-- ********** --> + +<sect2 id="sdl"> +<title>SDL</title> + +<para> + <acronym>SDL</acronym> (Simple Directmedia Layer, Simpele Schicht für + den direkten Zugriff auf Mediageräte) bietet grundsätzlich eine einheitliche + Schnittstelle zu Audio- und Videogeräten. Programme, die die SDL + benutzen, kennen nur die SDL und brauchen kein Wissen darüber, welche + Video- oder Audiotreiber die SDL tatsächlich benutzt. So kann z.B. eine + Doom-Portierung mit der SDL die Svgalib, aalib, X11, fbdev und andere Treiber + benutzen. Dazu musst du z.B. nur den Videotreiber angeben, indem du die + Umgebungsvariable <envar>SDL_VIDEODRIVER</envar> setzt. + So lautet zumindest die Theorie. +</para> + +<para> + Bei <application>MPlayer</application> benutzten wir damals die + Software-Skalierroutinen der X11-Treiber von SDL bei Grafikkarten/-treiber, + die keine Unterstützung für XVideo hatten, bis wir unsere eigenen schrieben, + die schneller und hübscher waren. Wir benutzten damals ausßerdem SDLs + aalib-Ausgabe. jetzt haben wir unsere eigenen, was wesentlich komfortabler + ist. Auch davon haben wir selber eine komfortablere Version geschrieben. + SDLs DGA-Code war besser als unserer - zumindest bis vor kurzem. + Verstehst du, worauf ich hinauswill? :) +</para> + +<para> + SDL ist auch bei einigen fehlerbehafteten Treibern/Karten nützlich, + wenn das Video ruckelig abgespielt wird (und es nicht an einem langsamen + System liegt), oder wenn der Ton hinterherhinkt. +</para> + +<para> + Die SDL-Videoausgabe unterstützt die Anzeige von Untertiteln unterhalb + des Films auf den schwarzen Balken (sofern diese vorhanden sind). +</para> + +<variablelist> +<title>Es gibt einige Komanndozeilenparameter bezüglich SDL:</title> +<varlistentry> + <term><option>-vo sdl:driver=<replaceable>name</replaceable></option></term> + <listitem><simpara> + Gibt den Namen des SDL-Videotreibers an (z.B. <literal>aalib</literal>, + <literal>dga</literal>, <literal>x11</literal>) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-ao sdl:<replaceable>name</replaceable></option></term> + <listitem><simpara> + Gibt den Namen des SDL-Audiotreibers an (z.B. <literal>dsp</literal>, + <literal>esd</literal>, <literal>artsc</literal>) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-noxv</option></term> + <listitem><simpara> + Deaktiviert die XVideo-Hardwarebeschleunigung + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-forcexv</option></term> + <listitem><simpara> + Versucht, die Verwendung der XVideo-Beschleunigung zu erzwingen + </simpara></listitem> +</varlistentry> +</variablelist> + +<table> +<title>SDL-Tasten:</title> +<tgroup cols="2"> +<thead> +<row><entry>Taste</entry><entry>Aktion</entry></row> +</thead> +<tbody> +<row><entry><keycap>c</keycap></entry><entry> + Wechselt zwischen den vorhandenen Vollbildmodi + </entry></row> +<row><entry><keycap>n</keycap></entry><entry> + Wechselt zurück zum normalen Fenstermodus + </entry></row> +</tbody> +</tgroup> +</table> + +<itemizedlist> +<title>BEKANNTE FEHLER</title> +<listitem><simpara> + Tasten, die bei sdl:driver=aalib einmal gedrückt werden, bleiben aus + Sicht des Programmes gedrückt (benutz also <option>-vo aa</option>!). + Das ist ein Fehler in SDL, den ich nicht beheben kann (mit SDL 1.2.1 + getestet). +</simpara></listitem> +<listitem><simpara> + Benutze AUF KEINEN FALL SDL mit dem GUI! Das funktioniert nicht so, + wie es sollte. +</simpara></listitem> +</itemizedlist> +</sect2> + + +<sect2 id="svgalib"> +<title>SVGAlib</title> + +<formalpara> +<title>INSTALLATION</title> +<para> + Du musst zuerst die svgalib und die dazugehörigen Devel-Pakete + installieren, bevor du <application>MPlayer</application> compilierst, + da es die Svgalib sonst nicht automatisch findet und den Treiber dazu + nicht compiliert (das kann aber trotzdem erzwungen werden). Vergiss auch + nicht, in <filename>/etc/vga/libvga.config</filename> richtige Werte + für deine Grafikkarte und deinen Monitor anzugeben. +</para> +</formalpara> + +<note> +<para> + Verwende nicht die Option <option>-fs</option>, da sie die Benutzung des + Softwareskalierers erzwingt, und das ganze dann langsam wird. Wenn du diese + Option wirklich brauchst, dann verwende auch <option>-sws 4</option>, + welche zwar schlechte Qualität produziert, dafür aber auch ein wenig + schneller ist. +</para> +</note> + +<formalpara><title>EGA(4bpp)-UNTERSTÜTZUNG</title> +<para> + SVGAlib beinhaltet die EGAlib, und MPlayer kann damit jeden Film in + 16 Farben bei folgenden Modi anzeigen: +</para> +</formalpara> + +<itemizedlist> +<listitem><simpara> + EGA-Karte mit EGA-Monitor: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp +</simpara></listitem> +<listitem><simpara> + EGA-Karte mit CGA-Monitor: 320x200x4bpp, 640x200x4bpp +</simpara></listitem> +</itemizedlist> + +<para> + Der bpp-Wert (Bits pro Pixel) muss von Hand auf vier gesetzt werden: + <option>-bpp 4</option> +</para> + +<para> + Die Auflösung des Films muss wahrscheinlich verkleinert werden, damit + er in den EGA-Modus reinpasst: + <screen>-vf scale=640:350</screen> + oder + <screen>-vf scale=320:200</screen> +</para> + +<para> + Dafür brauchen wir eine schnelle, aber schlechte Qualität + produzierende Skalierroutine: + <screen>-sws 4</screen> +</para> + +<para> + Eventuell muss die automatische Anpassung des + Höhen-/Breitenverältnisses ausgeschaltet werden: + <screen>-noaspect</screen> +</para> + +<note><para> + Die besten Ergebnisse bei EGA-Bildschirmen erhält man meiner Erfahrung nach, + wenn man die Helligkeit ein wenig verringert: + <option>-vf eq=-20:0</option>. Ich musste auch die Audiosamplerate erniedrigen, + weil bei 44KHz der Sound nicht richtig funktionierte: + <option>-srate 22050</option>. +</para></note> + +<para> + Du kannst das OSD und Untertitel mit dem <option>expand</option>-Filter + aktivieren. Die man-Page enthält die exakten Parameter. +</para> +</sect2> + + +<sect2 id="fbdev"> +<title>Framebuffer-Ausgabe (FBdev)</title> + +<para> + <filename>./configure</filename> erkennt automatisch, ob es den Framebuffertreiber + (fbdev) compilieren soll oder nicht. Lies die Framebufferdokumentation in den + Kernelquellen (<filename>Documentation/fb/*</filename>); dort stehen mehr + Informationen. +</para> + +<para> + Falls deine Karte den VBE 2.0-Standard nicht unterstützt (wie z.B. + ältere ISA-/PCI-Karten wie die S3 Trio64) oder nur VBE 1.2 und + älter unterstützt: Tja, dann kannst du immer noch VESAfb benutzen, + benötigst aber den SciTech Display Doctor (ehemals UniVBE), der vor dem + Booten von Linux geladen werden muss. Benutze dazu eine DOS-Bootdiskette oder + was auch immer. Vergiss nicht, deine Kopie von UniVBE zu registrieren ;). +</para> + +<para> + Die Fbdev-Ausgabe kenn neben den üblichen Parametern noch einige andere: +</para> + +<variablelist> +<varlistentry> + <term><option>-fb</option></term> + <listitem><simpara> + Gibt das zu benutzende Framebuffergerät an (Standard <filename>/dev/fb0</filename>) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-fbmode</option></term> + <listitem><simpara> + Gibt zu benutzenden Modusnamen an (wie sie in <filename>/etc/fb.modes</filename> sehen) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-fbmodeconfig</option></term> + <listitem><simpara> + Konfigurationsdatei für die Modi (Standard <filename>/etc/fb.modes</filename>) + </simpara></listitem> +</varlistentry> +<varlistentry> + <term><option>-monitor-hfreq</option></term> + <term><option>-monitor-vfreq</option></term> + <term><option>-monitor-dotclock</option></term> + <listitem><simpara> + <emphasis role="bold">Wichtige</emphasis> Werte, schau dir die + <filename>example.conf</filename> an + </simpara></listitem> +</varlistentry> +</variablelist> + +<para> + Wenn du in einen speziellen Modus wechseln willst, dann benutze +<screen> +mplayer -vm -fbmode <replaceable>Modusname</replaceable> <replaceable>Dateiname</replaceable> +</screen> +</para> + +<itemizedlist> +<listitem><para> + <option>-vm</option> ohne weitere Optionen wird den am besten passenden Modus + aus <filename>/etc/fb.modes</filename> auswählen. Kann auch zusammen mit + <option>-x</option> und <option>-y</option> benutzt werden. Die Option + <option>-flip</option> wird nur dann unterstützt |