Tartalom ~~~~~~~~ 1. Előszó 2. Mi az a DGA 3. Felbontásváltás 4. DGA és MPlayer 5. A DGA driver képességei 6. Sebesség 7. Ismert hibák 8. Beepítendő dolgok A. Néhány modeline 1. Előszó ~~~~~~~~~ Ez a dokumentum néhány szóban elmagyarázza, hogy általában véve mi is az a DGA, és mit tud az MPlayerben (és mit nem). 2. Mi a DGA? ~~~~~~~~~~~~ A DGA szó a Direct Graphics Access rövidítése, és egy olyan módszert takar, amivel a program az X szerver kikerülésével közvetlenül írhat a framebuffer memóriába. Szaknyelven szólva ez a framebuffer memóriának a processz területére történő lapozásával történik. Ezt a kernel csak root jogosultsággal engedi. Ez történhet root-ként történő bejelentkezéssel, vagy a suid bit beállításával az mplayer programon (NEM ajánlott!). A DGA-nak két verziója van: a DGA1-et az XFree 3.X.X használja, a DGA2 pedig az XFree 4.0.1 óta létezik. A DGA1 csak a fent leírt közvetlen hozzáférést nyújtja. A felbontásváltáshoz itt szükség van az XVidMode kiterjesztésre. A DGA2 tartalmazza az XVidMode tudását, továbbá engedélyezi a színmélység megváltoztatását. Így lehetséges, hogy egy 32 bites mélységű X szervert átváltsunk 15 bitesbe, vagy fordítva. A DGA-nak van néhány hátránya. Valamelyest függ a grafikus chiptől és ennek X-es driverétől, ezért nem minden rendszeren működik ... 3. Felbontásváltás ~~~~~~~~~~~~~~~~~~ A DGA driver képes felbontásváltásra. Ezzel kikerülhető a (lassú) szoftveres scale, ugyanakkor teljesképernyős lesz a lejátszás. Ideális esetben pontosan egyező felbontást választ, de csak azon videomódok közül tud választani, ami az /etc/X11/XF86Config fileban szerepel. Ezeket úgynevezett modeline-okkal definiáljuk, és a videokártya képességeitől függenek. Az X szerver ezt a config file-t nézi át induláskor, és kikapcsolja mindazokat, amiket a kártya nem tud. A fennmaradó módok az X11 log-jában találhatóak: /var/log/XFree86.0.log Az A függelékben néhány modeline példa található. 4. DGA és MPlayer ~~~~~~~~~~~~~~~~ Az MPlayer-ben két helyen lehet DGA-t használni: az SDL driverben (-vo sdl -sdl dga), valamint a DGA driverben (-vo dga). A fentiek mindkettőre igazak; a következő néhány részben elmagyarazom, hogy is működik az MPlayer DGA drivere. 5. A DGA driver képességei ~~~~~~~~~~~~~~~~~~~~~~~~~~ A DGA driver meghivasa a -vo dga parancssori opcio megadasaval tortenik. Az alapertelmezett magatartas szerint a video meretehez legkozelebb eso felbontasba valt. Figyelmen kivul hagyja a -vm es -fs kapcsolokat (felbontasvaltas es teljeskepernyo) - mindig az adot felbontas leheto legjobb kihasznalasara torekszik, igy egy arva CPU ciklusnak sem kell forditodnia a kep nagyitasara. Ha nem tetszik a mod amit kivalasztott, megadhatod hogy az -x es -y altal kijelolt merethez valasszon felbontast. A -v opcio megadasaval a DGA driver tobbek kozott kiirja az XF86Config filed altal elerheto felbontasokat. DGA2-vel megadhatod a hasznalando szinmelyseget is, a -bpp opcioval. Hasznalhato: 15, 16, 24 es 32. A hardware-edtol fugg, hogy ezek kozul melyeket hasznalhatod, valamint hogy (lassu) konverzio lehetseges-e. Ha szerencsed van es van meg eleg memoriad hogy a kep megegyszer elferjen, akkor a DGA driver doublebuffering-et fog alkalmazni, ami sokkal folyamatosabb lejatszast eredmenyez. A. Néhány modeline ~~~~~~~~~~~~~~~~~~ Section "Modes" Identifier "Modes[0]" # 800x600 @ 60 Hz, 37.8 kHz hsync Modeline "800x600" 40 800 840 968 1056 600 601 605 628 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan EndSection Ezek a bejegyzések működnek az én Riva128-asomon, az nv.o driverrel. Acki (acki@acki-netz.de, www.acki-netz.de) 17.5.2001