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
|
909
|
12 II. OpenGL driverek, megfelelő glTexSubImage() támogatással
|
834
|
13 III. Nativ kártyaspecifikus driverek, amik egyes kártyák különleges
|
909
|
14 képességeit használják ki
|
834
|
15 IV. DGA - Direct Graphic Access. Nincs YUV, scaling, de még mindig
|
909
|
16 gyorsabb, mint az X11
|
914
|
17 V. Nem igazán gyorsítás, hanem...
|
762
|
18
|
834
|
19 Nos, lássuk őket részletesen:
|
762
|
20
|
834
|
21 De mielőtt elolvasnád ezt, olvasd el a DOCS/MTRR-t is, és nézd meg a
|
|
22 /proc/mtrr-edet. Hidd el, megéri! P3-on több, mint ötszörösére gyorsít!!!
|
762
|
23
|
834
|
24 I. Az XFree86 4.0.2 Xv (XVideo) kiterjesztése
|
|
25 Ezt használja a '-vo xv' opció.
|
762
|
26
|
834
|
27 Ha működésre akarod bírni, a következőket kell figyelembe venned:
|
762
|
28
|
909
|
29 1. XFree86 4.0.2 vagy újabb szükséges (korábbi verziókban nincs XVideo)
|
762
|
30
|
909
|
31 2. A kártyádnak támogatnia kell a hardveres gyorsítást (újabb kártyák
|
|
32 szokták támogatni)
|
762
|
33
|
834
|
34 3. X-nek be kell töltenie az XVideo kiterjesztést, valahogy így néz ki:
|
762
|
35 (II) Loading extension XVideo
|
|
36 a /var/log/XFree86.0.log file-ban
|
834
|
37 MEGJ : ez csak azt jelzi, hogy az _X_ betöltötte. Egy normális rendszernél
|
|
38 ez alap, és nem jelenti, hogy a _kártyának_ van XVideo
|
|
39 támogatása!
|
762
|
40
|
834
|
41 4. A kártyád Linuxos drivere támogatja-e az Xv-t. Ezt az 'xvinfo'-val lehet
|
|
42 megnezni, ez pedig az XFree86 disztribúció része. Egy hosszú szöveget
|
|
43 kell hogy kiírjon, hasonlót ehhez:
|
762
|
44
|
|
45 X-Video Extension version 2.2
|
|
46 screen #0
|
|
47 Adaptor #0: "Savage Streams Engine"
|
|
48 number of ports: 1
|
|
49 port base: 43
|
|
50 operations supported: PutImage
|
|
51 supported visuals:
|
|
52 depth 16, visualID 0x22
|
|
53 depth 16, visualID 0x23
|
|
54 number of attributes: 5
|
|
55 (...)
|
|
56 Number of image formats: 7
|
|
57 id: 0x32595559 (YUY2)
|
|
58 guid: 59555932-0000-0010-8000-00aa00389b71
|
|
59 bits per pixel: 16
|
|
60 number of planes: 1
|
|
61 type: YUV (packed)
|
|
62 id: 0x32315659 (YV12)
|
|
63 guid: 59563132-0000-0010-8000-00aa00389b71
|
|
64 bits per pixel: 12
|
|
65 number of planes: 3
|
|
66 type: YUV (planar)
|
|
67 (...etc...)
|
|
68
|
834
|
69 Támogatnia kell a YUY2 packed, YV12 planar pixelformátumokat, hogy
|
909
|
70 használható legyen az MPlayer-rel.
|
762
|
71
|
834
|
72 Ha az xvinfo nem írja ki mindezt, de az XVideo kiterjesztés be van töltve,
|
909
|
73 és biztos vagy benne, hogy a kartyád tud YUV konverziót, akkor
|
834
|
74 - 3dfx voodoo3/banshee tulajok töltsenek le új DRI-t a
|
|
75 http://dri.sourceforge.net címről
|
839
|
76 - S3 Savage4-esek töltsék le az XFree86 >= 4.0.3-at
|
834
|
77 - nVidia felhasználók adják el a kártyájukat... vagy nézzenek el az
|
|
78 nVidia site-jára
|
909
|
79
|
834
|
80 5. MPlayer-t 'xv' támogatással kell fordítani. 'configure'-nak ezt kell
|
|
81 kiírnia:
|
762
|
82 Checking for Xv ... yes
|
|
83
|
834
|
84 6. Ha ez mind OK, próbáld ki a '-vo xv' opciót. Működnie kell.
|
|
85 (ha nem teszi, küldj nekünk egy bugreportot! Lásd DOCS/BUGREPORTS.)
|
762
|
86
|
|
87
|
834
|
88 II. OpenGL driverek, megfelelő glTexSubImage() támogatással
|
762
|
89
|
936
|
90 A régebbi Utah-GLX driver (X 3.3.6) támogatja, minden kartyaval.
|
834
|
91 Lásd http://utah-glx.sourceforge.net
|
762
|
92
|
936
|
93 Az DRI X 4.0.3-as vagy ujabb verzioja szinten tamogatja, de csak a Matrox
|
|
94 es Radeon kartyakkal.
|
|
95 Lasd dri.sourceforge.net cimen a letoltesi es installalasi instrukciokat.
|
762
|
96
|
|
97
|
834
|
98 III. Nativ kártyaspecifikus driverek
|
762
|
99
|
|
100 3 nativ driver van Linuxra:
|
|
101 1. Matrox G200/G400/G450 BES (Back-End Scaler) (mga_vid kernel driver)
|
834
|
102 Jobbára én (A'rpi) fejlesztem. Támogat hardveres VSYNC-et, triple
|
|
103 bufferinggel. Működik mind framebufferes konzolon, mind X alatt.
|
762
|
104
|
834
|
105 Fordítsd le a drivers/ könyvtárban lévő mga_vid.o-t (írd be: make)
|
|
106 hozd létre a /dev/mga_vid-et :
|
762
|
107 mknod /dev/mga_vid c 178 0
|
834
|
108 és töltsd be a drivert az 'insmod mga_vid.o' paranccsal. Ajánlott
|
|
109 leellenőrizni, hogy a memória méretét helyesen detektálta-e, a 'dmesg'
|
|
110 paranccsal. Ha rossz, használd az mga_ram_size opciót (először 'rmmod
|
|
111 mga_vid'), és add meg a kártyád memóriáját Mb-ban:
|
762
|
112 insmod mga_vid.o mga_ram_size=16
|
834
|
113 Ha azt akarod, hogy automatikusan töltődjön be, írd be a következő sort az
|
|
114 /etc/modules.conf végére :
|
762
|
115 alias char-major-178 mga_vid
|
909
|
116 Másold az mga_vid.o-t a modul könyvtáradba!
|
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 b, Framebuffer-t akarsz használni...
|
|
190 Annak eldöntése, hogy legyen-e framebuffer output, a ./configure alatt
|
|
191 dől el. Olvasd el a kernelforrásban található framebuffer dokumentációt
|
|
192 (Documentation/fb/*), ami leírja, hogy hogy kapcsold be stb. !
|
762
|
193
|
834
|
194 ... de a kártyád nem támogatja a VBE 2.0 szabványt (régebbi ISA/PCI
|
|
195 kártyák, például az S3 Trio64), csak a VBE 1.2-et (vagy régebbit?) :
|
|
196 Nos, VESAfb még mindig használható, de a Linux bootolása előtt be kell
|
|
197 töltened a SciTech Display Doctor-t (régebben UniVBE). Használj DOS
|
|
198 bootlemezt, vagy valami! És ne felejtsd regisztrálni az UniVBE-det ;))
|
762
|
199
|
834
|
200 Megj.: az FBdev output videomód váltása _nem működik_ a VESA
|
|
201 framebuffer-rel, és ne is kérd, mivel ez nem az MPlayer korlátja!
|
762
|
202
|
909
|
203 c, Érdemes továbbá kipróbálni az 'aalib' outputot ('-vo sdl -sdl aalib'),
|
|
204 igazán nagyszerű! :)
|
|
205
|
|
206
|
762
|
207 Gabucino & A'rpi
|
|
208
|