762
|
1
|
|
2 Hardveres gyorsitas videokartyakhoz:
|
|
3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
|
|
5 * olvasd el a DOCS/MTRR file-t is!
|
|
6
|
|
7 A "hardveres gyorsitas" altalaban hardverileg tamogatott YUV konverziot,
|
|
8 scale-t, bilinear filtering-et jelent. Linux alatt jonehany modszerrel
|
|
9 lehet ezeket elerni:
|
|
10
|
|
11 I. Az XFree86 4.0.2 Xv (XVideo) kiterjesztese
|
|
12 II. OpenGL driverek, megfelelo glTexSubImage() tamogatassal (jelenleg csak
|
|
13 az Utah-GLX driverek)
|
|
14 III. Nativ kartyaspecifikus driverek amik egyes kartyak kulonleges
|
|
15 kepessegeit hasznaljak
|
|
16 IV. DGA - Direct Graphic Access. Nincs YUV, scaling, de meg mindig
|
|
17 gyorsabb mint X11
|
|
18 V. Nem igazan gyorsitas, hanem...
|
|
19
|
|
20 Nos, lassuk oket reszletesen:
|
|
21
|
|
22 De mielott elolvasnad ezt, olvasd el a DOCS/MTRR-t is, es nezd meg a
|
|
23 /proc/mtrr-edet. Hidd el, megeri! P3-on tobb mint otszorosere gyorsit!!!
|
|
24
|
|
25 I. Az XFree86 4.0.2 Xv (XVideo) kiterjesztese
|
|
26 Ezt hasznalja a '-vo xv' opcio.
|
|
27
|
|
28 Ha mukodesre akarod birni, a kovetkezoket kell figyelembe venned:
|
|
29
|
|
30 1. XFree86 4.0.2 szukseges (korabbi verziokban nincs XVideo)
|
|
31
|
|
32 2. A kartyadnak tamogatnia kell a hardveres gyorsitast (ujabb kartyak kozul
|
|
33 mind)
|
|
34
|
|
35 3. X-nek be kell toltenie az XVideo kiterjesztest, valahogy igy nez ki:
|
|
36 (II) Loading extension XVideo
|
|
37 a /var/log/XFree86.0.log file-ban
|
|
38 MEGJ : ez csak azt jelzi, hogy az _X_ betoltotte. Egy normalis rendszernel
|
|
39 ez alap, es nem jelenti, hogy a _kartyanak_ van XVideo
|
|
40 tamogatasa!
|
|
41
|
|
42 4. A kartyad Linuxos drivere tamogatva az Xv-t. Ezt az 'xvinfo'-val lehet
|
|
43 megnezni, ez pedig az XFree86 disztribucio resze. Egy hosszu szoveget
|
|
44 kell hogy kiirjon, hasonlot ehhez:
|
|
45
|
|
46 X-Video Extension version 2.2
|
|
47 screen #0
|
|
48 Adaptor #0: "Savage Streams Engine"
|
|
49 number of ports: 1
|
|
50 port base: 43
|
|
51 operations supported: PutImage
|
|
52 supported visuals:
|
|
53 depth 16, visualID 0x22
|
|
54 depth 16, visualID 0x23
|
|
55 number of attributes: 5
|
|
56 (...)
|
|
57 Number of image formats: 7
|
|
58 id: 0x32595559 (YUY2)
|
|
59 guid: 59555932-0000-0010-8000-00aa00389b71
|
|
60 bits per pixel: 16
|
|
61 number of planes: 1
|
|
62 type: YUV (packed)
|
|
63 id: 0x32315659 (YV12)
|
|
64 guid: 59563132-0000-0010-8000-00aa00389b71
|
|
65 bits per pixel: 12
|
|
66 number of planes: 3
|
|
67 type: YUV (planar)
|
|
68 (...etc...)
|
|
69
|
|
70 Tamogatnia kell a YUY2 packed, YV12 planar pixelformatumokat, hogy
|
|
71 hasznalhato legyen MPlayer-rel.
|
|
72
|
831
|
73 Ha az xvinfo nem irja ki mindezt, de az XVideo kiterjesztes be van toltve,
|
|
74 es biztos vagy benne hogy a kartyad tud YUV konverziot,
|
|
75 - 3dfx voodoo3/banshee tulajok toltsenek le uj DRI-t a
|
|
76 http://dri.sourceforge.net cimrol
|
|
77 - S3 Savage4-esek toltsek le a beta Xv drivert a
|
|
78 ftp://thot.banki.hu-rol
|
|
79 - nVidia felhasznalok adjak el a kartyajukat... vagy nezzenek el az
|
|
80 nVidia site-jara
|
|
81
|
762
|
82 5. MPlayer-t 'xv' tamogatassal kell forditani. 'configure'-nak ezt kell
|
|
83 kiirnia:
|
|
84 Checking for Xv ... yes
|
|
85
|
|
86 6. Ha ez mind OK, probald ki a '-vo xv' opciot. Mukodnie kell.
|
|
87 (ha nem teszi, kuldj nekunk egy bugreportot. Lasd DOCS/BUGREPORTS.)
|
|
88
|
|
89
|
|
90 II. OpenGL driverek, megfelelo glTexSubImage() tamogatassal
|
|
91
|
|
92 Jelenleg csak a regebbi Utah-GLX driver (X 3.3.6) tamogatja.
|
|
93 Lasd http://utah-glx.sourceforge.net
|
|
94
|
|
95 Az uj X 4.x.x/DRI-nek es az nVidia drivereknek nincs hasznalhato
|
|
96 glTexSubImage-juk :(
|
|
97
|
|
98
|
|
99 III. Nativ kartyaspecifikus driverek
|
|
100
|
|
101 3 nativ driver van Linuxra:
|
|
102 1. Matrox G200/G400/G450 BES (Back-End Scaler) (mga_vid kernel driver)
|
|
103 Jobbara en (A'rpi) fejlesztem. Tamogat hardveres VSYNC-et, triple
|
|
104 buffering-el. Mukodik mind framebufferes konzolon, mind X alatt.
|
|
105
|
|
106 Forditsd le a drivers/ konyvtarban levo mga_vid.o-t (ird be: make)
|
|
107 hozd letre a /dev/mga_vid-et :
|
|
108 mknod /dev/mga_vid c 178 0
|
|
109 es toltsd be a drivert az 'insmod mga_vid.o' paranccsal. Ajanlott
|
|
110 leellenorizni, hogy a memoria meretet helyesen detektalta-e, a 'dmesg'
|
|
111 paranccsal. Ha rossz, hasznald az mga_ram_size opciot (eloszor 'rmmod
|
|
112 mga_vid'), es add meg a kartyad memoriajat Mb-ban:
|
|
113 insmod mga_vid.o mga_ram_size=16
|
|
114 Ha azt akarod hogy automatikusan toltodjon be, ird be a kovetkezo sort az
|
|
115 /etc/modules.conf vegere :
|
|
116 alias char-major-178 mga_vid
|
764
|
117 Aztan futtasd :
|
|
118 depmod -a
|
762
|
119
|
|
120 Hasznalata MPlayer-bol: (eloszor forditsd ujra mga_vid supporttal...)
|
|
121
|
|
122 Hasznald az 'mga' kimenetet, ha framebuffer konzolod van (matroxfb): -vo mga
|
|
123 vagy az 'xmga'-t, ha X 3.3.6-od van: -vo xmga
|
|
124
|
|
125 Megj.: mukodik 4.0.2-es X alatt is, de az Xv driverrel nem szeretik egymast
|
|
126 ezert jobb kerulni mindketto hasznalatat. Altalaban az X ujrainditasa vagy
|
|
127 reboot szukseges hogy az Xv ujra mukodjon :(
|
|
128
|
|
129 Ha dual-head G400-ad van, es egy TV vagy masodik monitor van csatlakoztatva
|
|
130 a masodik head-re, akkor azt is hasznalhatod: olvasd el a DOCS/TVout-G400
|
|
131 file-t. (eleg nagy ganyolas)
|
|
132
|
|
133 2. SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver
|
|
134 A felulete elvileg kompatibilis az mga_vid-del, de ebbe nem kerultek
|
|
135 bele az mga_vid-es valtoztatasok, ugyhogy valoszinuleg nem mukodik.
|
|
136 Jelentkezok kellenek tesztelesre, javitasra.
|
|
137
|
|
138 3. 3dfx (mely kartyak?) YUV+scaler support, a /dev/3dfx-el (tdfx.o driver?)
|
|
139 A /dev/3dfx kernel driver csak a 2.2.x kernelekhez letezik, es a Glide-dal
|
|
140 hasznalatos. Nincs letesztelve MPlayer-rel, ezert nem tamogatott.
|
|
141 Jelentkezok kellenek tesztelesre, javitasra.
|
|
142
|
|
143
|
|
144 IV. Ha a kartyadnak nincs hardveres gyorsitasa, meg mindig meg tudod dobni
|
|
145 az fps-t a DGA driverrel:
|
|
146
|
|
147 1. Bizonyosodj meg hogy az X betolti a DGA kiterjesztest:
|
|
148 (II) Loading extension XFree86-DGA
|
|
149 (amint latod, XFree86 4.0.x vagy ujabb NAGYON AJANLOTT!)
|
|
150 2. MPlayer DGA drivere automatikusan detektalodik ./configure-kor, de ha
|
|
151 kell, az --enable-dga opcioval kenyszeritheted is.
|
|
152 3. Ha a driver nem tud kisebb felbontasba valtani, jatszadozz kicsit a
|
|
153 -vm (csak 3.3.x X-szel), -fs, -bpp, -zoom opciokkal es hatha talalsz egy
|
|
154 alkalmas modot. Jelenleg nincs konverter.. :(
|
|
155 4. Legyel ROOT. DGA-nak root jogok kellenek hogy kozvetlen tudjon irni a
|
|
156 videomemoriaba. Ha felhasznalokent akarod futtatni, installald MPlayer-t
|
|
157 SUID root-kent:
|
|
158 'chown root /usr/local/bin/mplayer'
|
|
159 'chmod 750 /usr/local/bin/mplayer'
|
|
160 'chmod +s /usr/local/bin/mplayer'
|
|
161 Igy most menni fog user-kent is.
|
|
162 !!!! JOL FIGYELJ !!!!
|
|
163 Ez egy ORIASI biztonsagi lyuk! Soha ne csinald ezt egy szerveren, vagy
|
|
164 egy olyan gepen amit tobb ember is eler, mert igy root jogokat szerezhetnek
|
|
165 a suid MPlayer-en keresztul.
|
|
166 !!!! EN FIGYELMEZTETTELEK ... !!!!
|
|
167 5. Use '-vo dga' option, and there you go! (hope so:)
|
|
168 6. Try if the '-vo sdl -sdl dga' options work for you! It's much faster!!!
|
|
169
|
|
170 Ha gyors geped van (pl. P3 800) probald ki az 'fsdga'-t, igy teljeskepernyos
|
|
171 mpeg lejatszast kapsz (software-es YUV->RGB scaling hasznalataval):
|
|
172 mplayer -vo fsdga ...
|
|
173
|
|
174
|
|
175 V. Nem igazan gyorsitas, hanem...
|
|
176
|
|
177 a, Ha nincs X-ed...
|
|
178 ...hasznald az SVGAlib kimenetet! Bizonyosodj meg rola hogy nem hasznalod
|
|
179 az -fs kapcsolot, mert ez itt a software-es scaler-t kapcsolja be, es ez
|
|
180 LASSUUUU egyenlore, hacsak nincs egy igazan gyors procid (es/vagy MTRR?). :(
|
|
181
|
|
182 Termeszetesen fel kell installalnod az svgalib-et, es a fejlesztoi
|
|
183 kornyezetet, hogy MPlayer le tudja forditani az SVGAlib kimenetet
|
|
184 (automatikusan detektalja, de lehet kenyszeriteni is), es ne felejtsd el
|
|
185 atszerkeszteni az /etc/vga/libvga.config-ot, hogy tukrozze a kartyad es
|
|
186 a monitorod tulajdonsagait.
|
|
187
|
|
188 Erdemes tovabba kiprobalni az 'aalib' kimenetet ('-vo sdl -sdl aalib'),
|
|
189 igazan nagyszeru! :)
|
|
190
|
|
191 b, Framebuffer-t akarsz hasznalni...
|
|
192 Annak eldontese hogy legyen-e framebuffer kimenet, a ./configure alatt
|
|
193 dol el. Olvasd el a kernelforrasban talalhato framebuffer dokumentaciot
|
|
194 (Documentation/fb/*), ami leirja hogy hogy kapcsold be, stb.. !
|
|
195
|
|
196 ... de a kartyad nem tamogatja a VBE 2.0 szabvanyt (regebbi ISA/PCI
|
|
197 kartyak, peldaul az S3 Trio64), csak a VBE 1.2-et (vagy regebbit?) :
|
|
198 Nos, VESAfb meg mindig hasznalhato, de a Linux bootolasa elott be kell
|
|
199 toltened a SciTech Display Doctor-t (regebben UniVBE). Hasznalj DOS
|
|
200 bootlemezt, vagy valami. Es ne felejtsd regisztralni az UniVBE-det ;))
|
|
201
|
|
202 Megj.: az FBdev kimenet videomod valtasa _nem mukodik_ a VESA
|
|
203 framebuffer-rel, es ne is kerd, mivel ez nem az MPlayer korlatja.
|
|
204
|
|
205 Gabucino & A'rpi
|
|
206
|