aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS/Hungarian/VIDEOCARDS
blob: b2a60ed349e95074e0ffe7605f33b1ab9ff8d151 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207

Hardveres gyorsítás videokártyákhoz:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* olvasd el a DOCS/MTRR file-t is!

  A "hardveres gyorsítas" általában hardverileg támogatott YUV konverziót,
scale-t, bilinear filtering-et jelent. Linux alatt jónéhány módszerrel
lehet ezeket elérni:

I.   Az XFree86 4.0.2 Xv (XVideo) kiterjesztése
II.  OpenGL driverek, megfelelő glTexSubImage() támogatással
III. Nativ kártyaspecifikus driverek, amik egyes kártyák különleges
     képességeit használják ki
IV.  DGA - Direct Graphic Access. Nincs YUV, scaling, de még mindig
     gyorsabb, mint az X11
V.   Nem igazán gyorsítás, hanem...

Nos, lássuk őket részletesen:

De mielőtt elolvasnád ezt, olvasd el a DOCS/MTRR-t is, és nézd meg a
/proc/mtrr-edet. Hidd el, megéri! P3-on több, mint ötszörösére gyorsít!!!

I. Az XFree86 4.0.2 Xv (XVideo) kiterjesztése
   Ezt használja a '-vo xv' opció.

Ha működésre akarod bírni, a következőket kell figyelembe venned:

1. XFree86 4.0.2 vagy újabb szükséges (korábbi verziókban nincs XVideo)

2. A kártyádnak támogatnia kell a hardveres gyorsítást (újabb kártyák
   szokták támogatni)

3. X-nek be kell töltenie az XVideo kiterjesztést, valahogy így néz ki:
   (II) Loading extension XVideo
   a /var/log/XFree86.0.log file-ban
   MEGJ : ez csak azt jelzi, hogy az _X_ betöltötte. Egy normális rendszernél
          ez alap, és nem jelenti, hogy a _kártyának_ van XVideo
          támogatása!

4. A kártyád Linuxos drivere támogatja-e az Xv-t. Ezt az 'xvinfo'-val lehet
   megnezni, ez pedig az XFree86 disztribúció része. Egy hosszú szöveget
   kell hogy kiírjon, hasonlót ehhez:

	X-Video Extension version 2.2
	screen #0
	  Adaptor #0: "Savage Streams Engine"
	    number of ports: 1
	    port base: 43
	    operations supported: PutImage 
	    supported visuals:
	      depth 16, visualID 0x22
	      depth 16, visualID 0x23
	    number of attributes: 5
	(...)
	    Number of image formats: 7
	      id: 0x32595559 (YUY2)
	        guid: 59555932-0000-0010-8000-00aa00389b71
	        bits per pixel: 16
	        number of planes: 1
	        type: YUV (packed)
	      id: 0x32315659 (YV12)
	        guid: 59563132-0000-0010-8000-00aa00389b71
	        bits per pixel: 12
	        number of planes: 3
	        type: YUV (planar)
	(...etc...)

   Támogatnia kell a YUY2 packed, YV12 planar pixelformátumokat, hogy
   használható legyen az MPlayer-rel.

   Ha az xvinfo nem írja ki mindezt, de az XVideo kiterjesztés be van töltve,
   és biztos vagy benne, hogy a kartyád tud YUV konverziót, akkor
    - 3dfx voodoo3/banshee tulajok töltsenek le új DRI-t a
      http://dri.sourceforge.net címről
    - S3 Savage4-esek töltsék le az XFree86 >= 4.0.3-at
    - nVidia felhasználók adják el a kártyájukat... vagy nézzenek el az
      nVidia site-jára

5. MPlayer-t 'xv' támogatással kell fordítani. 'configure'-nak ezt kell
   kiírnia:
	Checking for Xv ... yes

6. Ha ez mind OK, próbáld ki a '-vo xv' opciót. Működnie kell.
   (ha nem teszi, küldj nekünk egy bugreportot! Lásd DOCS/BUGREPORTS.)


