762
|
1
|
834
|
2 Hardveres gyorsítás videokártyákhoz:
|
762
|
3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
|
|
5 * olvasd el a DOCS/MTRR file-t is!
|
|
6
|
834
|
7 A "hardveres gyorsítas" általában hardverileg támogatott YUV konverziót,
|
|
8 scale-t, bilinear filtering-et jelent. Linux alatt jónéhány módszerrel
|
|
9 lehet ezeket elérni:
|
762
|
10
|
834
|
11 I. Az XFree86 4.0.2 Xv (XVideo) kiterjesztése
|
1099
|
12 I.1. Kártyaspecifikus beállítások, tudnivalók
|
909
|
13 II. OpenGL driverek, megfelelő glTexSubImage() támogatással
|
834
|
14 III. Nativ kártyaspecifikus driverek, amik egyes kártyák különleges
|
909
|
15 képességeit használják ki
|
834
|
16 IV. DGA - Direct Graphic Access. Nincs YUV, scaling, de még mindig
|
909
|
17 gyorsabb, mint az X11
|
914
|
18 V. Nem igazán gyorsítás, hanem...
|
762
|
19
|
834
|
20 Nos, lássuk őket részletesen:
|
762
|
21
|
834
|
22 De mielőtt elolvasnád ezt, olvasd el a DOCS/MTRR-t is, és nézd meg a
|
|
23 /proc/mtrr-edet. Hidd el, megéri! P3-on több, mint ötszörösére gyorsít!!!
|
762
|
24
|
834
|
25 I. Az XFree86 4.0.2 Xv (XVideo) kiterjesztése
|
|
26 Ezt használja a '-vo xv' opció.
|
762
|
27
|
834
|
28 Ha működésre akarod bírni, a következőket kell figyelembe venned:
|
762
|
29
|
909
|
30 1. XFree86 4.0.2 vagy újabb szükséges (korábbi verziókban nincs XVideo)
|
762
|
31
|
909
|
32 2. A kártyádnak támogatnia kell a hardveres gyorsítást (újabb kártyák
|
|
33 szokták támogatni)
|
762
|
34
|
834
|
35 3. X-nek be kell töltenie az XVideo kiterjesztést, valahogy így néz ki:
|
762
|
36 (II) Loading extension XVideo
|
|
37 a /var/log/XFree86.0.log file-ban
|
834
|
38 MEGJ : ez csak azt jelzi, hogy az _X_ betöltötte. Egy normális rendszernél
|
|
39 ez alap, és nem jelenti, hogy a _kártyának_ van XVideo
|
|
40 támogatása!
|
762
|
41
|
834
|
42 4. A kártyád Linuxos drivere támogatja-e az Xv-t. Ezt az 'xvinfo'-val lehet
|
|
43 megnezni, ez pedig az XFree86 disztribúció része. Egy hosszú szöveget
|
|
44 kell hogy kiírjon, hasonlót ehhez:
|
762
|
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
|
834
|
70 Támogatnia kell a YUY2 packed, YV12 planar pixelformátumokat, hogy
|
909
|
71 használható legyen az MPlayer-rel.
|
762
|
72
|
1056
|
73 I.1.
|
|
74 a, Ha az xvinfo nem írja ki mindezt, de az XVideo kiterjesztés be van
|
|
75 töltve, és biztos vagy benne, hogy a kartyád tud YUV konverziót, akkor
|
834
|
76 - 3dfx voodoo3/banshee tulajok töltsenek le új DRI-t a
|
1099
|
77 http://dri.sourceforge.net címről (de valószínűleg X 4.1.0 is jó)
|
|
78 - S3 Savage4-esek töltsék le az XFree86 >= 4.0.3-at (4.1.0 ajánlott!)
|
834
|
79 - nVidia felhasználók adják el a kártyájukat... vagy nézzenek el az
|
|
80 nVidia site-jára
|
1099
|
81 b, A GATOS driver (ATI kártyákhoz) alapállapotban bekapcsolt VSYNC-et
|
|
82 tartalmaz. Ez azt jelenti, hogy a dekódolási sebesség (!) hozzá van
|
|
83 szinkronizálva a monitor frissítési frekvenciájához. Ha a lejátszás
|
|
84 lassúnak tűnik, próbáld meg valahogy kikapcsolni a VSYNC-et, vagy
|
|
85 állítsd a képfrissítést n*(a film fps-e) Hz-re.
|
909
|
86
|
834
|
87 5. MPlayer-t 'xv' támogatással kell fordítani. 'configure'-nak ezt kell
|
|
88 kiírnia:
|
762
|
89 Checking for Xv ... yes
|
|
90
|
834
|
91 6. Ha ez mind OK, próbáld ki a '-vo xv' opciót. Működnie kell.
|
|
92 (ha nem teszi, küldj nekünk egy bugreportot! Lásd DOCS/BUGREPORTS.)
|
762
|
93
|
|
94
|
834
|
95 II. OpenGL driverek, megfelelő glTexSubImage() támogatással
|
762
|
96
|
1099
|
97 A régebbi Utah-GLX driver (X 3.3.6) támogatja, minden kártyával.
|
834
|
98 Lásd http://utah-glx.sourceforge.net
|
762
|
99
|
1099
|
100 Az DRI X 4.0.3-as vagy újabb verziója szintén támogatja, de csak a Matrox
|
|
101 és Radeon kártyákkal.
|
|
102 Lásd dri.sourceforge.net címen a letöltési és installálási instrukciókat.
|
762
|
103
|
|
104
|
834
|
105 III. Nativ kártyaspecifikus driverek
|
762
|
106
|
|
107 3 nativ driver van Linuxra:
|
|
108 1. Matrox G200/G400/G450 BES (Back-End Scaler) (mga_vid kernel driver)
|
834
|
109 Jobbára én (A'rpi) fejlesztem. Támogat hardveres VSYNC-et, triple
|
|
110 bufferinggel. Működik mind framebufferes konzolon, mind X alatt.
|
762
|
111
|
834
|
112 Fordítsd le a drivers/ könyvtárban lévő mga_vid.o-t (írd be: make)
|
|
113 hozd létre a /dev/mga_vid-et :
|
762
|
114 mknod /dev/mga_vid c 178 0
|
834
|
115 és töltsd be a drivert az 'insmod mga_vid.o' paranccsal. Ajánlott
|
|
116 leellenőrizni, hogy a memória méretét helyesen detektálta-e, a 'dmesg'
|
|
117 paranccsal. Ha rossz, használd az mga_ram_size opciót (először 'rmmod
|
|
118 mga_vid'), és add meg a kártyád memóriáját Mb-ban:
|
762
|
119 insmod mga_vid.o mga_ram_size=16
|
834
|
120 Ha azt akarod, hogy automatikusan töltődjön be, írd be a következő sort az
|
|
121 /etc/modules.conf végére :
|
762
|
122 alias char-major-178 mga_vid
|
909
|
123 Másold az mga_vid.o-t a modul könyvtáradba!
|
834
|
124 Aztán futtasd :
|
764
|
125 depmod -a
|
762
|
126
|
834
|
127 Használata MPlayer-ből: (először fordítsd újra mga_vid supporttal...)
|
762
|
128
|
834
|
129 Használd az 'mga' outputot, ha framebuffer konzolod van (matroxfb): -vo mga
|
762
|
130 vagy az 'xmga'-t, ha X 3.3.6-od van: -vo xmga
|
|
131
|
834
|
132 Megj.: működik 4.0.2-es X alatt is, de az Xv driverrel nem szeretik egymást
|
|
133 ezért jobb kerülni mindkettő használatát. Általában az X újraindítása vagy
|
|
134 reboot szükséges, hogy az Xv újra működjön :(
|
762
|
135
|
834
|
136 Ha dual-head G400-ad van, és egy TV vagy második monitor van csatlakoztatva
|
|
137 a második head-re, akkor azt is használhatod: olvasd el a DOCS/TVout-G400
|
|
138 file-t. (elég nagy gányolás)
|
762
|
139
|
|
140 2. SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver
|
834
|
141 A felülete elvileg kompatibilis az mga_vid-del, de ebbe nem kerültek
|
|
142 bele az mga_vid-es változtatások, úgyhogy valószínűleg nem működik.
|
|
143 Jelentkezők kellenek tesztelésre, javításra.
|
762
|
144
|
834
|
145 3. 3dfx (mely kártyák?) YUV+scaler support, a /dev/3dfx-el (tdfx.o driver?)
|
|
146 A /dev/3dfx kernel driver csak a 2.2.x kernelekhez létezik, és a Glide-dal
|
|
147 használatos. Nincs letesztelve MPlayer-rel, ezért nem támogatott.
|
|
148 Jelentkezők kellenek tesztelésre, javításra.
|
762
|
149
|
|
150
|
834
|
151 IV. Ha a kártyádnak nincs hardveres gyorsítása, még mindig meg tudod dobni
|
762
|
152 az fps-t a DGA driverrel:
|
|
153
|
834
|
154 1. Bizonyosodj meg, hogy az X betölti a DGA kiterjesztést:
|
762
|
155 (II) Loading extension XFree86-DGA
|
834
|
156 (amint látod, XFree86 4.0.x vagy újabb NAGYON AJANLOTT!)
|
|
157 2. MPlayer DGA drivere automatikusan detektálódik ./configure-kor, de ha
|
|
158 kell, a --enable-dga opcióval kényszerítheted is.
|
|
159 3. Ha a driver nem tud kisebb felbontásba váltani, játszadozz kicsit a
|
|
160 -vm (csak 3.3.x X-szel), -fs, -bpp, -zoom opciókkal és hátha találsz egy
|
|
161 alkalmas módot. Jelenleg nincs konverter.. :(
|
|
162 4. Legyél ROOT. DGA-nak root jogok kellenek, hogy közvetlen tudjon írni a
|
|
163 videomemóriába. Ha felhasználóként akarod futtatni, installáld MPlayer-t
|
|
164 SUID root-ként:
|
762
|
165 'chown root /usr/local/bin/mplayer'
|
|
166 'chmod 750 /usr/local/bin/mplayer'
|
|
167 'chmod +s /usr/local/bin/mplayer'
|
834
|
168 Így most menni fog user-ként is.
|
|
169 !!!! JÓL FIGYELJ !!!!
|
|
170 Ez egy ÓRIÁSI biztonsági lyuk! Soha ne csináld ezt egy szerveren, vagy
|
|
171 egy olyan gépen, amit több ember is elér, mert így root jogokat szerezhetnek
|
|
172 a suid MPlayer-en keresztül.
|
|
173 !!!! ÉN FIGYELMEZTETTELEK ... !!!!
|
|
174 5. Használd a '-vo dga' opciót, és már megy is! (remélhetőleg :)
|
1208
|
175 6. Próbáld ki, hogy a '-vo sdl:dga' opció működik-e nálad!
|
834
|
176 Sokkal gyorsabb!!!
|
762
|
177
|
834
|
178 Ha gyors géped van (pl. P3 800) próbáld ki az 'fsdga'-t, így teljesképernyős
|
|
179 mpeg lejátszást kapsz (software-es YUV->RGB scaling használatával):
|
762
|
180 mplayer -vo fsdga ...
|
|
181
|
|
182
|
834
|
183 V. Nem igazán gyorsítás, hanem...
|
762
|
184
|
|
185 a, Ha nincs X-ed...
|
834
|
186 ...használd az SVGAlib outputot! Bizonyosodj meg róla, hogy nem használod
|
|
187 a -fs kapcsolót, mert ez itt a software-es scaler-t kapcsolja be, és ez
|
|
188 LASSÚÚÚÚ egyelőre, hacsak nincs egy igazán gyors procid (és/vagy MTRR?). :(
|
762
|
189
|
834
|
190 Természetesen fel kell installálnod az svgalib-et, és a fejlesztői
|
|
191 környezetét, hogy MPlayer le tudja fordítani az SVGAlib outputot
|
|
192 (automatikusan detektálja, de lehet kényszeríteni is), és ne felejtsd el
|
|
193 átszerkeszteni az /etc/vga/libvga.config-ot, hogy tükrözze a kártyád és
|
|
194 a monitorod tulajdonságait.
|
762
|
195
|
834
|
196 b, Framebuffer-t akarsz használni...
|
|
197 Annak eldöntése, hogy legyen-e framebuffer output, a ./configure alatt
|
|
198 dől el. Olvasd el a kernelforrásban található framebuffer dokumentációt
|
|
199 (Documentation/fb/*), ami leírja, hogy hogy kapcsold be stb. !
|
762
|
200
|
834
|
201 ... de a kártyád nem támogatja a VBE 2.0 szabványt (régebbi ISA/PCI
|
|
202 kártyák, például az S3 Trio64), csak a VBE 1.2-et (vagy régebbit?) :
|
|
203 Nos, VESAfb még mindig használható, de a Linux bootolása előtt be kell
|
|
204 töltened a SciTech Display Doctor-t (régebben UniVBE). Használj DOS
|
|
205 bootlemezt, vagy valami! És ne felejtsd regisztrálni az UniVBE-det ;))
|
762
|
206
|
834
|
207 Megj.: az FBdev output videomód váltása _nem működik_ a VESA
|
|
208 framebuffer-rel, és ne is kérd, mivel ez nem az MPlayer korlátja!
|
762
|
209
|
1208
|
210 c, Érdemes továbbá kipróbálni az 'aalib' outputot ('-vo sdl:aalib'),
|
909
|
211 igazán nagyszerű! :)
|
|
212
|
|
213
|
762
|
214 Gabucino & A'rpi
|
|
215
|