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