annotate DOCS/VIDEOCARDS @ 141:0b6b7cad24ef

rewritten :)
author arpi_esp
date Sun, 18 Mar 2001 19:27:28 +0000
parents 6889224c44e0
children ba9f8f547632
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
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
10 I. the Xv (XVideo) extension of XFree86-4.0.x
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
11 II. opengl drivers with glTexSubImage() support (currently the Utah-GLX drivers)
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
12 III. native card-specific drivers, using special abilities of some cards
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
13 IV. DGA - direct graphic access. no yuv & scaling, but faster than raw X11
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
14
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
15 Now, see them in details:
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
16
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
17 I. under XFree86 v4.0.x, using the XVideo extension:
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
18 this is what the option '-vo xv' uses.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
19
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
20 In order to make this work, be sure to check the following:
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
21
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
22 1. you use XFree86 4.0.2 or newer (former versions don't have XVideo)
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
23
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
24 2. your card actually supports harware acceleration (modern cards does)
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
25
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
26 3. X loads the XVideo extension, it's something like this:
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
27 (II) Loading extension XVideo
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
28 in /var/log/XFree86.0.log
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
29 NOTE : this loads only the XFree86 support. In a good install, this is
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
30 always loaded, and doesn't mean that the _card's_ XVideo support is
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
31 loaded!
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
32
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
33 4. your card has Xv support under linux. To check, try 'xvinfo', it is the
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
34 part of the XFree86 distribution. It should display a long text, similar
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
35 to this:
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
36
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
37 X-Video Extension version 2.2
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
38 screen #0
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
39 Adaptor #0: "Savage Streams Engine"
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
40 number of ports: 1
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
41 port base: 43
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
42 operations supported: PutImage
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
43 supported visuals:
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
44 depth 16, visualID 0x22
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
45 depth 16, visualID 0x23
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
46 number of attributes: 5
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
47 (...etc...)
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
48
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
49 It must support YUY2 packed, and YV12 planar pixel formats to be
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
50 usable with MPlayer.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
51
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
52 5. Be sure MPlayer is compiled with the "xv" target. "./configure" should say:
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
53 Checking for Xv ... yes
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
54
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
55 6. If all is fine, try the option '-vo xv' . It should work.
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
56 (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
57
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
58
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
59 II. OpenGL drivers with *working* *fast* glTexSubImage() support.
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
60
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
61 Currently only the old Utah-GLX drivers (for X 3.3.6) have it.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
62 See http://utah-glx.sourceforge.net for details about how to install it.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
63
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
64 The new X4/DRI and nVidia's binary drivers has no usable glTexSubImage :(
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
65
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
66 III. native card-specific drivers
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
67
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
68 There is 3 native drivers for linux:
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
69 1. Matrox G200/G400/G450 BES (Back-End Scaler) support -> mga_vid kernel drv.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
70 It's active developed by me (A'rpi), and it has hardware VSYNC support
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
71 with triple buffering. It works on both framebuffer console and under X.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
72
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
73 To use, simply compile the mga_vid.o in the drivers/ subdir (type: make)
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
74 and load it with insmod mga_vid.o. You should verify the memory size
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
75 detection using the 'dmesg' command. If it's bad, use the mga_ram_size
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
76 option (rmmod mga_vid first), specify card's memory size in MB:
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
77 insmod mga_vid.o mga_ram_size 16
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
78
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
79 Using it from MPlayer: (you should re-compile it with mga_vid support...)
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
80
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
81 Use the 'mga' vo driver on framebuffer console (matroxfb): -vo mga
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
82 and use the xmga driver for X 3.3.x: -vo xmga
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
83
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
84 Note: it works under X 4.0.x too, but it conflicts with the Xv driver,
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
85 so avoid using both. Usually X restart or reboot needs to get Xv usable
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
86 again :(
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
87
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
88 2. SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
89 Its interface should be compatible with the mga_vid, but the driver
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
90 was not updated after the mga_vid changes, so it's outdated now.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
91 Volunteers needed to test it and bring the code up-to-date.
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
92
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
93 3. 3dfx (which ones?) YUV+scaler support, using /dev/3dfx (tdfx.o driver?)
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
94 The /dev/3dfx kernel driver exists only for 2.2.x kernels, for use with
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
95 Glide 2.x linux ports. It's not tested with MPlayer, and so no more
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
96 supported. Volunteers needed to test it and bring the code up-to-date.
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
97
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
98
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
99 IV. If your card lacks hardware acceleration, you can still boost your fps by
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
100 using the DGA driver:
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
101
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
102 1. Make sure X loads the DGA extension:
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
103 (II) Loading extension XFree86-DGA
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
104 2. MPlayer's DGA driver is autodetected on ./configure, or you can force it
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
105 with --enable-dga.
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
106 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
107 4. Install MPlayer SUID root.
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
108 (see the FAQ on how to do this, and... heed the warning!)
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
109 5. Use '-vo dga' option, and there you go! (hope so:)
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
110
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
111 If you have fast enough CPU (P3 800 for example) you can try fsdga for
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
112 fullscreen mpeg playing (using software YUV->RGB scaling):
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
113 mplayer -vo fsdga ...
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
114
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
115
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
116
141
0b6b7cad24ef rewritten :)
arpi_esp
parents: 140
diff changeset
117 Gabucino & A'rpi
140
6889224c44e0 big updates, new docs, etc :)
gabucino
parents:
diff changeset
118