II.  OpenGL driverek, megfelelő glTexSubImage() támogatással

   Jelenleg csak a régebbi Utah-GLX driver (X 3.3.6) támogatja.
   Lásd http://utah-glx.sourceforge.net

   Az új X 4.x.x/DRI-nek és az nVidia drivereknek nincs használható
   glTexSubImage-ük :(


III. Nativ kártyaspecifikus driverek

3 nativ driver van Linuxra:
1. Matrox G200/G400/G450 BES (Back-End Scaler) (mga_vid kernel driver)
  Jobbára én (A'rpi) fejlesztem. Támogat hardveres VSYNC-et, triple
  bufferinggel. Működik mind framebufferes konzolon, mind X alatt.

  Fordítsd le a drivers/ könyvtárban lévő mga_vid.o-t (írd be: make)
  hozd létre a /dev/mga_vid-et :
	mknod /dev/mga_vid c 178 0
  és töltsd be a drivert az 'insmod mga_vid.o' paranccsal. Ajánlott
  leellenőrizni, hogy a memória méretét helyesen detektálta-e, a 'dmesg'
  paranccsal. Ha rossz, használd az mga_ram_size opciót (először 'rmmod
  mga_vid'), és add meg a kártyád memóriáját Mb-ban:
	insmod mga_vid.o mga_ram_size=16
  Ha azt akarod, hogy automatikusan töltődjön be, írd be a következő sort az
  /etc/modules.conf végére :
	alias char-major-178 mga_vid
  Másold az mga_vid.o-t a modul könyvtáradba!
  Aztán futtasd :
	depmod -a

  Használata MPlayer-ből:  (először fordítsd újra mga_vid supporttal...)

  Használd az 'mga' outputot, ha framebuffer konzolod van (matroxfb): -vo mga
  vagy az 'xmga'-t, ha X 3.3.6-od van: -vo xmga

  Megj.: működik 4.0.2-es X alatt is, de az Xv driverrel nem szeretik egymást
  ezért jobb kerülni mindkettő használatát. Általában az X újraindítása vagy
  reboot szükséges, hogy az Xv újra működjön :(

  Ha dual-head G400-ad van, és egy TV vagy második monitor van csatlakoztatva
  a második head-re, akkor azt is használhatod: olvasd el a DOCS/TVout-G400
  file-t. (elég nagy gányolás)

2. SiS 6326 YUV Framebuffer driver -> sis_vid kernel driver
  A felülete elvileg kompatibilis az mga_vid-del, de ebbe nem kerültek
  bele az mga_vid-es változtatások, úgyhogy valószínűleg nem működik.
  Jelentkezők kellenek tesztelésre, javításra.

3. 3dfx (mely kártyák?) YUV+scaler support, a /dev/3dfx-el (tdfx.o driver?)
  A /dev/3dfx kernel driver csak a 2.2.x kernelekhez létezik, és a Glide-dal
  használatos. Nincs letesztelve MPlayer-rel, ezért nem támogatott.
  Jelentkezők kellenek tesztelésre, javításra.


IV. Ha a kártyádnak nincs hardveres gyorsítása, még mindig meg tudod dobni
az fps-t a DGA driverrel:

1. Bizonyosodj meg, hogy az X betölti a DGA kiterjesztést:
	(II) Loading extension XFree86-DGA
   (amint látod, XFree86 4.0.x vagy újabb NAGYON AJANLOTT!)
2. MPlayer DGA drivere automatikusan detektálódik ./configure-kor, de ha
   kell, a --enable-dga opcióval kényszerítheted is.
3. Ha a driver nem tud kisebb felbontásba váltani, játszadozz kicsit a
   -vm (csak 3.3.x X-szel), -fs, -bpp, -zoom opciókkal és hátha találsz egy
   alkalmas módot. Jelenleg nincs konverter.. :(
4. Legyél ROOT. DGA-nak root jogok kellenek, hogy közvetlen tudjon írni a
   videomemóriába. Ha felhasználóként akarod futtatni, installáld MPlayer-t
   SUID root-ként:
   'chown root /usr/local/bin/mplayer'
   'chmod 750 /usr/local/bin/mplayer' 
   'chmod +s /usr/local/bin/mplayer' 
   Így most menni fog user-ként is.
   !!!! JÓL FIGYELJ !!!!
   Ez egy ÓRIÁSI biztonsági lyuk! Soha ne csináld ezt egy szerveren, vagy
   egy olyan gépen, amit több ember is elér, mert így root jogokat szerezhetnek
   a suid MPlayer-en keresztül.
   !!!! ÉN FIGYELMEZTETTELEK ... !!!!
5. Használd a '-vo dga' opciót, és már megy is! (remélhetőleg :)
6. Próbáld ki, hogy a '-vo sdl -sdl dga' opció működik-e nálad!
   Sokkal gyorsabb!!!

Ha gyors géped van (pl. P3 800) próbáld ki az 'fsdga'-t, így teljesképernyős
mpeg lejátszást kapsz (software-es YUV->RGB scaling használatával):
mplayer -vo fsdga ...


V.   Nem igazán gyorsítás, hanem...

a, Ha nincs X-ed...
  ...használd az SVGAlib outputot! Bizonyosodj meg róla, hogy nem használod
  a -fs kapcsolót, mert ez itt a software-es scaler-t kapcsolja be, és ez
  LASSÚÚÚÚ egyelőre, hacsak nincs egy igazán gyors procid (és/vagy MTRR?). :(

  Természetesen fel kell installálnod az svgalib-et, és a fejlesztői
  környezetét, hogy MPlayer le tudja fordítani az SVGAlib outputot
  (automatikusan detektálja, de lehet kényszeríteni is), és ne felejtsd el
  átszerkeszteni az /etc/vga/libvga.config-ot, hogy tükrözze a kártyád és
  a monitorod tulajdonságait.

b, Framebuffer-t akarsz használni...
  Annak eldöntése, hogy legyen-e framebuffer output, a ./configure alatt
  dől el. Olvasd el a kernelforrásban található framebuffer dokumentációt
  (Documentation/fb/*), ami leírja, hogy hogy kapcsold be stb. !

  ... de a kártyád nem támogatja a VBE 2.0 szabványt (régebbi ISA/PCI
  kártyák, például az S3 Trio64), csak a VBE 1.2-et (vagy régebbit?) :
  Nos, VESAfb még mindig használható, de a Linux bootolása előtt be kell
  töltened a SciTech Display Doctor-t (régebben UniVBE). Használj DOS
  bootlemezt, vagy valami! És ne felejtsd regisztrálni az UniVBE-det ;))

  Megj.: az FBdev output videomód váltása _nem működik_ a VESA
         framebuffer-rel, és ne is kérd, mivel ez nem az MPlayer korlátja!

c, Érdemes továbbá kipróbálni az 'aalib' outputot ('-vo sdl -sdl aalib'),
  igazán nagyszerű! :)


	Gabucino & A'rpi