<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>7.15. VIDIX</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="MPlayer - Movie Player"><link rel="up" href="video.html" title="Kapitel 7. Videoausgabegeräte"><link rel="prev" href="x11.html" title="7.14. X11"><link rel="next" href="directfb.html" title="7.16. DirectFB"><link rel="preface" href="howtoread.html" title="Wie diese Dokumentation gelesen werden soll"><link rel="chapter" href="intro.html" title="Kapitel 1. Einführung"><link rel="chapter" href="install.html" title="Kapitel 2. Installation"><link rel="chapter" href="usage.html" title="Kapitel 3. Gebrauch"><link rel="chapter" href="cd-dvd.html" title="Kapitel 4. CD/DVD Nutzung"><link rel="chapter" href="tv.html" title="Kapitel 5. TV"><link rel="chapter" href="radio.html" title="Kapitel 6. Radio"><link rel="chapter" href="video.html" title="Kapitel 7. Videoausgabegeräte"><link rel="chapter" href="ports.html" title="Kapitel 8. Portierungen"><link rel="chapter" href="mencoder.html" title="Kapitel 9. Allgemeiner Gebrauch von MEncoder"><link rel="chapter" href="encoding-guide.html" title="Kapitel 10. Encodieren mit MEncoder"><link rel="chapter" href="faq.html" title="Kapitel 11. Häufig gestellte Fragen"><link rel="appendix" href="bugreports.html" title="Anhang A. Wie Fehler (Bugs) berichtet werden"><link rel="appendix" href="skin.html" title="Anhang B. MPlayers Skinformat"><link rel="subsection" href="vidix.html#vidix-ati" title="7.15.1. ATI-Karten"><link rel="subsection" href="vidix.html#vidix-mga" title="7.15.2. Matrox-Karten"><link rel="subsection" href="vidix.html#vidix-trident" title="7.15.3. Trident-Karten"><link rel="subsection" href="vidix.html#vidix-3dlabs" title="7.15.4. 3DLabs-Karten"><link rel="subsection" href="vidix.html#vidix-nvidia" title="7.15.5. nVidia-Karten"><link rel="subsection" href="vidix.html#vidix-sis" title="7.15.6. SiS-Karten"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.15. VIDIX</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="x11.html">Zurück</a> </td><th width="60%" align="center">Kapitel 7. Videoausgabegeräte</th><td width="20%" align="right"> <a accesskey="n" href="directfb.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="7.15. VIDIX"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="vidix"></a>7.15. VIDIX</h2></div></div></div><p title="EINLEITUNG"><b>EINLEITUNG. </b> <acronym class="acronym">VIDIX</acronym> ist die Abkürzung für <span class="bold"><strong>VID</strong></span>eo <span class="bold"><strong>I</strong></span>nterface für *ni<span class="bold"><strong>X</strong></span> (Video-Schnittstelle für *n*x). VIDIX wurde entworfen, um eine Schnittstelle für schnelle Userspacetreiber für Grafikkarten zur Verfügung zu stellen, so wie es mga_vid für Matrox-Karten tut. VIDIX ist ebenfalls sehr portabel. </p><p> Diese Schnittstelle wurde als Versuch entworfen, den vorhandenen Schnittstellen für Videobeschleunigung (mga_vid, rage128_vid, radeon_vid, pm3_vid) ein einheitliches Dach zu geben. Sie stellt einen einheitlichen Highlevel-Zugang zu BES- und OV-Chips zur Verfügung (BackEnd Scaler und Video Overlays). Sie stellt keine Lowlevel-Funktionen für z.B. Grafikserver zur Verfügung. (Ich möchte nicht mit den X11-Leuten in Sachen Grafikmodusumschaltung konkurrieren.) Das Ziel dieser Schnittstelle liegt also einfach darin, die höchstmögliche Geschwindigkeit bei der Videowiedergabe zu erreichen. </p><div class="itemizedlist" title="VERWENDUNG"><p class="title"><b>VERWENDUNG</b></p><ul class="itemizedlist" type="disc" compact><li class="listitem"><p> Du kannst den eigenständigen Videotreiber benutzen: <tt class="option">-vo vidix</tt> Dieser Treiber wurde als das X11-Frontend für die VIDIX-Technologie entwickelt. Er benötigt dementsprechend einen X-Server und funktioniert auch nur unter X. Beachte, dass der Pixmap-Cache korrumpiert werden kann, weil der Treiber unter Umgehung des X-Treibers direkt auf die Hardware zugreift. Du kannst das dadurch verhindern, dass du die von X verwendete Menge des Grafikspeichers verringerst. Benutze dafür die Option "VideoRam" in der "device"-Sektion der <tt class="filename">XF86Config</tt>. Du solltest da die installierte Menge Grafikspeicher minus 4MB eintragen. Wenn du über weniger als 8MB Grafikspeicher verfügst, dann solltest du stattdessen die Option "XaaNoPixmapCache" in der "screen"-Sektion verwenden. </p></li><li class="listitem"><p> Es gibt einen VIDIX-Treiber für die Konsole: <tt class="option">-vo cvidix</tt>. Dieser benötigt für die meisten Karten einen funktionierenden und initialisierten Framebuffer (oder du wirst stattdessen den Bildschirm in Unordnung bringen) und wirst einen Effekt ähnlich wie mit <tt class="option">-vo mga</tt> oder <tt class="option">-vo fbdev</tt> bekommen. nVidia-Karten sind dagegen in der Lage, wirklich grafisches Video auf einer echten Text-Konsole auszugeben. Im Abschnitt <a class="link" href="vidix.html#vidix-nvidia" title="7.15.5. nVidia-Karten">nvidia_vid</a> wirst du mehr Informationen dazu finden. Um Text an den Rändern und den blinkenden Cursor loszuwerden, probiere etwas wie den folgenden Befehl: </p><pre class="screen">setterm -cursor off > /dev/tty9</pre><p> (welcher davon ausgeht, dass <code class="systemitem">tty9</code> bis dahin ungenutzt ist). Wechsle dann zu <code class="systemitem">tty9</code>. Andererseits sollte dir <tt class="option">-colorkey 0</tt> ein Video liefern, das im "Hintergrund" läuft; das hängt jedoch davon ab, dass die colorkey-Funktionalität korrekt funktioniert. </p></li><li class="listitem"><p> Du kannst auch das VIDIX-Untergerät verwenden, das bei vielen Treibern zur Verfügung steht: <tt class="option">-vo vesa:vidix</tt> (<span class="bold"><strong>nur unter Linux</strong></span>) und <tt class="option">-vo fbdev:vidix</tt> </p></li></ul></div><p> Es ist in der Tat nicht wichtig, welcher Videoausgabetreiber mit <span class="bold"><strong>VIDIX</strong></span> verwendet wird. </p><div class="itemizedlist" title="ANFORDERUNGEN"><p class="title"><b>ANFORDERUNGEN</b></p><ul class="itemizedlist" type="disc" compact><li class="listitem"><p> Die Grafikkarte sollte sich gerade im Grafikmodus befinden (ausser nVidia-Karten mit den <tt class="option">-vo cvidix</tt> Ausgabe-Treibern). </p></li><li class="listitem"><p> <span class="application">MPlayer</span>s Videoausgabetreiber sollte den aktiven Videomodus kennen und in der Lage sein, dem VIDIX-Untergerät ein paar Charakteristika des X-Servers mitzuteilen. </p></li></ul></div><p title="BEDIENUNGSMETHODEN"><b>BEDIENUNGSMETHODEN. </b> Wenn VIDIX als <span class="bold"><strong>Subgerät</strong></span> (<tt class="option">-vo vesa:vidix</tt>) benutzt wird, dann wird die Konfiguration des Videomodus vom Videoausgabegerät erledigt (kurz <span class="bold"><strong>vo_server</strong></span>). Deswegen kannst du für <span class="application">MPlayer</span> die gleichen Kommandozeilenparameter wie für vo_server verwenden. Zusätzlich ist die Option <tt class="option">-double</tt> als global sichtbarer Parameter verfügbar. (Ich empfehle diese Option zumindest bei VIDIX und ATI-Karten.) <tt class="option">-vo xvidix</tt> erkennt momentan die folgenden Optionen: <tt class="option">-fs -zoom -x -y -double</tt>. </p><p> Du kannst den VIDIX-Treiber auch direkt als drittes Teilargument auf der Kommandozeile angeben: </p><pre class="screen">mplayer -vo xvidix:mga_vid.so -fs -zoom -double <em class="replaceable"><code>Datei.avi</code></em></pre><p> oder </p><pre class="screen">mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <em class="replaceable"><code>Datei.avi</code></em></pre><p> Das ist allerdings gefährlich, und du solltest das lieber nicht tun. Hierbei wird die Verwendung des angegebenen Treibers erzwungen, und das Resultat ist unklar (dein Computer könnte sogar <span class="bold"><strong>abstürzen</strong></span>). Du solltest das wirklich NUR DANN tun, wenn du absolut sicher bist, dass es funktioniert und <span class="application">MPlayer</span> es nicht eh schon automatisch auswählt. Berichte den Entwicklern von deinen Erfahrungen. Die korrekte Art, VIDIX zu benutzen, ist ohne das dritte Teilargument, sodass <span class="application">MPlayer</span> automatisch den richtigen Treiber aussucht. </p><p> Da VIDIX direkten Zugriff auf die Hardware benötigt, musst du <span class="application">MPlayer</span> entweder als <code class="systemitem">root</code> starten oder der Programmdatei das SUID-Bit setzen (<span class="bold"><strong>WARNUNG: Das ist ein Sicherheitsrisiko!</strong></span>). Alternativ kannst du auch spezielle Kernelmodule benutzen: </p><div class="procedure"><ol class="procedure" type="1"><li class="step" title="Schritt 1"><p> Lade dir die <a class="ulink" href="http://www.arava.co.il/matan/svgalib/" target="_top">Entwicklerversion</a> der svgalib herunter (z.B. 1.9.17), <span class="bold"><strong>ODER</strong></span> lade dir eine von Alex speziell für die Benutzung mit <span class="application">MPlayer</span> modifizierte Version (die nicht die svgalib-Sourcen zum Compilieren benötigt) <a class="ulink" href="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2" target="_top">hier</a> herunter. </p></li><li class="step" title="Schritt 2"><p> Compiliere das Modul im <tt class="filename">svgalib_helper</tt>-Verzeichnis (das im Verzeichnis <tt class="filename">svgalib-1.9.17/kernel/</tt> gefunden werden kann, wenn du die Sourcen von der svgalib-Seite heruntergeladen hast), und lade es mit insmod. </p></li><li class="step" title="Schritt 3"><p> Um die entsprechenden Geräte im <tt class="filename">/dev</tt>-Verzeichnis zu erstellen, führe ein </p><pre class="screen">make device</pre><p> im Verzeichnis <tt class="filename">svgalib_helper</tt> als <code class="systemitem">root</code> aus. </p></li><li class="step" title="Schritt 4"><p> Verschiebe das Verzeichnis <tt class="filename">svgalib_helper</tt> in das <tt class="filename">vidix</tt>-Unterverzeichnis des <span class="application">MPlayer</span>-Quellbaums. </p></li><li class="step" title="Schritt 5"><p> Entferne den Kommentar vor der CFLAGS-Zeile, die "svgalib_helper" enthält aus <tt class="filename">vidix/Makefile</tt>. </p></li><li class="step" title="Schritt 6"><p> Compiliere erneut. </p></li></ol></div><div class="sect2" title="7.15.1. ATI-Karten"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-ati"></a>7.15.1. ATI-Karten</h3></div></div></div><p> Momentan werden die meisten ATI-Karten unterstützt, von der Mach64 bis hin zur neuesten Radeon. </p><p> Es gibt zwei compilierte Binaries: <tt class="filename">radeon_vid</tt> für Radeons und <tt class="filename">rage128_vid</tt> für Rage128-Karten. Du kannst entweder eine der beiden erzwingen oder das VIDIX-System automatisch alle verfügbaren Treiber ausprobieren lassen. </p></div><div class="sect2" title="7.15.2. Matrox-Karten"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-mga"></a>7.15.2. Matrox-Karten</h3></div></div></div><p> Matrox G200, G400, G450 und G550 sollen funktionieren. </p><p> Der Treiber unterstützt Videoequalizer und sollte fast genauso schnell wie der <a class="link" href="mga_vid.html" title="7.7. Matrox-Framebuffer (mga_vid)">Matrox-Framebuffer</a> sein. </p></div><div class="sect2" title="7.15.3. Trident-Karten"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-trident"></a>7.15.3. Trident-Karten</h3></div></div></div><p> Es gibt einen Treiber für den Trident Cyberblade/i1-Chipsatz, der auf VIA Epia-Mainboards eingesetzt wird. </p><p> Der Treiber wurde geschrieben und wird weiterentwickelt von <a class="ulink" href="http://www.blackfiveservices.co.uk/EPIAVidix.shtml" target="_top">Alastair M. Robinson</a>. </p></div><div class="sect2" title="7.15.4. 3DLabs-Karten"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-3dlabs"></a>7.15.4. 3DLabs-Karten</h3></div></div></div><p> Auch wenn es einen Treiber für 3DLabs GLINT R3-Chips und Permedia3-Chips gibt, so hat noch niemand diese getestet. Feedback wird deswegen gern gesehen. </p></div><div class="sect2" title="7.15.5. nVidia-Karten"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-nvidia"></a>7.15.5. nVidia-Karten</h3></div></div></div><p> Ein einmaliges Feature des nvidia_vid-Treibers ist seine Fähigkeit, Video auf <span class="bold"><strong>einfacher, purer Textkonsole</strong></span> darzustellen - ohne Framebuffer oder X magic oder was auch immer. Zu diesem Zweck müssen wir die <tt class="option">cvidix</tt>-Videoausgabe verwenden, wie folgendes Beispiel zeigt: </p><pre class="screen">mplayer -vo cvidix <em class="replaceable"><code>example.avi</code></em></pre><p> </p></div><div class="sect2" title="7.15.6. SiS-Karten"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-sis"></a>7.15.6. SiS-Karten</h3></div></div></div><p> Dies ist ein sehr experimenteller Code, ähnlich nvidia_vid. </p><p> Er wurde auf SiS 650/651/740 getestet (die verbreitetsten Chipsets in den SiS-Versionen der Boxen von "Shuttle XPC"-Barebones) </p><p> Berichte erwartet! </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="x11.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="video.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="directfb.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">7.14. X11 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 7.16. DirectFB</td></tr></table></div></body></html>