annotate DOCS/VIDEOCARDS @ 222:163bb3cee94d

The quick red fox jumped over the lazy brown dog. (say it 5 times:)
author gabucino
date Tue, 27 Mar 2001 17:40:41 +0000
parents f3eb963d1370
children f5b9be0426c9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
1
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
2 Videocards with hardware acceleration:
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
4
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
5 * read DOCS/MTRR too!
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
6
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
7 "Hardware acceleration" usually means hardware YUV conversion, scaling,
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
8 bilinear filtering. Under Linux, there are several ways to access it:
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
9
146
f3eb963d1370 exterminated the last "4.0.x" stuffz :)
gabucino
parents: 144
diff changeset
10 I. The Xv (XVideo) extension of XFree86 4.0.2
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
11 II. OpenGL drivers with glTexSubImage() support (currently the Utah-GLX
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
12 drivers)
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
13 III. Native card-specific drivers, using special abilities of some cards
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
14 IV. DGA - direct graphic access. no YUV & scaling, but faster than raw X11
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
15
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
16 Now, let's see them in details:
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
17
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
18 I. Under XFree86 4.0.2 or newer, using the XVideo extension:
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
19 this is what the option '-vo xv' uses.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
20
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
21 In order to make this work, be sure to check the following:
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
22
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
23 1. You use XFree86 4.0.2 or newer (former versions don't have XVideo)
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
24
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
25 2. Your card actually supports harware acceleration (modern cards do)
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
26
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
27 3. X loads the XVideo extension, it's something like this:
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
28 (II) Loading extension XVideo
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
29 in /var/log/XFree86.0.log
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
30 NOTE : this loads only the XFree86's extension. In a good install, this is
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
31 always loaded, and doesn't mean that the _card's_ XVideo support is
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
32 loaded!
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
33
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
34 4. Your card has Xv support under Linux. To check, try 'xvinfo', it is the
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
35 part of the XFree86 distribution. It should display a long text, similar
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
36 to this:
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
37
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
38 X-Video Extension version 2.2
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
39 screen #0
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
40 Adaptor #0: "Savage Streams Engine"
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
41 number of ports: 1
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
42 port base: 43
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
43 operations supported: PutImage
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
44 supported visuals:
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
45 depth 16, visualID 0x22
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
46 depth 16, visualID 0x23
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
47 number of attributes: 5
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
48 (...)
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
49 Number of image formats: 7
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
50 id: 0x32595559 (YUY2)
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
51 guid: 59555932-0000-0010-8000-00aa00389b71
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
52 bits per pixel: 16
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
53 number of planes: 1
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
54 type: YUV (packed)
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
55 id: 0x32315659 (YV12)
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
56 guid: 59563132-0000-0010-8000-00aa00389b71
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
57 bits per pixel: 12
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
58 number of planes: 3
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
59 type: YUV (planar)
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
60 (...etc...)
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
61
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
62 It must support YUY2 packed, and YV12 planar pixel formats to be
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
63 usable with MPlayer.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
64
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
65 5. Be sure MPlayer is compiled with the "xv" target. "./configure" should say:
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
66 Checking for Xv ... yes
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
67
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
68 6. If all is fine, try the option '-vo xv' . It should work.
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
69 (if it doesn't, send us a bugreport. See the README on how to do this.)
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
70
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
71
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
72 II. OpenGL drivers with *working* *fast* glTexSubImage() support.
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
73
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
74 Currently only the old Utah-GLX drivers (for X 3.3.6) have it.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
75 See http://utah-glx.sourceforge.net for details about how to install it.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
76
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
77 The new X4/DRI and nVidia's binary drivers has no usable glTexSubImage :(
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
78
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
79 III. Native card-specific drivers
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
80
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
81 There is 3 native drivers for Linux:
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
82 1. Matrox G200/G400/G450 BES (Back-End Scaler) support -> mga_vid kernel drv.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
83 It's active developed by me (A'rpi), and it has hardware VSYNC support
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
84 with triple buffering. It works on both framebuffer console and under X.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
85
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
86 To use, simply compile the mga_vid.o in the drivers/ subdir (type: make)
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
87 and load it with insmod mga_vid.o. You should verify the memory size
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
88 detection using the 'dmesg' command. If it's bad, use the mga_ram_size
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
89 option (rmmod mga_vid first), specify card's memory size in MB:
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
90 insmod mga_vid.o mga_ram_size 16
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
91
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
92 Using it from MPlayer: (you should re-compile it with mga_vid support...)
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
93
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
94 Use the 'mga' vo driver on framebuffer console (matroxfb): -vo mga
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
95 and use the xmga driver for X 3.3.x: -vo xmga
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
96
146
f3eb963d1370 exterminated the last "4.0.x" stuffz :)
gabucino
parents: 144
diff changeset
97 Note: it works under X 4.0.2 too, but it conflicts with the Xv driver,
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
98 so avoid using both. Usually X restart or reboot needs to get Xv usable
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
99 again :(
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
100
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
101 2. SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
102 Its interface should be compatible with the mga_vid, but the driver
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
103 was not updated after the mga_vid changes, so it's outdated now.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
104 Volunteers needed to test it and bring the code up-to-date.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
105
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
106 3. 3dfx (which ones?) YUV+scaler support, using /dev/3dfx (tdfx.o driver?)
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
107 The /dev/3dfx kernel driver exists only for 2.2.x kernels, for use with
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
108 Glide 2.x Linux ports. It's not tested with MPlayer, and so no more
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
109 supported. Volunteers needed to test it and bring the code up-to-date.
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
110
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
111
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
112 IV. If your card lacks hardware acceleration, you can still boost your fps by
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
113 using the DGA driver:
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
114
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
115 1. Make sure X loads the DGA extension:
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
116 (II) Loading extension XFree86-DGA
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
117 2. MPlayer's DGA driver is autodetected on ./configure, or you can force it
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
118 with --enable-dga.
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
119 3. Be sure to use 24/32bpp mode, since there is no converter right now.. :(
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
120 4. Install MPlayer SUID root.
144
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
121 'chown root /usr/local/bin/mplayer'
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
122 'chmod 750 /usr/local/bin/mplayer'
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
123 'chmod +s /usr/local/bin/mplayer'
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
124 Now it works as a simple user, too.
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
125 !!!! BUT STAY TUNED !!!!
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
126 This is a BIG security risk! Never do this on a server or on a computer
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
127 can be accessed by more people than only you because they can gain root
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
128 privilegies through suid root mplayer.
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
129 !!!! SO YOU HAVE BEEN WARNED ... !!!!
ba9f8f547632 corrected A'rpi's many shitty thingy ;)
gabucino
parents: 141
diff changeset
130
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
131 5. Use '-vo dga' option, and there you go! (hope so:)
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
132
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
133 If you have fast enough CPU (P3 800 for example) you can try fsdga for
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
134 fullscreen mpeg playing (using software YUV->RGB scaling):
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
135 mplayer -vo fsdga ...
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
136
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
137
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
138
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
139 Gabucino & A'rpi
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
140