📄 vidix.html
字号:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>8.15.聽VIDIX</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="MPlayer - The Movie Player"><link rel="up" href="video.html" title="Chapter聽8.聽Video output devices"><link rel="prev" href="x11.html" title="8.14.聽X11"><link rel="next" href="directfb.html" title="8.16.聽DirectFB"><link rel="preface" href="howtoread.html" title="How to read this documentation"><link rel="chapter" href="intro.html" title="Chapter聽1.聽Introduction"><link rel="chapter" href="install.html" title="Chapter聽2.聽Installation"><link rel="chapter" href="usage.html" title="Chapter聽3.聽Usage"><link rel="chapter" href="cd-dvd.html" title="Chapter聽4.聽CD/DVD usage"><link rel="chapter" href="faq.html" title="Chapter聽5.聽Frequently Asked Questions"><link rel="chapter" href="containers.html" title="Chapter聽6.聽Containers"><link rel="chapter" href="codecs.html" title="Chapter聽7.聽Codecs"><link rel="chapter" href="video.html" title="Chapter聽8.聽Video output devices"><link rel="chapter" href="audio.html" title="Chapter聽9.聽Audio output devices"><link rel="chapter" href="tv.html" title="Chapter聽10.聽TV"><link rel="chapter" href="radio.html" title="Chapter聽11.聽Radio"><link rel="chapter" href="ports.html" title="Chapter聽12.聽Ports"><link rel="chapter" href="mencoder.html" title="Chapter聽13.聽Basic usage of MEncoder"><link rel="chapter" href="encoding-guide.html" title="Chapter聽14.聽Encoding with MEncoder"><link rel="appendix" href="bugreports.html" title="Appendix聽A.聽How to report bugs"><link rel="appendix" href="bugs.html" title="Appendix聽B.聽Known bugs"><link rel="appendix" href="skin.html" title="Appendix聽C.聽MPlayer skin format"><link rel="appendix" href="history.html" title="Appendix聽D.聽History"><link rel="subsection" href="vidix.html#vidix-ati" title="8.15.1.聽ATI cards"><link rel="subsection" href="vidix.html#vidix-mga" title="8.15.2.聽Matrox cards"><link rel="subsection" href="vidix.html#vidix-trident" title="8.15.3.聽Trident cards"><link rel="subsection" href="vidix.html#vidix-3dlabs" title="8.15.4.聽3DLabs cards"><link rel="subsection" href="vidix.html#vidix-nvidia" title="8.15.5.聽nVidia cards"><link rel="subsection" href="vidix.html#vidix-sis" title="8.15.6.聽SiS cards"></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">8.15.聽VIDIX</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="x11.html">Prev</a>聽</td><th width="60%" align="center">Chapter聽8.聽Video output devices</th><td width="20%" align="right">聽<a accesskey="n" href="directfb.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="vidix"></a>8.15.聽VIDIX</h2></div></div></div><p><b>PREAMBLE.聽</b>
<acronym class="acronym">VIDIX</acronym> is the abbreviation for
<span class="bold"><strong>VID</strong></span>eo
<span class="bold"><strong>I</strong></span>nterface
for *ni<span class="bold"><strong>X</strong></span>.
VIDIX was designed and introduced as an interface for fast user-space drivers
providing such video performance as mga_vid does for Matrox cards. It's also
very portable.
</p><p>
This interface was designed as an attempt to fit existing video
acceleration interfaces (known as mga_vid, rage128_vid, radeon_vid,
pm3_vid) into a fixed scheme. It provides a high level interface to chips
which are known as BES (BackEnd scalers) or OV (Video Overlays). It doesn't
provide low level interface to things which are known as graphics servers.
(I don't want to compete with X11 team in graphics mode switching). I.e.
main goal of this interface is to maximize the speed of video playback.
</p><div class="itemizedlist"><p class="title"><b>USAGE</b></p><ul type="disc" compact><li><p>
You can use standalone video output driver: <tt class="option">-vo xvidix</tt>.
This driver was developed as X11's front end to VIDIX technology. It
requires X server and can work only under X server. Note that, as it directly
accesses the hardware and circumvents the X driver, pixmaps cached in the
graphics card's memory may be corrupted. You can prevent this by limiting
the amount of video memory used by X with the XF86Config option "VideoRam"
in the device section. You should set this to the amount of memory installed
on your card minus 4MB. If you have less than 8MB of video ram, you can use
the option "XaaNoPixmapCache" in the screen section instead.
</p></li><li><p>
There is a console VIDIX driver: <tt class="option">-vo cvidix</tt>.
This requires a working and initialized framebuffer for most cards (or else
you'll just mess up the screen), and you'll have a similar effect as with
<tt class="option">-vo mga</tt> or <tt class="option">-vo fbdev</tt>. nVidia cards however
are able to output truly graphical video on a real text console. See the
<a class="link" href="vidix.html#vidix-nvidia" title="8.15.5.聽nVidia cards">nvidia_vid</a> section for more information.
To get rid of text on the borders and the blinking cursor, try something like
</p><pre class="screen">setterm -cursor off > /dev/tty9</pre><p>
(assuming <code class="systemitem">tty9</code> is unused so far) and then
switch to <code class="systemitem">tty9</code>.
On the other hand, <tt class="option">-colorkey 0</tt> should give you a video
running in the "background", though this depends on the colorkey
functionality to work right.
</p></li><li><p>
You can use VIDIX subdevice which was applied to several video output
drivers, such as: <tt class="option">-vo vesa:vidix</tt>
(<span class="bold"><strong>Linux only</strong></span>) and
<tt class="option">-vo fbdev:vidix</tt>.
</p></li></ul></div><p>
Indeed it doesn't matter which video output driver is used with
<span class="bold"><strong>VIDIX</strong></span>.
</p><div class="itemizedlist"><p class="title"><b>REQUIREMENTS</b></p><ul type="disc" compact><li><p>
Video card should be in graphics mode (except nVidia cards with the
<tt class="option">-vo cvidix</tt> output driver).
</p></li><li><p>
<span class="application">MPlayer</span>'s video output driver should know
active video mode and be able to tell to VIDIX subdevice some video
characteristics of server.
</p></li></ul></div><p><b>USAGE METHODS.聽</b>
When VIDIX is used as <span class="bold"><strong>subdevice</strong></span> (<tt class="option">-vo
vesa:vidix</tt>) then video mode configuration is performed by video
output device (<span class="bold"><strong>vo_server</strong></span> in short). Therefore you can
pass into command line of <span class="application">MPlayer</span> the same keys
as for vo_server. In addition it understands <tt class="option">-double</tt> key
as globally visible parameter. (I recommend using this key with VIDIX at
least for ATI's card). As for <tt class="option">-vo xvidix</tt>, currently it
recognizes the following options: <tt class="option">-fs -zoom -x -y -double</tt>.
</p><p>
Also you can specify VIDIX's driver directly as third subargument in
command line:
</p><pre class="screen">
mplayer -vo xvidix:mga_vid.so -fs -zoom -double <em class="replaceable"><code>file.avi</code></em>
</pre><p>
or
</p><pre class="screen">
mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <em class="replaceable"><code>file.avi</code></em>
</pre><p>
But it's dangerous, and you shouldn't do that. In this case given driver
will be forced and result is unpredictable (it may
<span class="bold"><strong>freeze</strong></span> your computer). You should do that
ONLY if you are absolutely sure it will work, and
<span class="application">MPlayer</span> doesn't do it automatically. Please tell
about it to the developers. The right way is to use VIDIX without arguments
to enable driver autodetection.
</p><p>
Since VIDIX requires direct hardware access you can either run it as root
or set the SUID bit on the <span class="application">MPlayer</span> binary
(<span class="bold"><strong>Warning: This is a security risk!</strong></span>).
Alternatively, you can use a special kernel module, like this:
</p><div class="procedure"><ol type="1"><li><p>
Download the
<a class="ulink" href="http://www.arava.co.il/matan/svgalib/" target="_top">development version</a>
of svgalib (for example 1.9.17), <span class="bold"><strong>OR</strong></span>
download a version made by Alex especially for usage with
<span class="application">MPlayer</span> (it doesn't need the svgalib source to
compile) from
<a class="ulink" href="http://www.mplayerhq.hu/MPlayer/contrib/svgalib/svgalib_helper-1.9.17-mplayer.tar.bz2" target="_top">here</a>.
</p></li><li><p>
Compile the module in the
<tt class="filename">svgalib_helper</tt> directory (it can be
found inside the
<tt class="filename">svgalib-1.9.17/kernel/</tt> directory if
you've downloaded the source from the svgalib site) and insmod it.
</p></li><li><p>
To create the necessary devices in the
<tt class="filename">/dev</tt> directory, do a
</p><pre class="screen">make device</pre><p> in the
<tt class="filename">svgalib_helper</tt> dir, as root.
</p></li><li><p>
Move the <tt class="filename">svgalib_helper</tt> directory to
the <tt class="filename">vidix</tt> subdirectory of the
<span class="application">MPlayer</span> source tree.
</p></li><li><p>
Remove the comment before the CFLAGS line containing the "svgalib_helper"
string from <tt class="filename">vidix/Makefile</tt>.
</p></li><li><p>
Recompile.
</p></li></ol></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-ati"></a>8.15.1.聽ATI cards</h3></div></div></div><p>
Currently most ATI cards are supported natively, from Mach64 to the
newest Radeons.
</p><p>
There are two compiled binaries: <tt class="filename">radeon_vid</tt> for Radeon and
<tt class="filename">rage128_vid</tt> for Rage 128 cards. You may force one or let
the VIDIX system autoprobe all available drivers.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-mga"></a>8.15.2.聽Matrox cards</h3></div></div></div><p>
Matrox G200, G400, G450 and G550 have been reported to work.
</p><p>
The driver supports video equalizers and should be nearly as fast as the
<a class="link" href="mga_vid.html" title="8.7.聽Matrox framebuffer (mga_vid)">Matrox framebuffer</a>
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-trident"></a>8.15.3.聽Trident cards</h3></div></div></div><p>
There is a driver available for the Trident Cyberblade/i1 chipset, which
can be found on VIA Epia motherboards.
</p><p>
The driver was written and is maintained by
<a class="ulink" href="http://www.blackfiveservices.co.uk/EPIAVidix.shtml" target="_top">Alastair M. Robinson</a>.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-3dlabs"></a>8.15.4.聽3DLabs cards</h3></div></div></div><p>
Although there is a driver for the 3DLabs GLINT R3 and Permedia3 chips, no one
has tested it, so reports are welcome.
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-nvidia"></a>8.15.5.聽nVidia cards</h3></div></div></div><p>
An unique feature of the nvidia_vid driver is its ability to display video on
<span class="bold"><strong>plain, pure, text-only console</strong></span> - with no
framebuffer or X magic whatsoever. For this purpose, we'll have to use the
<tt class="option">cvidix</tt> video output, as the following example shows:
</p><pre class="screen">mplayer -vo cvidix <em class="replaceable"><code>example.avi</code></em></pre><p>
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="vidix-sis"></a>8.15.6.聽SiS cards</h3></div></div></div><p>
This is very experimental code, just like nvidia_vid.
</p><p>
It's been tested on SiS 650/651/740 (the most common chipsets used in the
SiS versions of the "Shuttle XPC" barebones boxes out there)
</p><p>
Reports awaited!
</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">Prev</a>聽</td><td width="20%" align="center"><a accesskey="u" href="video.html">Up</a></td><td width="40%" align="right">聽<a accesskey="n" href="directfb.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">8.14.聽X11聽</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">聽8.16.聽DirectFB</td></tr></table></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -