Framebuffer-HOGYAN Alex Buell, alex.buell@tahallah.demon.co.uk v1.1, 22 July 1999 Ez a dokument�ci� bemutatja a framebuffer eszk�z�k haszn�lat�t Linux alatt k�l�nb�z� platformokon. A t�bbfejes megjelen�t�k be�ll�t�s�r�l is tal�lsz itt �tmutat�t. ______________________________________________________________________ Tartalomjegyz�k 1. K�zrem�k�d�k 2. Mi is az a framebuffer eszk�z? 3. Milyen el�nyei vannak a framebuffer eszk�z�knek? 4. Framebuffer eszk�z�k haszn�lata Intel platformokon 4.1 Mi az a vesafb? 4.2 Hogy akt�v�ljam a vesafb meghajt�t? 4.3 Milyen VESA m�dok �llnak rendelkez�semre? 4.4 Matrox k�rty�d van? 4.5 Permedia k�rty�d van? 4.6 ATI k�rty�d van? 4.7 Mely grafikus k�rty�k VESA 2.0 kompatibilisek? 4.8 Leford�thatom a vesafb-t modulk�nt? 4.9 Hogyan m�dos�thatom a kurzort? 5. Framebuffer eszk�z�k haszn�lata Atari m68k platformokon 5.1 Milyen �zemm�dok �llnak rendelkez�sre Atari m68k platformokon? 5.2 Egy�b alopci�k az Atari m68k platformokra 5.3 A bels� alopci�k haszn�lata Atari m68k platformokon 5.4 Az Atari m68k platformok k�ls� alopci�inak haszn�lata 6. Framebuffer eszk�z�k haszn�lata Amiga m68k platformokon 6.1 Mely �zemm�dok haszn�lhat�k Amiga m68k platformokon? 6.2 Az Amiga m68k platformok alopci�i 6.3 A t�mogatott Amiga grafikus kieg�sz�t� k�rty�k 7. Framebuffer eszk�z�k haszn�lata Macintosh m68k platformokon 8. Framebuffer eszk�z�k haszn�lata PowerPC platformokon 9. Framebuffer eszk�z�k haszn�lata Alpha platformokon 9.1 Milyen �zemm�dokat haszn�lhatok? 9.2 Mely grafikus k�rty�k m�k�dnek a framebuffer eszk�zzel? 10. Framebuffer eszk�z�k haszn�lata SPARC platformokon 10.1 Mely grafikus k�rty�k m�k�dnek a framebuffer eszk�zzel? 10.2 A framebuffer eszk�z�k be�ll�t�sa 11. Framebuffer eszk�z�k haszn�lata MIPS platformokon 12. Framebuffer eszk�z�k haszn�lata ARM platformokon 12.1 Netwinders 12.2 Acorn Archimedes 12.3 Egy�b ARM portok (SA 7110s et. al) 13. T�bb fejes framebufferek haszn�lata 13.1 Bevezet�s 13.2 Visszajelz�s 13.3 K�zrem�k�d�k 13.4 Lemond�s a szabv�nyokr�l 13.5 Copyright Inform�ci�k 13.6 Milyen hardver t�mogatott? 13.7 Kereskedelmi t�mogat�s 13.8 Az �sszes cucc beszerz�se. 13.9 Kezdj�nk bele 13.9.1 Mozduljunk egy konzollal od�bb... 13.9.2 Az "fbset" program haszn�lata a m�sodik monitor be�ll�t�s�hoz 13.9.3 Az X be�ll�t�sa framebuffer t�mogat�s�ra. 13.9.4 Pr�b�ld meg elind�tani az X szervert a m�sodik monitoron. 13.10 �sszefoglal�s 13.11 Egy�b megjegyz�sek �s probl�m�k 13.11.1 Az "�t�s init szint" (azaz az xdm/gdm) m�k�d�sre b�r�sa 13.11.2 Az x2x program haszn�lata. 13.11.3 Egy�b hasznos utas�t�sok 13.11.4 A. F�ggel�k - Octave cvtmode.m szkript 13.11.5 B. F�ggel�k - Borne Shell szkript "cvtfile" 14. Karakterk�szletek haszn�lata �s v�lt�sa 15. Konzol m�dok v�lt�sa 16. Az X11 FBdev meghajt� �zembe helyez�se 17. Hogyan alak�thatom �t az XFree86 modeline sorokat framebuffer eszk�z id�kre? 18. Tov�bbi inform�ci�kat keresel? ______________________________________________________________________ 1. K�zrem�k�d�k K�sz�net az al�bb felsorolt embereknek, akik seg�tettek a Framebuffer- HOWTO elk�sz�t�s�ben. � Jeff Noxon jeff@planetfall.com � Francis Devereux f.devereux@cs.ucl.ac.uk � Andreas Ehliar ehliar@futurniture.se � Martin McCarthy marty@ehabitat.demon.co.uk � Simon Kenyon simon@koala.ie � David Ford david@kalifornia.com � Chris Black cblack@cmpteam4.unil.ch � N Becker nbecker@fred.net � Bob Tracy rct@gherkin.sa.wlk.com � Marius Hjelle marius.hjelle@roman.uib.no � James Cassidy jcassidy@misc.dyn.ml.org � Andreas U. Trottmann andreas.trottmann@werft22.com � Lech Szychowski lech7@lech.pse.pl � Aaron Tiensivu tiensivu@pilot.msu.edu � Jan-Frode Myklebust a permedia k�rty�kr�l adott inform�ci�k�rtjanfrode@ii.uib.no � Sz�mos m�s embert is felsorohatn�k m�g, k�sz�n�m nekik is! K�sz�net Rick Niles-nek frederick.a.niles@gsfc.nasa.gov aki megengedte, hogy az � Multi-Head Mini-HOWTO-j�t felhaszn�ljam e HOWTO elk�sz�t�s�ben. K�sz�net az al�bb felsorolt embereknek, hogy elk�sz�tett�k az Intel platformos X11-hez a libc5/glibc2-es XF86_FBdev X11 framebuffer meghajt�t. A Framebuffer-HOWTO magyar ford�t�s�t, a Framebuffer-HOGYAN-t B�bos Bal�zs (bbk@swi.hu) k�sz�tette. � Brion Vibber brion@pobox.com � Gerd Knorr kraxel@cs.tu-berlin.de �s term�szetesen a framebuffer eszk�z�k k�sz�t�inek: � Martin Schaller - original author of the framebuffer concept � Roman Hodek Roman.Hodek@informatik.uni-erlangen.de � Andreas Schwab schwab@issan.informatik.uni-dortmund.de � Guenther Kelleter � Geert Uytterhoeven Geert.Uytterhoeven@cs.kuleuven.ac.be � Roman Zippel roman@sodom.obdg.de � Pavel Machek pavel@atrey.karlin.mff.cuni.cz � Gerd Knorr kraxel@cs.tu-berlin.de � Miguel de Icaza miguel@nuclecu.unam.mx � David Carter carter@compsci.bristol.ac.uk � William Rucklidge wjr@cs.cornell.edu � Jes Sorensen jds@kom.auc.dk � Sigurdur Asgeirsson � Jeffrey Kuskin jsk@mojave.stanford.edu � Michal Rehacek michal.rehacek@st.mff.cuni.edu � Peter Zaitcev zaitcev@lab.ipmce.su � David S. Miller davem@dm.cobaltmicro.com � Dave Redman djhr@tadpole.co.uk � Jay Estabrook � Martin Mares mj@ucw.cz � Dan Jacobowitz dan@debian.org � Emmanuel Marty core@ggi-project.org � Eddie C. Dost ecd@skynet.be � Jakub Jelinek jj@ultra.linux.cz � Phil Blundell philb@gnu.org � Anyone else, stand up and be counted. :o) 2. Mi is az a framebuffer eszk�z? A framebuffer eszk�z a grafikus hardver egy lek�pez�se. A video hardver framebuffer-�t reprezent�lja, �s az alkalmaz�i szoftverek sz�m�ra a grafikus hardverhez val� hozz�f�r�st j�l defini�lt interf�szen keresz�l biztos�tja, �gy a szoftvernek semmit sem kell tudnia az alacsony szint� interf�sz cuccokr�l [Geert Uytterhoeven framebuffer.txt-j�b�l szedtem a linux kernel forr�sb�l] 3. Milyen el�nyei vannak a framebuffer eszk�z�knek? A pingvin logo. :o) Komolyabbra ford�tva a sz�t, a framebuffer meghajt�k legf�bb el�nye az, hogy �ltal�nos interf�szt biztos�t minden platform sz�m�ra. A 2.1.x-es kernel k�s�i fejleszt�s�n�l fordult el�, hogy az Intel platform konzol meghajt�i t�k�letesen k�l�nb�ztek a m�s platformok meghajt�it�l. A 2.1.109 bevezet�s�vel mindez pozit�v ir�nyba v�ltozott, �s sokkal �ltal�nosabb konzol kezel�st mutattak be az Intel platformra, valamint ekkor mutattak be val�di bitt�rk�pes grafikus konzolt, ami k�pes volt Intel g�pen a pingvin logo megjelen�t�s�re. Jegyezz�k meg, hogy a 2.0.x-es kernelek nem t�mogatj�k a framebuffer eszk�z�ket, de elk�pzelhet� valamikor, hogy valaki visszamen�leg elk�sz�ti a k�dot a 2.1.x-es kernelb�l a 2.0.x-es kernelbe. Az�rt van kiv�tel e szab�ly al�l, mert a v0.9.x-es kernel m68k platformra �t�rt v�ltozata m�r tartalmaz be�p�tett framebuffer eszk�zt�mogat�st. A 2.2.x-es kernel kiad�s�val a framebuffer eszk�z t�mogat�s nagyon s�ma �s stabil lett. C�lszer� is haszn�lnod, ha a grafikus k�rty�d t�mogatja, amennyiben 2.2.x-es kernelt haszn�lsz. A r�gebbi, 2.0.x-es kernelek nem t�mogatj�k a framebuffer eszk�z�ket, legal�bbis Intel platformon. � 0.9.x (m68k) - bemutatt�k az m68k framebuffer eszk�z�ket. Jegyezz�k meg, hogy a 0.9.x funkcion�lisan az 1.0.9-es Intellel egyen�rt�k� (�s az 1.2.x-es kieg�sz�t�s) � 2.1.107 - bemutatt�k az Intel framebuffer �s az �j konzol eszk�z�ket �s �ltal�nos t�mogat�st tettek hozz�, scrollback buffer t�mogat�s n�lk�l. � 2.1.113 - a vgacon scrollback buffer t�mogat�st kapott. � 2.1.116 - a vesafb scrollback buffer t�mogat�st kapott. � 2.2.x - csatolt�k a matroxfb(Matrox)-t �s a atyfb(ATI)-t. Van n�h�ny nagyszer� tulajdons�ga a framebuffer eszk�z�knek, t�bbek k�z�tt �ltal�nos kapcsol�kat adhatsz �t a kernelnek indul�sid�ben, ak�r m�g framebuffer eszk�z f�gg� param�tereket is. Ilyenek p�ld�ul: � video=xxx:off - letiltja a framebuffer eszk�z automatikus felismer�s�t � video=map:octalis-sz�m - a virtu�lis konzolokat (VC-k) framebuffer (FB) eszk�zh�z rendeli � video=map:01 a VC0-t FB0-hoz, a VC1-t FB1-het, a VC2-t FB0-hoz, a VC3-t az FB1-hez rendeli � video=map:0132 a VC0-t az FB0-hoz, a VC1-t az FB1-hez, a VC2-t az FB3-hoz, a VC4-t az FB2-h�z, a VC5-t az FB0-hoz rendeli... A framebuffer eszk�z�ket a kernelben meghat�rozott sorrendben ismeri fel a rendszer, de ha megadod a video=xxx opci�t, meghat�rozhatod azt a framebuffer eszk�zt, amit a kernelben meghat�rozott sorrendben felismerend� eszk�z�k el�tt szeretn�l felismertetni. 4. Framebuffer eszk�z�k haszn�lata Intel platformokon 4.1. Mi az a vesafb? A vesafb egy VESA 2.0 kompatibilis grafikus k�rty�kkal m�k�d� framebuffer eszk�z Intel architekt�r�ra. Nagyban hasonl�t a kernelben lev� framebuffer eszk�z meghajt�khoz. A vesafb k�perny�meghajt� lehet�v� teszi, hogy grafikus m�dokat haszn�lj Intel platformon bitmap-es sz�veges konzolokon. Lehet�v� teszi tov�bb�, hogy logo-t jelen�ts meg, ami val�sz�n�leg a f� oka annak, hogy vesafb-t haszn�lj. Sajnos, nem haszn�lhatod a vesafb-vel a VESA 1.2-es k�rty�kat. Ez az�rt van, mert az 1.2-es k�rty�k nem line�ris frame buffering-et haszn�lnak. A line�ris framebuffering egyszer�en azt jelenti, hogy a rendszer processzor k�zvetlen�l hozz�f�r a k�perny� minden egyes bitj�hez. A t�rt�nelmet tekintve, a r�gebbi grafikus k�rty�k csak 64K- t engedtek egyszerre hozz�f�rni a kernelnek, mivel a fantasztikus CGA/EGA �zemm�doknak ez volt a korl�tja. Elk�pzelhet�, hogy valaki �rni fog egy vesafb12-es eszk�zmeghajt�t ezekhez a k�rty�khoz, de �rt�kes kernel mem�ri�t haszn�lna, �s meglehet�sen ronda patch-re lenne sz�ks�g. L�tezik azonban egy potenci�lis lehet�s�g, VESA 2.0-s kieg�sz�t�st adhatsz a VESA 1.2-es k�rty�dnak. Let�lthetsz egy DOS al�l fut� rezidens programot, amit ha loadlin-el haszn�lsz, seg�thet a k�rtya megfelel� grafikus �zemm�dba konfigur�l�s�ban. Jegyezz�k meg, hogy ez nem mindig m�k�dik, p�ld�ul n�h�ny Cirrus Logic k�rtya, mint p�ld�ul a VLB 54xx-es sorozat, a frame buffering-hez olyan mem�ria c�meket haszn�l (p�ld�ul a 15-16MB-os tartom�ny), amik megakad�lyozz�k, hogy 32MB mem�ri�n�l t�bb mem�ri�val rendelkez� rendszerek rendesen m�k�djenek. Van m�d arra, hogy m�k�d�sre b�rjuk, ha a BIOS-ban szerepel egy olyan opci�, amely lyukat hagy a 15-16Mbyte ter�leten a mem�ri�ban. �gy tal�n m�k�dne, de a Linux nem t�mogatja a mem�rialyukakat. B�r van patch ennek az opci�nak a megval�s�t�s�ra [Kinek van, �s honnan lehet beszerezni?]. Ha szeretn�l k�s�rletezni ezzel az opci�val, rengeteg TSR szer� program rendelkez�sedre �ll, a legjobb p�lda p�ld�ul az UNIVBE, amit megtal�lsz az Interneten. Elk�pzelhet�, hogy tal�lsz kernel patch-et, hogy m�k�d�sre b�rd a VESA 1.2-es k�rty�d a VESA framebuffer meghajt�val. P�ld�ul, l�teznek patch-ek a r�gebbi S3 k�rty�khoz (mint az S3 Trio, S3 Virge), melyek VESA 1.2-es t�mogat�ssal rendelkeznek. Ezekhez a k�rty�khoz v�laszthatsz patch-et a ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz c�mr�l. 4.2. Hogy akt�v�ljam a vesafb meghajt�t? Tegy�k fel, hogy menuconfig-ot haszn�lsz, ekkor a k�vetkez� l�p�sekre van sz�ks�ged: Ha a processzorod (Intel platformokon) t�mogatja az MTRR-t, enged�lyezd. Ez felgyors�tja a processzor �s a grafikus k�rtya k�z�tt a mem�riam�sol�st, de nem felt�tlen sz�ks�ges. Ezt megteheted term�szetesen a konzol eszk�z sikeres be�ll�t�sa ut�n is. FONTOS: A 2.1.x kernelverzi�k eset�n, menj a Code Maturity Level men�be, �s enged�lyezd a fejleszt�s alatt �ll� �svagy nem teljes meghajt�programok kiv�laszt�si lehet�s�g�t. Erre a 2.2.x kernelverzi�k eset�ben m�r nincs sz�ks�g. Menj a Consol Drivers men�be, �s enged�lyezd a k�vetkez�ket: � VGA Text Console � Video Selection Support � Support for frame buffer devices (experimental) � VESA VGA Graphic console � Advanced Low Level Drivers � V�laszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp �s a 32bpp t�m�r�tett pixel meghajt�kat VGA Chipset Support (text only) - vgafb - szerepelnie kellene a fenti list�ban, de mivel m�r helytelen�tik a haszn�lat�t, �s t�bb� nem t�mogatott, �gy nem szerepeltett�k a list�ban. R�videsen el is lesz t�vol�tva. Haszn�ld ink�bb a VGA Text Console-t (fbcon). A VGA Character/Attributes csak VGA Chipset t�mogat�ssal haszn�latos, �s nem sz�ks�ges kiv�lasztani. Biztos�tsd, hogy a Mac v�ltoz� bpp t�m�r�tett pixel t�mogat�s nem enged�lyezett. A Linux 2.1.111-es kernelverzi�ja (�s a 112-es) �gy t�nik, hogy automatikusan enged�lyezi, ha az Advanced Low Level Drivers els�re ki lett v�lasztva. Ez a 2.1.113-ban m�r nem �gy t�rt�nik t�bb�. Fenn�ll ezenk�v�k a karakterek mem�ri�baford�t�s�nak lehet�s�ge is, de erre val�j�ban nincs sz�ks�g �s mindig haszn�lhatod a kbd-0.99 setfont szersz�m�t (l�sd a karakterekr�l sz�l� fejezetet), amivel megv�ltoztathatod a karaktereket �gy, hogy bet�lt�d a karaktereket a konzol eszk�zbe. Gy�z�dj meg r�la, hogy ezek nem modulok lesznek. [Nem vagyok benne biztos, hogy lehets�ges m�r modulba ford�tani �ket - k�rlek jav�ts ki, ha t�vedn�k] El kell k�sz�tened a framebuffer eszk�z�ket a /dev alk�nyv�rban. Framebuffer eszk�z�nk�nt egyre lesz sz�ks�ged, �gy mind�ssze annyi a teend�d, hogy kiadod az els� alkalommal a mknod /dev/fb0 c 29 0 parancsot. A k�vetkez�k 32 t�bbsz�r�sei lesznek, p�ld�ul a /dev/fb1 elk�sz�t�s�hez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, �s �gy tov�bb, eg�szen a nyolcadik framebuffer eszk�zig (mknod /dev/fb7 c 29 224). Ezut�n ford�tsd �jra a kernelt, m�dos�tsd a /etc/lilo.conf-ot, �s csatold a VGA=ASK param�tert, majd futtasd a lilo-t, erre az�rt van sz�ks�g, hogy kiv�laszthasd, melyik m�dot szeretn�d majd haszn�lni. �me egy p�lda a LILO konfigur�ci�ra (az �n g�pemr�l vettem): # LILO konfigur�ci�s �llom�ny boot = /dev/hda3 delay = 30 prompt vga = ASK # Engedj�k, hogy a felhaszn�l� adja meg a k�v�nt m�dot image = /vmlinuz root = /dev/hda3 label = Linux read-only # A nem-UMSDOS �llom�nyrendszert c�lszer� csak olvashat�nak beilleszteni az ellen�rz�shez Ind�tsd �jra a kernelt, �s pr�bak�ppen, �rj be 0301-et a VGA promptn�l (ez 640x480-as felbont�st ad 256 sz�nnel) �s m�ris egy aranyos pici pingvin log�t l�thatsz. Jegyezz�k meg, hogy a VGA promptn�l a sz�m be�r�s�n�l 'x' n�lk�l kell be�rnod a sz�mot "0" �s 3 sz�mjegy form�ban. Erre nincs sz�ks�g LILO haszn�lat�val. Ha l�tod, hogy j�l m�k�dik, felfedezheted a k�l�nb�z� VESA m�dokat (l�sd lejjebb), eld�ntheted, hogy melyik tetszik a legjobban �s be bedr�tozhatod a "VGA=x" param�ter haszn�lat�val a lilo.conf �llom�nyba. Ha kiv�lasztottad, hogy melyik tetszik a legjobban, keresd ki a neki megfelel� hexadecim�lis sz�mot a lentebb tal�lhat� t�bl�zatb�l (pl. 1280x1024 @ 256-hoz "VGA=0x307"-et tal�lsz), �s �jra le kell futtatnod a lilo-t. Mind�ssze ennyi a teend�. A k�s�bbi hivatkoz�sokhoz olvasd el a LoadLin/LILO HOGYANokat. MEGJEGYZ�S! A vesafb nem enged�lyezi a scrollback buffering-et alap�rtelmez�s szerint. Neked kell �tadni az enged�lyez� kernel param�tert. Az enged�lyez�shez haszn�ld a video=vesa:ypan vagy a video=vesa:ywrap param�tereket. Mindkett� ugyanazt a dolgot teszi, de m�sk�ppen. Az ywrap l�nyegesen gyorsabb, mint az ypan, de nem, vagy r�szben rosszul m�k�dik VESA 2.0-s grafikus k�rty�kkal. Az ypan lassabb az ywrap-n�l, de nagyobb m�rt�kben kompatibilis. Ez az opci� csak a 2.1.116-os �s magasabb verzi�sz�m� kernelekben van jelen. A kor�bbi kernelekben nem volt meg a scrollback buffering enged�lyez�s�nek k�pess�g a vesafb-hez. 4.3. Milyen VESA m�dok �llnak rendelkez�semre? Ez val�j�ban a rendszered VESA 2.0 kompatibilis grafikus k�rty�j�t�l f�gg, valamint a rajta l�v� video mem�ria mennyis�g�t�l. Az csak a tesztel�s k�rd�se, hogy melyik video �zemm�d a legjobb a grafikus k�rty�dnak. A k�vetkez� t�bla a VGA promptn�l beadhat�, vagy a LILO programmal haszn�lhat� �zemm�dok sz�mait mutatja. (jelenleg ezek a sz�mok 0x200 felettiek, hogy k�nnyebb legyen a t�bl�ra hivatkozni) Sz�nek 640x400 640x480 800x600 1024x768 1280x1024 1600x1200 ---------+----------------------------------------------------- 4 bites | ? ? 0x302 ? ? ? 8 bites | 0x300 0x301 0x303 0x305 0x307 0x31C 15 bites | ? 0x310 0x313 0x316 0x319 0x31D 16 bites | ? 0x311 0x314 0x317 0x31A 0x31E 24 bites | ? 0x312 0x315 0x318 0x31B 0x31F 32 bites | ? ? ? ? ? ? Kulcs: 8 bites = 256 sz�n�, 15 bites = 32,768 sz�n�, 16 bites = 65,536 sz�n�, 24 bites = 16.8 milli� sz�n�, 32 bites - ugyanaz, mint a 24 bites, de az extra 8 bit m�s dolgok t�rol�s�ra is felhaszn�lhat�, ami t�k�letesen megfelel a 32 bites PCI/VLB/EISA busznak. Egy�b �zemm�dok a gy�rt� diszkr�ci�j�t�l f�gg, mivel a VESA 2.0 dokument�ci�ja csak a 0x31F feletti �zemm�dokat defini�lja. N�mi pr�b�lkoz�sra lesz sz�ks�ged az extra �zemm�dok felfedez�s�hez. 4.4. Matrox k�rty�d van? Ha Matrox grafikus k�rty�d van, nincs is sz�ks�ged a vesafb-re, ann�l ink�bb a matroxfb meghajt�ra. Ez nagyban kisz�les�ti a k�rty�d k�pess�geit. A Matroxfb a Matrox Mystique Millennium I & II, G100 �s G200 k�rty�kkal m�k�dik. T�mogatja ezen k�v�l a t�bbfejes rendszereket (ez az, ha k�t Matrox k�rty�d van a g�pedben, k�t megjelen�t�t haszn�lhatsz ugyanabban a g�pben!). Ahhoz, hogy be�ll�tsd rendszered a Matroxhoz, a k�vetkez�ket kell tenned: Esetleg sz�ks�ged lehet a BIOS friss�t�s�re, amihez le kell t�ltened a BIOS friss�t�st a http://www.matrox.com/mgaweb/drivers/ftp_bios.htm honlapr�l. �gyelj r�, hogy a friss�t�shez majd DOS-ra lesz sz�ks�ged. Menj a Code Maturity Level men�be �s enged�lyezd a fejleszt�s alatt �ll� �s/vagy nem teljes meghajt�programok kiv�laszt�si lehet�s�g�t. Erre a 2.2.x kernelverzi�k eset�ben m�r nincs sz�ks�g. Menj a Console Drivers men�be �s enged�lyezd a k�vetkez�ket: � VGA Text Console � Video Selection Support � Support for frame buffer devices (experimental) � Matrox Acceleration � V�lassz a k�vetkez�kb�l annak megfelel�en, hogy milyen k�rty�d van: � Millennium I/II support � Mystique support � G100/G200 support � Enged�lyezd a t�bbfejes t�mogat�st (Multihead Support), ha egyn�l t�bb Matrox k�rty�t szeretn�l haszn�lni � Advanced Low Level Drivers � V�laszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp �s 32bpp t�m�r�tett pixel meghajt�kat Ford�tsd �jra a kernelt. Ezut�n m�dos�tanod kell a lilo.conf �llom�nyt, hogy enged�lyezd a Matroxfb eszk�zt. A leggyorsabb �s legegyszer�bb m�dja, ha felhaszn�lod az eny�met. # LILO konfigur�ci�s �llom�ny boot = /dev/hda3 delay = 30 prompt vga = 792 # Erre az�rt van sz�ks�g, hogy haszn�lhat� �llapotban induljon # A Linux bootolhat� part�ci� be�ll�t�sa k�vetkezik image = /vmlinuz append = "video=matrox:vesa:440" # akkor v�ltsunk Matroxfb-re root = /dev/hda3 label = Linux read-only # A nem-UMSDOS �llom�nyrendszert c�lszer� csak olvashat�nak beilleszteni az ellen�rz�shez V�g�l kell k�sz�tened a framebuffer eszk�z�ket a /dev alk�nyv�rban. Framebuffer eszk�z�nk�nt egyre lesz sz�ks�ged, �gy mind�ssze annyi a teend�d, hogy kiadod az els� alkalommal a mknod /dev/fb0 c 29 0 parancsot. A k�vetkez�k 32 t�bbsz�r�sei lesznek, p�ld�ul a /dev/fb1 elk�sz�t�s�hez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, �s �gy tov�bb, eg�szen a nyolcadik framebuffer eszk�zig (mknod /dev/fb7 c 29 224). �s ennyi. [MEGJEGYZ�S: Ha valaki haszn�l t�bbfejes t�mogat�st, k�rem, vegye fel a kapcsolatot velem - besz�lnem kell valakivel r�la, hogy dokument�lhassam!] 4.5. Permedia k�rty�d van? A Permedia k�rty�kat nem lehet a vesafb-vel haszn�lni, de szerencs�re elk�sz�lt egy haszn�lhat� Permedia framebuffer meghajt�. Felt�ve, hogy menuconfig-ot haszn�lsz, tedd a k�vetkez�ket: Menj a Code Maturity Level men�be �s enged�lyezd a fejleszt�s alatt �ll� �s/vagy nem teljes meghajt�programok kiv�laszt�si lehet�s�g�t. Erre a 2.2.x kernelverzi�k eset�ben m�r nincs sz�ks�g. Menj a Console Drivers men�be �s enged�lyezd a k�vetkez�ket: � VGA Text Console � Video Selection Support � Support for frame buffer devices (experimental) � Permedia2 support (experimental) � Generic Permedia2 PCI board support � Advanced Low Level Drivers � V�laszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp �s 32bpp t�m�r�tett pixel meghajt�kat � Ha szeretn�l kernelbeford�tott karaktereket, v�laszd ki a k�vetkez�ket: � Select compiled-in fonts � Select Sparc console 12x22 font Ford�tsd �jra a kerneled. Ezut�n m�dos�tanod kell a lilo.conf �llom�nyt, hogy enged�lyezd a pm2fb eszk�zt. A leggyorsabb, �s legyegyszer�bb m�dja, ha felhaszn�lod a k�vetkez� p�ld�t: # LILO konfigur�ci�s �llom�ny boot = /dev/hda3 delay = 30 prompt vga = 792 # Erre az�rt van sz�ks�g, hogy haszn�lhat� �llapotban induljon # A Linux bootolhat� part�ci� be�ll�t�sa k�vetkezik image = /vmlinuz append = "video=pm2fb:mode:1024x768-75,font:SUN12x22,ypan" # akkor v�ltsunk �t pm2fb root = /dev/hda3 label = Linux read-only # A nem-UMSDOS �llom�nyrendszert c�lszer� csak olvashat�nak beilleszteni az ellen�rz�shez A "pm2fb:mode:1024x768-75,font:SUN12x22,ypan" sor jelzi, hogy 1024x768-as felbont�st v�lasztott�l 75Hz-en, SUN12x22 karakterk�szlettel (ha nem v�lasztottad ki), �s ypan scrollback t�mogat�ssal. K�v�ns�god szerint v�laszthatsz m�s �zemm�dot is. V�g�l kell k�sz�tened a framebuffer eszk�z�ket a /dev alk�nyv�rban. Framebuffer eszk�z�nk�nt egyre lesz sz�ks�ged, �gy mind�ssze annyi a teend�d, hogy kiadod az els� alkalommal a mknod /dev/fb0 c 29 0 parancsot. A k�vetkez�k 32 t�bbsz�r�sei lesznek, p�ld�ul a /dev/fb1 elk�sz�t�s�hez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, �s �gy tov�bb, eg�szen a nyolcadik framebuffer eszk�zig (mknod /dev/fb7 c 29 224). Tov�bbi inform�ci�kat a Permedia framebuffer meghajt�r�l a http://www.cs.unibo.it/ nardinoc/pm2fb/index.html honlapon tal�lsz. video=pm2fb:[opci�[,opci�[,opci�...]]] ahol az opci�k a k�vetkez�k lehetnek: � off a meghajt� letilt�s�hoz � mode:resolution a konzol felbont�s�nak be�ll�t�s�hoz. Az �zemm�dot az fb.modes.ATI �llom�ny tartalmazza Geert fbset csomagj�ban. Minden �zemm�d sz�nm�js�ge 8bpp. A lehets�ges �zemm�dok list�ja a k�vetkez�: � 640x480-(60,72,75,90,100) � 800x600-(56,60,70,72,75,90,100) � 1024x768-(60,70,72,75,90,100,illo) illo=80KHz 100Hz � 1152x864-(60,70,75,80) � 1280x1024-(60,70,74,75) � 1600x1200-(60,66,76) � Az alap�rtelmezett felbont�s 640x480-60. � font:font name a konzol karakterk�szlet�nek be�ll�t�s�hoz. P�ld�ul: font:SUN12x22 � ypan be�ll�tja az aktu�lis virtu�lis magass�got akkor�ra, amekkor�t a video mem�ria m�rete megenged. � oldmem opci� csak a CybervisionPPC felhaszn�l�k sz�m�ra �l. Ezzel a kapcsol�val megmondhatod a rendszernek, hogy a k�rty�don Fujitsu SGRAM-ok vannak (minden 30-Dec-1998 el�tti CVisionPPC-k eset�n). � virtual (ideiglenesen) add meg, hogy a kernel �thelyezi a platformodon a PCI r�gi�kat. 4.6. ATI k�rty�d van? [MEGJEGYZ�S: Ez az inform�ci� a legjobb form�j�ban l�that�, csak m�sod vagy harmadk�zb�l van, mivel nincs ATI k�rty�m, hogy tesztelhessem. K�rlek jav�ts ki, ha t�vedn�k, vagy �gess meg!] 8) Az ATI k�rty�k haszn�lhat�ak a vesafb meghajt�val, de lehetnek probl�m�id a haszn�lat�val, att�l f�gg�en, hogy milyen s�lyosan k�rosodott a k�rty�d. Szerencs�re az atyfb framebuffer meghajt� rendelkez�sedre �ll. Felt�ve, hogy menuconfig-ot haszn�lsz, a k�vetkez�ket kell tenned: Menj a Code Maturity Level men�be �s enged�lyezd a fejleszt�s alatt �ll� �s/vagy nem teljes meghajt�programok kiv�laszt�si lehet�s�g�t. Erre a 2.2.x kernelverzi�k eset�ben m�r nincs sz�ks�g. Menj a Console Drivers men�be �s enged�lyezd a k�vetkez�ket: � VGA Text Console � Video Selection Support � Support for frame buffer devices (experimental) � ATI Mach64 display support � Advanced Low Level Drivers � V�laszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp �s 32bpp t�m�r�tett pixel meghajt�kat � Ha szeretn�l kernelbeford�tott karaktereket, v�laszd ki a k�vetkez�ket: � Select compiled-in fonts � Select Sparc console 12x22 font Ford�tsd �jra a kerneled. Ezut�n m�dos�tanod kell a lilo.conf �llom�nyt, hogy enged�lyezd a atyfb eszk�zt. A leggyorsabb, �s legyegyszer�bb m�dja, ha felhaszn�lod a k�vetkez� p�ld�t: # LILO konfigur�ci�s �llom�ny boot = /dev/hda3 delay = 30 prompt vga = 792 # Erre az�rt van sz�ks�g, hogy haszn�lhat� �llapotban induljon # A Linux bootolhat� part�ci� be�ll�t�sa k�vetkezik image = /vmlinuz append = "video=atyfb:1024x768,font:SUN12x22" root = /dev/hda3 label = Linux read-only # A nem-UMSDOS �llom�nyrendszert c�lszer� csak olvashat�nak beilleszteni az ellen�rz�shez Az "atyfb:mode:1024x768,font:SUN12x22" jelzi, hogy egy 1024x768 �zemm�dot v�lasztott�l. V�g�l kell k�sz�tened a framebuffer eszk�z�ket a /dev alk�nyv�rban. Framebuffer eszk�z�nk�nt egyre lesz sz�ks�ged, �gy mind�ssze annyi a teend�d, hogy kiadod az els� alkalommal a mknod /dev/fb0 c 29 0 parancsot. A k�vetkez�k 32 t�bbsz�r�sei lesznek, p�ld�ul a /dev/fb1 elk�sz�t�s�hez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, �s �gy tov�bb, eg�szen a nyolcadik framebuffer eszk�zig (mknod /dev/fb7 c 29 224). video=atyfb:[opci�[,opci�[,opci�...]]] ahol opci� a k�vetkez� lehet: � font:SZTRING Kiv�laszja a be�p�tett karakterk�szletet (amit a kernelbe ford�tott�l) � noblink Kikapcsolja a villog�st � noaccel Letiltja a gyors�t�st � vram:ULONG Megmondja az atyfb meghajt�nak, hogy mennyi mem�ri�d van � pll:ULONG Ismeretlen � mclk:ULONG Ismeretlen � vmode:ULONG Ismeretlen � cmode:ULONG - be�ll�tja a sz�nm�lys�get - 0, 8, 15, 16, 24 �s 32 4.7. Mely grafikus k�rty�k VESA 2.0 kompatibilisek? A k�vetkez� felsorol�s tartalmazza az �sszes olyan grafikus k�rty�t, melyekr�l ismert, hogy m�k�dnek a vesafb eszk�zzel: � ATI PCI VideoExpression 2MB (max. 1280x1024 @ 8bit) � ATI PCI All-in-Wonder � Matrox Millennium PCI - BIOS v3.0 � Matrox Millennium II PCI - BIOS v1.5 � Matrox Millennium II AGP - BIOS v1.4 � Matrox Millennium G200 AGP - BIOS v1.3 � Matrox Mystique & Mystique 220 PCI - BIOS v1.8 � Matrox Mystique G200 AGP - BIOS v1.3 � Matrox Productiva G100 AGP - BIOS v1.4 � Minden Riva 128 alap� k�rtya � Diamond Viper V330 PCI 4MB � Genoa Phantom 3D/S3 ViRGE/DX � Hercules Stingray 128/3D TV kimenettel � Hercules Stingray 128/3D TV kimenet n�lk�l - BIOS friss�t�s sz�ks�ges (ingyenesen beszerezhet� a support@hercules.com) � SiS 6326 PCI/AGP 4MB � STB Lightspeed 128 (Nvida Riva 128 alap�) PCI � STB Velocity 128 (Nvida Riva 128 alap�) PCI � Jaton Video-58P ET6000 PCI 2MB-4MB (max. 1600x1200 @ 8bit) A k�vetkez� felsorol�s alaplapon elhelyezked� chip k�szleteket tartalmaz: � Trident Cyber9397 � SiS 5598 Az al�bbi feketelista olyan grafikus k�rty�kat tartalmaz, melyek nem m�k�dnek egy�tt a vesafb eszk�zzel: � TBA 4.8. Leford�thatom a vesafb-t modulk�nt? Tudom�som szerint a vesafb nem modulariz�lhat�, hacsak valamikor a vesafb fejleszt�i �gy nem d�ntenek, hogy m�dos�tj�k a forr�st, �s modulariz�lhat�v� teszik. Jegyezz�k meg, hogy ha m�g lehets�gess� is v�lik a modulariz�lhat�s�g, indul�sid�ben akkor sem fogsz semmi kimenetet l�tni a megjelen�t�n, am�g a vesafb nincs modulpr�b�lva. Tal�n sokkal �sszer�bb lenne a kernelben hagyni, azokra az esetekre, ha ind�t�skor probl�ma l�pne fel. 4.9. Hogyan m�dos�thatom a kurzort? [A VGA-softcursor.txt-b�l vettem - k�sz�net Martin Mares-nek �rte!] A Linuxnak most m�r t�bbf�le k�pess�ge is lehet�v� teszi a kurzor megjelen�s�nek m�dos�t�s�t. �ltal�ban �t�ll�thatod a hardver kurzor m�ret�t (�s k�r�lj�rhatsz n�h�ny cs�nya hib�t azokon a csapnival� Trident k�rty�kon -- n�zd meg a #define TRIDENT_GLITCH-et a drivers/char/vga.c �llom�nyban). Ebben az esetben ha enged�lyezed a "Software generated cursor"-t a rendszer konfigur�ci�dban, elj�tszhatsz n�h�ny �j tr�kkel: �talak�thatod a kurzorod nem villog� piros blokk�, a karakter inverz h�tter�v� v�ltoztathatod, vagy kiemeltt� teheted az adott karaktert, �s m�g mindig v�laszthatsz, hogy az eredeti hardver kurzor l�that� maradjon, vagy sem. Lehet m�g n�h�ny dolog, amire sose gondoltam m�g. A kurzor megjelen�t�s�t a <ESC>[?1;2;3c szab�lyozza, ahol 1, 2 �s 3 lejjebb megmagyar�zott param�terek. Ha kihagyod b�rmelyiket, az alap�rtelmez�sre �llnak, ami 0. Az 1. param�ter a kurzor m�ret�t hat�rozza meg (0=alap�rtelmezett, 1=l�thatatlan, 2=al�h�z�s, ..., 8=teljes blokk) + 16 ha a szoftver kurzort szeretn�d alkalmazni, + 32 ha mindig szeretn�l a h�tt�rsz�nen v�ltoztatni + 64 ha nem szertn�d ugyanazd a h�tteret, mint ami az el�t�r. A kiemel�st nem veszi figyelembe az utols� k�t flag eset�n. A m�sodik param�ter kiv�lasztja az �ltalad megv�ltoztatand� karakter attrib�tum bitet (egyszer�en �ssze XOR-olva e param�ter �rt�k�vel). Hagyom�nyos VGA-n a n�gy magas bit hat�rozza meg a h�tteret, az als� n�gy pedig az el�teret. Mindk�t csoportban, a h�rom alacsony bit �ll�tja a sz�nt (mint a konzol hagyom�nyos sz�nk�djai eset�n), s a leg�rt�kesebb bit �ll�tja be a kiemel�st (vagy n�h�ny esetben a villog�st -- a VGA-d konfigur�ci�j�t�l f�gg�en). A harmadik param�ter az �ltalad be�ll�tand� karakter attrib�tum bitekb�l �ll. A bit be�ll�t�sa a bit �t�ll�t�sa el�tt l�p �rv�nybe, �gy egyszer�en t�r�lhetsz egy bitet a be�ll�t� �s az �t�ll�t� maszkba illesztve. Hagyom�nyos villog� al�h�z�s be�ll�t�s�hoz: echo -e '\033[?2c' Villog� blokk be�ll�t�s�hoz: echo -e '\033[?6c' Nem villog� piros blokk be�ll�t�s�hoz: echo -e '\033[?17;0;64c' 5. Framebuffer eszk�z�k haszn�lata Atari m68k platformokon Ez a fejezet bemutatja a framebuffer lehet�s�geket Atari m68k platformokon. 5.1. Milyen �zemm�dok �llnak rendelkez�sre Atari m68k platformokon? Sz�nek 320x200 320x480 640x200 640x400 640x480 896x608 1280x960 ---------+--------------------------------------------------------- 1 bit | sthigh vga2 falh2 tthigh 2 bites | stmid vga4 4 bites | stlow ttmid/vga16 falh16 8 bites | ttlow vga256 ttlow, ttmid �s tthigh m�dokat csak a TT haszn�lja, a vga2, vga4, vga15, vga256, falh3 �s falh16 m�dokat csak a Falcon haszn�lja. Ha a video=xxx kernel opci�val haszn�lod alopci� n�lk�l, a kernel a k�vetkez� sorrendben fogja v�gigpr�b�lni az �zemm�dokat, am�g a hardvernek megfelel� m�dot nem tal�l: � ttmid � tthigh � vga16 � sthigh � stmid Megadhatsz egy �ltalad haszn�lni k�v�nt �zemm�dot is, ha nem szertn�d, hogy a rendszer automatikusan keresse meg az �ltalad k�v�nt �zemm�dot. P�ld�ul a video=vga16 4 bites 640x480 felbont�s� megjelen�t�t ad. 5.2. Egy�b alopci�k az Atari m68k platformokra T�bb alopci� megadhat� a video=xxx param�terrel: � inverse - invert�lja a megjelen�t�t, �gy az el�t�r- �s a h�tt�rsz�nek megcser�l�dnek. �ltal�ban a h�tt�r fekete, de ezzel az alopci�val feh�r lesz. � font - be�ll�tja a sz�veges m�dban haszn�land� karakterk�szletet. Jelenleg csak a VGA8x8, VGA8x16, PEARL8x8 karakterk�szleteket v�laszthatod ki. Az alap�rtelmez�s szerint ha a k�perny� f�gg�leges m�rete kisebb 400 k�ppontn�l, a VGA8x8 karakterk�szletet, egy�bk�nt a VGA8x16 karakterk�szletet haszn�lja. � internal - egy nagyon �rdekes opci�. R�szletesebb inform�ci�k�rt n�zd meg a k�vetkez� fejezetet. � external - mint fenn. � monitorcap - megadja a multisync-ek k�pess�geit. NE haszn�ld fix szinkroniz�ci�val rendelkez� monitor eset�n! 5.3. A bels� alopci�k haszn�lata Atari m68k platformokon Szintakszis: internal:(xres);(yres)[;(xres_max);(yres_max);(offset)] Ez a param�ter n�h�ny kieg�sz�t� bels� video hardver k�pess�g�t hat�rozza meg, mint p�ld�ul az OverScan m�dokat. A (xres) �s a (yres) megadja a k�perny� kiterjesztett dimenzi�it. Ha az OverScan �zemm�dod sz�m�ra fekete keretre van sz�ks�g, az internal: alopci� utols� h�rom argumentum�ba kell �rnod. Az (xres_max) a hardver �ltal enged�lyezett legnagyobb vonalhossz�s�g, az (yres_max) a sorok sz�m�nak maximuma �s az (offset) a k�perny� mem�ria l�that� r�sz�nek a fizikai kezdet�hez viszony�tott eltol�s b�jtokban. Gyakran a kiterjesztett bels� video hardvert k�l�n aktiv�lni kell, ehhez kell a "switches=*" opci�t haszn�lnod. [Megjegyz�s: A szerz� szerene n�mi extra inform�ci�hoz jutni. Az m68k dokument�ci�ja a kernelben nem teljesen vil�gos enn�l a pontn�l, �s neki nincs Atarija! P�ld�k is hasznosak lenn�nek] 5.4. Az Atari m68k platformok k�ls� alopci�inak haszn�lata Szintaxis: external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]] Ez el�gg� �sszetett, �gy ez a dokument�ci� megpr�b�lja amennyire csak lehet �rthet�en elmagyar�zni, de a Szerz� nagyra �rt�keln�, ha valaki �tn�zn�, hogy nem kutyult-e �ssze valamit! :o) Ez az alopci� meghat�rozza, hogy k�ls� video hardvered van (legink�bb egy grafikus k�rty), �s hogyan haszn�lhatod Linux-al. A kernel alap�rtelmez�s szerint a bels� video hardver ismeret�re korl�tozott, �gy neked kell a sz�ks�ges param�terekkel ell�tni, hogy haszn�lhasd a k�ls� video hardvert. K�t korl�toz�s van: �t kell v�ltanod az ind�t�s el�tt abba az �zemm�dba �s amikor boot-olsz, nem v�ltoztathatod meg az �zemm�dokat. Az els� h�rom param�ter mag�t�l �rthet�dik: megadja a k�perny� dimenzi�it k�ppontokban: magass�g (height), sz�less�g (width) �s m�lys�g (depth). A megadott m�lys�gnek 2^n sz�n eset�n a haszn�land� s�kok sz�m�nak kell lennie. P�ld�ul ha a 256 sz�n� megjelen�t�t szeretn�l haszn�lni, a m�lys�gnek 8-at kell megadnod. Ez a k�ls� grafikus hardvert�l f�gg, b�r �gy a hardver k�pess�geire leszel lekorl�tozva. Ezut�n meg kell adnod a kernelnek, hogy szervez�dik a mem�ria - add meg bet�vel az (org) param�tert: � n - hagyom�nyos s�kokat haszn�ljon, teh�t egyik teljes s�k a m�sik ut�n � i - �tlapolt s�kokat haszn�ljon, azaz 16 bit az els� s�kb�l, majd 16 a k�vetkez�b�l, �s �gy tov�bb. Csak a be�p�tett Atari video m�dok haszn�lj�k ezt - �s nem is l�tezik ezt a m�dot t�mogat� grafikus k�rtya. � p - t�m�r�tett k�ppontokat haszn�l, azaz az egym�st k�vet� bitek egy k�ppont �sszes s�kj�t tartalmazz�k. Ez a leggyakoribb megold�s a 256 sz�n� k�perny� megjelen�t�s�re a grafikus k�rty�kon. � t - val�di sz�nt haszn�l, azaz ez val�j�ban t�m�r�tett k�ppontokat haszn�l, de nincs sz�ks�ge sz�n felold� t�bl�ra, mint az egy�b t�m�r�tett k�ppont �zemm�dok eset�ben. Ezek az �zemm�dok �ltal�ban a 24 bites megjelen�t�k - melyek 16.8 milli� sz�nt bocs�tanak rendelkez�sedre. Hab�r, monokr�m �zemm�dok eset�ben az (org) param�ternek m�s jelent�se van: � n - hagyom�nyos sz�neket haszn�l, azaz 0=feh�r, 1=fekete � i - invert�lt sz�neket haszn�l, azaz 0=fekete, 1=feh�r A k�vetkez� fontos video hardver elem a videomem�ria b�zisc�me. Ezt a (scrmem) param�ter adja meg, hexadecim�lis, 0x prefix-el rendelkez� form�ban. Ezt a k�ls� video hardvereddel kapott dokument�ci�b�l kell megkeresned. A k�vetkez� param�ter, az (scrlen) megadja a kernel sz�m�ra a vide�mem�ria m�ret�t. Ha ez hi�nyzik, az (xres), (yres) �s a (depth) param�terekb�l sz�mol�dik. Manaps�g nem �rdemes ide �rt�ket �rni. Hagyd �resen, �s t�gy k�t kett�spontot egym�s mell�, ha meg kell adnod a (vgabase) param�tert, k�l�nben hagyd az eg�szet. A (vgabase) param�ter opcion�lis. Ha nincs megadva, a kernel nem tudja �rni �s olvasni a video hardver sz�n regisztereit, ez�rt neked kell be�ll�tani a megfelel� sz�neket a Linux ind�t�sa el�tt. Azonban ha a k�rty�d VGA kompatibilis, megadhatod a VGA regiszterek c�m�t, �gy m�r meg tudja v�ltoztatni a sz�n felold� t�bl�kat. Az ehhez sz�ks�ges inform�ci�t a k�ls� video hardver dokument�ci�j�ban tal�lod meg. Hogy tiszt�zzuk, a (vgabase) a b�zis c�m, azaz a 4k-hoz igaz�tott c�m. A sz�nregiszterek �r�s�hoz, olvas�s�hoz a kernel a (vgabase) + 0x3c7 �s a (vgabase) + 0x3c9 k�z�tti c�mtartom�nyt haszn�lja. Ezt a param�tert hexadecim�lisan kell megadni, �s el� kell �rni a 0x prefixet, ugyan�gy, mint a (scrmem) eset�ben. A (colw) csak akkor b�r jelent�ssel, ha a (vgabase) param�ter is adott. Ez mondja meg a kernelnek, hogy mekkor�k a sz�n regiszterek, azaz mennyi az egy sz�nre jut� bitek sz�ma (piros/z�ld/k�k). Az alap�rtelmezett �rt�k �ltal�ban 6 bit, de gyakori a 8 bit haszn�lata is. A (coltype) a (vgabase) param�terrel egy�tt haszn�latos, megadja a grafikus k�rty�d sz�n regiszter modelj�t a kernelnek. Jelenleg a vga �s a mv300 t�pusok t�mogatottak. A vga az alap�rtelmezett. A (xres_virtual) csak a ProMST/ET4000 k�rty�k eset�n sz�ks�ges, ahol a fizikai vonalhossz�s�g k�l�nb�zik a l�that�t�l. A ProMST eset�n 2048-at kell megadnod, szemben az ET4000-el, ahol a video k�rtya inicializ�l�s�t�l f�gg. 6. Framebuffer eszk�z�k haszn�lata Amiga m68k platformokon Ez a fejezet bemutatja az Amig�k opci�it, melyek nagyon hasonl�tanak az Atari m68k platformokra m�r bemutatottakhoz. 6.1. Mely �zemm�dok haszn�lhat�k Amiga m68k platformokon? Ez az Amig�ban haszn�lt chipsett�l f�gg. H�rom f� t�pusa van: OCS, ECS �s AGA, melyek haszn�lj�k a sz�nes framebuffer eszk�zt. � NTSC �zemm�dok: � ntsc - 640x200 � ntsc-lace - 640x400 � PAL �zemm�dok: � pal - 640x256 � pal-lace - 640x512 � ECS �zemm�dok: - 2 bites sz�nek ECS-n, 8 bites sz�nek csak az AGA chipseteken. � multiscan - 640x480 � multiscan-lace - 640x960 � euro36 - 640x200 � euro36-lace - 640x400 � euro72 - 640x400 � euro72-lace - 640x800 � super72 - 800x300 � super72-lace - 800x600 � dblntsc - 640x200 � dblpal - 640x256 � dblntsc-ff - 640x400 � dblntsc-lace - 640x800 � dblpal-ff - 640x512 � dblpal-lace - 640x1024 � VGA �zemm�dok: - 2 bites sz�nek ECS-n, 8 bites sz�nek csak az AGA chipseteken. � vga - 640x480 � vga70 - 640x400 6.2. Az Amiga m68k platformok alopci�i Ezek az Atari m68k alopci�khoz hasonl�ak. �gy mint: � depth - megadja a k�ppont bitm�lys�g�t. � inverse - ugyanazt teszi, mint az Atari-n. � font - ugyanazt teszi, mint az Atari-n, b�r a VGA8x8 karakterk�szlet helyett a PEARL8x8 karakterk�szletet haszn�lja, ha a k�perny� m�rete 400 k�ppontn�l keskenyebb. � monitorcap - meghat�rozza a multisync monitorok k�pess�geit. Ne haszn�ld �lland� szinkroniz�ci�s id�vel rendelkez� monitorok eset�ben! 6.3. A t�mogatott Amiga grafikus kieg�sz�t� k�rty�k � Phase5 CyberVision 64 (S3 Trio64 chipk�szlet) � Phase5 CyverVision 64-3D (S3 ViRGE chipk�szlet) � MacroSystems RetinaZ3 (NCR 77C32BLT chipk�szlet) � Helfrich Piccolo, SD64, GVP ECS Spectrum, Village Tronic Picasso IIII+ �s IV/ (Cirrus Logic GD542x/543x) 7. Framebuffer eszk�z�k haszn�lata Macintosh m68k platformokon Jelenleg az implement�lt framebuffer eszk�z csak a Linux el�tt a MacOS alatt kiv�lasztott �zemm�dot t�mogatja, valamint az 1, 2, 4 �s 8 bites sz�nes �zemm�dokat. A framebuffer alopci�kat a k�vetkez� szintaxis szerint v�laszthatod ki: video=macfb:<font>:<inverse> V�laszhatsz VGA8x8, VGA8x16 �s 6x11, stb. karakterk�szleteket. Az inverse opci� seg�ts�g�vel invert�lhatod a video jelet. 8. Framebuffer eszk�z�k haszn�lata PowerPC platformokon A szerz� szeretne b�vebb inform�ci�t kapni a framebuffer eszk�z�k ezen a platformon t�rt�n� haszn�lat�r�l. 9. Framebuffer eszk�z�k haszn�lata Alpha platformokon 9.1. Milyen �zemm�dokat haszn�lhatok? Egyenl�re kiz�r�lag a TGA PCI k�rtya �ll rendelkez�sre - ami csak 80x30-at tud 640x480-as felbont�sban, 8, vagy 24/32 biten. 9.2. Mely grafikus k�rty�k m�k�dnek a framebuffer eszk�zzel? A k�vetkez� felsorol�s tartalmazza az �sszes olyan grafikus k�rty�t, melyekr�l ismert, hogy m�k�dnek Alpha platformon: � DEC TGA PCI (DEC21030) - 640x480 @ 8 bites vagy 24/32 bites v�ltozatok 10. Framebuffer eszk�z�k haszn�lata SPARC platformokon 10.1. Mely grafikus k�rty�k m�k�dnek a framebuffer eszk�zzel? A k�vetkez� felsorol�s tartalmazza az �sszes olyan grafikus k�rty�t, melyekr�l ismert, hogy m�k�dnek SPARC platformon: � MG1/MG2 - SBus vagy Sun3-ba intergr�lva - max. 1600x1280 @ mono (BWtwo) � CGthree - hasonl� az MG1/MG2-h�z, de t�mogat sz�neket is - maxim�lis felbont�s? � GX - SBus - max. 1152x900 @ 8bit (CGsix) � TurboGX - SBus - max. 1152x900 @ 8 bit (CGsix) � SX - kiz�r�lag SS10/SS20 - max. 1280x1024 @ 24 bit - (CGfourteen) � ZX(TZX) - SBus - 24bites 3D gyors�t� k�rtya - maxim�lis felbont�s? (Leo) � TCX - AFX - kiz�r�lag Sparc 4-hez - max. 1280x1024 @ 8bit � TCX(S24) - AFX - kiz�r�lag Sparc 5-h�z- max. 1152x900 @ 24bit � Creator - SBus - max. 1280x1024 @ 24bit (FFB) � Creator3D - SBus - max. 1920x1200 @ 24bit (FFB) � ATI Mach64 - gyors�tott 8/24bites kiz�r�lag Sparc64 PCI-hoz Haszn�lhatsz PROM-ot a kimen� karakterek megjelen�t�s�re a k�perny�n, vagy a soros konzolon. N�zd meg a Sparc Frame Buffer GYIK-et a http://c3-a.snvl1.sfba.home.com/Framebuffer.html 10.2. A framebuffer eszk�z�k be�ll�t�sa A make config alatt v�lasztanod kell, hogy a promcon-t �s/vagy az fbcon-t ford�tod bele. V�laszthatod mindkett�t, de ekkor kernel flag- ekkel kell kiv�lasztanod az eszk�zt. Mindig az fbcon az els�dleges, ha nem �ll�tod be az els�dlegest. Ha a promcon nincs kiv�lasztva, az ind�t�skor a dummycon-ra mutat alap�rtelmez�s szerint. Ha a promcon ki van v�lasztva, ezt az eszk�zt haszn�lja. Amint a buszok elindultak, ha az fbcon bele van ford�tva, a kernel megkeresi a fenti framebuffereket �s az fbcon seg�ts�g�vel haszn�lja azokat. Ha nincs framebuffer eszk�z, a promcon akt�v�l�dik. �me a kernel opci�k: video=sbus:opci�k ahol az "opci�k" vessz�vel elv�laszott lista: nomargins a marg�t 0,0-ra �ll�tja margins=12x24 a marg�t 12,24-re �ll�tja (az alap�rtelmezettet a felbont�sb�l sz�molja ki) off ne haszn�lja az SBus/UPA framebuffer eszk�z�ket font=SUN12x22 egy meghat�rozott karakterk�szletet haszn�ljon �gy p�ld�ul, ha video=sbus:nomargins,font=SUN12x22 ind�tod a g�ped, csinos, gyors konzolt kapsz 96x40-es sz�veges fel� bont�ssal, ami hasonl�t a Solaris konzolhoz, de szinekkel �s olyan virtu�lis termin�lokkal, mint az Intel platformokon. Ha a SUN12x22 karakterk�szletet szeretn�d haszn�lni, enged�lyezned kell a make config alatt (tiltsd le a fontwidth != 8 opci�t). A gyors�tott framebufferek b�rmely 1 �s 16 k�ppont k�z�tti sz�less�ggel rendelkez� karakterk�szletet meg tudnak jelen�teni, m�g a buta framebuffer-ek csak a 4, 8, 12 �s 16 k�ppont sz�less�g� karaktereket t�mogatja. Aj�nlatos friss consoletools csomagot beszerezned. 11. Framebuffer eszk�z�k haszn�lata MIPS platformokon Ezen a platformon nincs sz�ks�g beavatkoz�sra, minden automatikusan m�k�dik. Az Indy-k bedr�tozva 160x64-es konzolt haszn�lnak. Hab�r l�p�seket tettek, hogy �t�rj�k ezen Indy-k sz�m�ra a konzol k�dj�t, �gy tartsd rajta a szemed ezen a fejezeten. 12. Framebuffer eszk�z�k haszn�lata ARM platformokon 12.1. Netwinders A Netwinder-ek sz�m�ra (melyek a ARM SA110 RISC chipet haszn�lj�k - a szeretnival� British processzort), k�tf�le Cyber2000 framebuffer meghajt� �ll rendelkez�sre - egy a 2.0.x-es kernelhez, a m�sik a 2.2.x-es kernelek sz�m�ra. Nagyon nyilv�nval� mindk�t kernel sz�m�ra e meghajt� haszn�lat�nak enged�lyez�se, b�r a r�gebbi verzi�ba a sz�nm�lys�g �s a felbont�s bele van dr�tozva, �m j� h�r, hogy az �jabb verzi� a 2.2.x-es kernelek eset�ben sokkal rugalmasabb, de jelenleg m�g k�pl�keny �llapotban van �s m�g fejleszt�s alatt �ll. Ahhoz, hogy fusson, legal�bb a kernel forr�sod ARM port-j�val j�v� dokument�ci�t is el kell olvasnod. A Netwinder-ek VGA kompatibilis chipk�szletet haszn�lnak, de sajnos senki nem portolta m�g a vgafb-t. Ez tal�n megt�rt�ni valamikor, ha valaki egy ideig a kez�ben tarthatn�. [�n megtenn�m, ha valaki adna egy NetWindert, hogy elj�tszhassak vele] 12.2. Acorn Archimedes Az Acorn-oknak az 1.9.x-es Linux napok �ta mindig van framebuffer t�mogat�sa. Hab�r az Acornfb meghajt� a 2.2.x-ben teljesen �j, mivel az �ltal�nos framebuffer interf�sz megv�ltozott a 2.1.x-es kernelek fejleszt�se sor�n (ami term�szetesen a 2.2.x lett). Mint kor�bban, egyszer� �gy a meghajt� aktiv�l�sa, a sz�nm�lys�g �s a felbont�s be�ll�t�sa. 12.3. Egy�b ARM portok (SA 7110s et. al) Meglep� m�don, m�g a Psion 5 �s a Geofox is rendelkezik framebuffer meghajt�val! Mes�lt�k, hogy m�g a pingvin is sz�pen megjelenik [Valaki megdobhatna egy Psion 5-el!] 13. T�bb fejes framebufferek haszn�lata A dokument�ci� ezen r�sze Frederick A. Niles-nek k�sz�nhet�, aki fenntartja az itt megjelen� inform�ci�k jog�t. 13.1. Bevezet�s E dokument�ci� f� c�lja, hogy bevezessen a k�tfejes Linux konfigur�ci� futtat�s rejtelmeibe. B�r ez a folyamat nagyon egyszer�, t�bb probl�ma fell�phet, amik azt�n balul �thetnek ki. A p�lda, amire koncentr�lok, egy X szerver futtat�sa lesz a m�sodik monitoron. Ezt sz�pnek tal�lom, mivel sokan tal�lhatnak r�gi, nagy 19-21 inches fix frekvenci�j� monitorokat, amiket kidobnak az emberek, mert nem tudj�k haszn�lni. �gy elind�thatod a rendszered egy kis multisync monitorral, �s haszn�lhatod X alatt a sz�p nagy monitort. K�rlek �rtsd meg, hogy a k�t fejes t�mogat�s jelenleg fejleszt�s alatt �ll, �gy gyorsan v�ltozik ez az inform�ci�. Ebben a dokument�ci�ban b�rmi lehet m�r most elavult, vagy egyszer�en helytelen m�r most, amikor ezt olvasod. ** FIGYELEM ** Ez a dokument�ci� az XFree86 4.0 kiad�sa el�tt k�sz�lt. Ha az XFree86 4.0 megjelen�se ut�n olvasod ezt, m�r sokminden megv�ltozott. Pr�b�ld meg beszerezni e dokument�ci� �jabb v�ltozat�t. 13.2. Visszajelz�s A dokument�ci�val kapcsolatos visszajelz�seket term�szetesen �r�mmel fogadjuk. A vissyajelz�seitek n�lk�l nem is l�tezhetne ez a dokument�ci�. �gy k�rlek, minden hozz�f�znival�t, megjegyz�st, kritik�t k�ldj a k�vetkez� c�mre: Frederick.A.Niles@gsfc.nasa.gov. 13.3. K�zrem�k�d�k A k�vetkez� emberek m�k�dtek k�zre e mini-HOGYAN elk�sz�t�s�ben. * Petr Vandrovec vandrove@vc.cvut.cz * Andreas Ehliar ehliar@lysator.liu.se (x2x) * Marco Bizzarri m.bizzarri@icube.it (t�bb X szerver) 13.4. Lemond�s a szabv�nyokr�l Semmi k�telezetts�get nem fogadunk el e dokument�ci� tartalm�val kapcsolatban. Az elk�pzel�seket, p�ld�kat �s egy�b r�szeit saj�t felel�ss�gedre haszn�lhatod. Mivel ez egy �jdons�lt dokument�ci�, tartalmazhat hib�kat �s el�r�sokat, amik t�nkretehetik a rendszered. Haszn�ld ez�rt k�l�nleges k�r�ltekint�ssel �s b�r ez el�g szokatlan, nem v�llalok semmi felel�ss�get, mely e dokument�ci� haszn�lat�nak k�vetkezm�nyeib�l eredne. 13.5. Copyright Inform�ci�k A dokument�ci� ezen r�sz�t (c)1999 Frederick Niles m�sol�sjog v�di, �s a k�vetkez� felt�telek mellett terjeszthet�: * A Linux HOWTO dokument�ci�k eg�szben, vagy r�szeiben reproduk�lhat�k terjeszthet�k, ak�rmilyen fizikai vagy elektronikus m�di�n, am�g ez a copyright figyelmeztet�s v�ltozatlanul szerepel az �sszes m�solaton. Kereskedelmi terjeszt�s enged�lyezett �s b�tor�tott, b�r a szerz� szeretne �rtes�lni az ily m�don terjesztett p�ld�nyokr�l. * Minden ford�t�s, lesz�rmazott munk�k, vagy �sszegy�jt�tt munk�k b�rmely Linux HOWTO dokument�ci� eset�n e copyright figyelmeztet�ssel egy�tt kell, hogy terjeszt�djenek. �gy, nem k�sz�thetsz egy Linux HOWTO-b�l lesz�rmaztatott munk�t, �s nem vethetsz ki r� terjeszt�s beli korl�toz�st. Kiv�telt lehet k�rni bizonyos k�r�lm�nyek k�z�tt e szab�lyok al�l, vedd fel a kapcsolatot a Linux HOWTO koordin�torral a lent szerepl� c�men. * Ha k�rd�sed van, vedd fel a kapcsolatot a Linux HOWTO koodin�torral, a linux-howto@sunsite.unc.edu c�men 13.6. Milyen hardver t�mogatott? A legt�bb videok�rtya felt�telezi, hogy � az egyetlen a rendszerben �s �lland� c�mmel els�dleges megjelen�t� k�rty�nak van be�ll�tva. Van azonban n�h�ny kiv�tel: * Matrox k�rty�k: Ez mag�ba foglalja a Matrox Millennium, Matrox Millennium II, Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox Mystique G200, Matrox Millennium G200 �s Matrox Marvel G200 video k�rty�kat. * MDA: Ide soroljuk a monokr�m Hercules grafikus adaptereket t�bb m�ssal egyetemben. Ez csak sz�veges m�sodik fej t�mogat�st ny�jt. Megjegyz�s: csak a m�sodik k�rty�nak kell a fentiek valamelyik�nek lennie. 13.7. Kereskedelmi t�mogat�s Ez a mini-HOGYAN els�sorban szabad szoftverhez k�sz�lt. Azonban l�tezik n�h�ny kereskedelmi X szerver, ami rendelkezik t�bb-fejes t�mogat�ssal. Ezek k�z� tartozik a Metro Link (www.metrolink.com) Metro-X szervere �s az Xi Graphics (www.xig.com) Accelerated-X szervere. 13.8. Az �sszes cucc beszerz�se. A k�vetkez� patch-ekre �s programokra lesz sz�ks�ged: * "fbset" program pr�b�ld itt: http://www.cs.kuleuven.ac.be/ geert/bin/ (megjegyz�s: ez a program a RedHat 6.0-al j�n) * "fbaddon" Matrox dual head patch-ek Linux kernelhez pr�b�ld itt: ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/ * "con2fb" program pr�b�ld itt: ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/ * X11 frame buffer szerver, XF86_FBDev. Ez az XFree86 3.3.1 szabv�nyos r�sze 13.9. Kezdj�nk bele Az els� dolog, amit tenned kell, hogy alkalmazod a Linux forr�s m�solat�ra az "fbaddon" patch-et. Ezut�n be kell konfigur�lnod a kernelt, majd bekapcsolni a frame buffer t�mogat�st. Ha Matrox k�rty�d van, kapcsold be a Matrox �ltal�nos�tott gyors�tott meghajt� t�mogat�s�t �s a k�rty�dnak megfelel� t�pust is add meg. Ne kapcsold be a VESA framebuffer t�mogat�st. Csak �tk�z�st okoz. Kapcsold be (term�szetesen) a t�bbfejes t�mogat�st. K�sz�tsd el a kernelt �s ind�tsd �jra a rendszert. Most fel kell telep�tened az "fbset" programot �s gondosan �t kell olvasnod az �sszes vele kapcsolatos dokument�ci�t, hogy hogyan adhatod meg a be�ll�t�sokat. Er�sen javasolt az "/etc/fb.modes" �llom�ny haszn�lata, ha m�r eld�nt�tted, milyen be�ll�t�sokat haszn�lsz. Az fbset program tartalmaz egy Perl szkriptet, amivel �talak�thatod az XF86Config �llom�nyodat fb.modes be�ll�t�sokk�. Az A �s B f�ggel�kben csatoltam a saj�t octave/Bourne parancs�rtelmez� szkriptemet, hogy �talak�thasd az XF86Config �llom�nyodat. Hozz� kell szoknod a framebuffer eszk�z haszn�lat�hoz a monitorodon, meg kell �rtened minden olyan dolgot, amire a ugyan els� pillant�sra nincs sz�ks�ged a t�bbfejes t�mogat�shoz, de k�s�bb rengeteg fejf�j�st takar�that meg neked. Arra fogok �szpontos�tano a magyar�zatomban, hogy a m�sodik monitoron elinduljon egy X, ut�na b�rmi m�s konfigur�ci� be�ll�t�sa nyilv�nval� r�szhalmaza lesz a m�r elv�gzett elj�r�soknak. 13.9.1. Mozduljunk egy konzollal od�bb... Ford�tsd le a "con2fb" programot. Ha argumentum n�lk�l futtatod, a k�vetkez� haszn�lati utas�t�st kapod: "usage: con2fb fbdev console". �gy a p�lda utas�t�s "con2fb /dev/fb1 /dev/tty6" lesz, hogy �thelyezd a hatodik virtu�lis konzolt a m�sodik monitorra. Haszn�ld a CTRL-ALT- F6 billenty�zet kombin�ci�t a konzolra v�lt�shoz, �s l�m, t�nyleg a m�sodik monitoron t�nik fel. 13.9.2. Az "fbset" program haszn�lata a m�sodik monitor be�ll�t�s�hoz Csak annak a monitornak a be�ll�t�sait v�ltoztatja meg az "fbset" program, amelyik k�perny�n futtatod. Ez�rt �vatosan kell b�nnod az "-fb" kapcsol�val a m�sodik monitoron. Bizonyos esetekben ha nem teszel semmi m�st, legal�bb a virtu�lis f�gg�leges felbont�st szeretn�d az aktu�lis f�gg�leges felbont�ss� tenni. pl. "fbset -fb /dev/fb1 -vyres 600" Ez rettenetesen lelass�tan� a sz�veges �zemm�dot, de az X visszatasz�t� lenne e n�lk�l. 13.9.3. Az X be�ll�t�sa framebuffer t�mogat�s�ra. A framebuffer.txt �llom�ny ezt n�lam sokkal jobban elmagyar�zza, de az�rt �lljon itt k�t nagyon fontos pont. Gy�z�dj meg r�la, hogy �t�ll�tottad az "X" l�ncot, hogy az "XF86_FBDev"-re mutasson. Ezut�n hozz� kell adnod egy monitor szekci�t az XF86Config �llom�nyodban a framebuffer eszk�z sz�m�ra. �me egy p�lda: # A framebuffer szerver Section "Screen" Driver "fbdev" Device "Millennium" Monitor "NEC MultiSync 5FGp" Subsection "Display" Depth 8 Modes "default" ViewPort 0 0 EndSubsection Subsection "Display" Depth 16 Modes "default" ViewPort 0 0 EndSubsection Subsection "Display" Depth 24 Modes "default" ViewPort 0 0 EndSubsection Subsection "Display" Depth 32 Modes "default" ViewPort 0 0 EndSubsection EndSection A "default" �zemm�dokat haszn�lom, mivel nem hiszem, hogy b�rmely m�s �rt�k m�k�dne a Matrox framebuffer eset�ben. 13.9.4. Pr�b�ld meg elind�tani az X szervert a m�sodik monitoron. �ll�tsd a FRAMEBUFFER v�ltoz�t a m�sodik framebufferre. "export FRAMEBUFFER=/dev/fb1" vagy "setenv FRAMEBUFFER /dev/fb1" �gy kell elind�tanod az X szervert, hogy egyar�nt egyezzen a kiv�lasztott sz�nm�lys�g �s ugyanazon a monitoron jelenjen meg, ahonnan az X szervert ind�tottad. pl. "startx -- :0 -bpp 16 vt06" Ez a p�lda elind�tja a "nulladik" X szervert a hatos virtu�lis konzolon 16 bites sz�nnel. Haszn�ld az ":1"-et a m�sik X szerver ind�t�s�hoz m�sik framebufferen, �gy egyszerre k�t X szervered futhat. 13.10. �sszefoglal�s A m�sodik monitoron val� X szerver futtat�s�nak fontosabb l�p�sei a k�vetkez� pontokban foglalhat� �ssze: * Szerezz kernel patch-et, fbset, �s con2fb programokat. * Patch-eld meg a kernelt, konfigur�ld, �p�tsd �jra �s ind�tsd �jra a g�pet. * Add hozz� az XF86_FBDev szekci�t az XF86Config �llom�nyhoz �s �ll�tsd be az X l�ncot. Minden esetben, amikor �jraind�tod a g�ped: * Helyezz �t egy konzolt. pl. "con2fb /dev/fb1 /dev/tty6" * �ll�tsd be a param�tereket pl. "fbset -fb /dev/fb1 1280x1024" * �ll�tsd be a FRAMEBUFFER v�ltoz�t. pl. "export FRAMEBUFFER=/dev/fb1" * Ind�tsd el az X szervert. pl. "startx -- -bpp 16 vt06" Automatiz�lhatod ezt minden egyes �jraind�t�s alkalm�val parancs�rtelmez� alias haszn�lat�val. Alias-nak kell lennie �s nem parancs�rtelmez� szkriptnek, mivel fel kell insmernie az aktu�lis konzol sz�m�t. Ez az �n C-parancs�rtelmez� alias-om, ami az X-et a m�sodik, r�gz�tett frekvenci�j� monitoromon ind�tja: alias startxfb = " setenv FRAMEBUFFER /dev/fb\!*; # be�ll�tja a k�rnyezeti v�ltoz�t a parancs argumentum�ra. con2fb $FRAMEBUFFER /dev/$tty; # Elmozd�tja az fb-t az aktu�lis tty-re. fbset -fb $FRAMEBUFFER 1280x1024@62; # Kedvenc az /etc/fb.modes-b�l. startx -- :\!* -bpp 16 vt0`echo $tty | cut -dy f 2`' # X ezen a tty-n. " A .cshrc �llom�nyomban ez mind ugyanabban a sorban tal�lhat� egy�tt, a megjegyz�sek n�lk�l, de a k�nnyebb olvashat�s�g �rdek�ben sort�r�st tettem bele, valamint megjegyz�seket sz�rtam be magyar�zat gyan�nt. A framebuffer sorsz�m�t argumentumk�nt �tadom neki �s m�r indul is az X. Nem vagyok biztos benne, hogy hogyan kell ugyanezt az alias-t bash alatt elk�sz�teni. Nem tudom, hogyan kell meghat�rozni az aktu�lis tty-t, vagy hogyan kell az argumentumokat �tadni a bash-nek. Ha valaki elmondan�, besz�rn�m ide. Hab�r haszn�lhatod a "tty" utas�t�st, hogy megtudd az aktu�lis VT nev�t �s egyszer�en k�t k�l�n alias-t adsz mindk�t X szervernek. 13.11. Egy�b megjegyz�sek �s probl�m�k * Az "fbset" �s a "startx" egyar�nt ugyanarr�l a framebuffer-r�l kell, hogy fussanak. Ez a s�lyos korl�toz�s g�tat szab a szkriptekb�l t�rt�n� automatiz�l�snak. * Az XFree86 4.0-ben "megfelel�" t�bb-fejes t�mogat�s lesz, de a 3.3.1 nem rendelkezik ezzel. Futtathatsz k�t k�l�n szervert 3.3.1-el, �s haszn�lhatod az x2x-et, hogy kapcsolgass k�z�tt�k, hab�r... (l�sd a k�vetkez� pontot) * Az inakt�v framebuffer a haszn�lata utols� k�pkock�j�t tartalmazza, nem fog friss�lni. * A monitor, ami nincs kiv�lasztva, nem �rzi meg az �llapot�t, ha nem akt�v (De az�rt �ltal�ban megteszi.). * Geert Uytterhoeven (a framebuffer karbantart�ja) �s Linus Torvalds nem �rtenek egyet a jelenlegi "framebuffer per VT" t�bbfejes konzol t�mogat�s v�ltoztat�sban (pl. fbaddon), �gy lehet, hogy soha nem lesz a kernel fa f� csap�sa ez a t�ma. (Ezt harmadk�zb�l hallottam, �s elk�pzelhet�, hogy semmi sem igaz bel�le.) * Ha "megszeged a szab�lyokat" �s az X szervert m�sik monitorr�l ind�tod ("startx" futtat�sa), a g�p cs�ny�n �ssze fog omlani a billenty�zet �s az eg�r bemenet�nek �sszekevered�s�vel. * A framebuffer.txt dokument�ci� a kernel forr�sban elmagyar�zza, hogy az XF86Config �llom�ny Modeline be�ll�t�s�t k�zvetlen�l is haszn�lhatod az X szerver futtat�s�hoz. A Matrox framebuffer haszn�lata �gy l�tszik arra k�nyszer�ti az X szervert, hogy szabaduljon meg mindezekt�l. �gy egy id�ben csak egy ("default") be�ll�t�sod lehet (ugyanaz, mint sz�veges �zemm�dban). * Az XF86_FBDev nem gyors�tott. Hab�r l�tezik patch a gyors�tott Matrox t�mogat�sra a http://www.in-berlin.de/User/kraxel/xfree86/ c�men. 13.11.1. Az "�t�s init szint" (azaz az xdm/gdm) m�k�d�sre b�r�sa M�g nem tal�ltam r� megold�st, hogy hogyan lehetne �t�s init szintben elind�tani a g�pet k�t monitoros konfigur�ci�val (�s tulajdonk�ppen a szerver megvan a m�sodik monitoron vagy mindkett�n). M�g el�g egyszer�nek t�nik egy �j sor hozz�ad�sa a gdm/xdm Xservers �llom�ny�hoz, az a megk�t�s, hogy ugyanarr�l a framebuffer-r�l kell ind�tanod az X szervert, megakad�lyozza a nyilv�nval� megold�st a m�k�d�sben. Ha valaki tal�l r� megold�st, k�rem, k�ldje el E-mail-ben nekem �s beillesztem ide. 13.11.2. Az x2x program haszn�lata. L�tezik egy aranyos kis program, az x2x, ami X szerverek k�z�tt kapcsolgat neked, ha a k�perny� sz�l�hez �rsz. A program legut�bbi ismert honlapja a http://ftp.digital.com/pub/DEC/SRC/x2x/ c�men volt. Ez egy opcion�lis Debian csomag is egy�ttal. M�g nem pr�b�ltam, de t�bb felhaszn�l� sikeres haszn�latot jelzett. 13.11.3. Egy�b hasznos utas�t�sok Ezek l�tez� Linux utas�t�sok, amik meg�rdemlik, hogy az ember eml�kezzen r�juk, amikor t�bbfejes konfigur�ci�val k�zd (k�l�n�sen, ha szkripteket �r). * A "chvt" lehet�v� teszi a virtu�lis termin�lok k�z�tti v�lt�st. * Az "openvt" �j virtu�lis termin�lon (VT)ind�t programot. * A "tty" visszaadja az aktu�lis termin�l nev�t. 13.11.4. A. F�ggel�k - Octave cvtmode.m szkript (jegyezz�k meg a bpp be�ll�t�st) #!/usr/bin/octave -q bpp = 16; DCF = sscanf(argv(1,:), "%f"); HR = sscanf(argv(2,:), "%f"); SH1 = sscanf(argv(3,:), "%f"); SH2 = sscanf(argv(4,:), "%f"); HFL = sscanf(argv(5,:), "%f"); VR = sscanf(argv(6,:), "%f"); SV1 = sscanf(argv(7,:), "%f"); SV2 = sscanf(argv(8,:), "%f"); VFL = sscanf(argv(9,:), "%f"); pixclock = 1000000 / DCF; left_margin = HFL - SH2; right_margin = SH1 - HR; hsync_len = SH2 - SH1; # 3) f�gg�leges id�k: upper_margin = VFL - SV2; lower_margin = SV1 - VR; vsync_len = SV2 - SV1; RR = DCF / (HFL * VFL) *1e6; HSF = DCF / HFL * 1e3; printf("mode \"%dx%d\"\n",HR,VR); printf(" # D: %3.2f MHz, H: %3.2f kHz, V: %2.2f Hz\n", DCF, HSF, RR); printf(" geometria %d %d %d %d %d\n", HR, VR, HR, VR, bpp); printf(" id�k %d %d %d %d %d %d %d\n", ... pixclock, left_margin, right_margin, ... upper_margin, lower_margin, ... hsync_len, vsync_len); printf("endmode\n"); 13.11.5. B. F�ggel�k - Borne Shell szkript "cvtfile" (Ez h�vja meg az octave szkriptet, a "cvtmode"-t) #!/bin/sh # Shell szkript, mely �talak�tja az XF86Config �llom�nyt fb.modes �llom�nny�. # A cvtmode.m octave szkriptet haszn�lja if [ -z $1 ]; then FILE=/etc/X11/XF86Config else FILE=$1 fi i=1 LEN=`grep Modeline $FILE | wc -l` while expr $i \< $LEN > /dev/null ; do CURLINE=`grep Modeline $FILE | cut -d'"' -f 3-20 | head -$i | tail -1 ` ./cvtmode.m $CURLINE echo " " i=`expr $i + 1` done 14. Karakterk�szletek haszn�lata �s v�lt�sa A kbd-0.99 csomagra van sz�ks�ged ahhoz, hogy v�ltani tudj a karakterk�szletek k�z�tt. A ftp://ftp.win.tue.nl/pub/linux/utils/kbd c�mr�l szerezheted ezt be. A kbd-0.99 csomag let�lt�s�nek �s telep�t�s�nek nagy el�nye, hogy be tudsz t�lteni nemzetk�zi karaktereket is (pl. az Euro szimb�lumot) a konzol eszk�z�dre (Az a minimum, hogy a h�rom legfontosabb szimb�lumot tartalmazza a billenty�zetem, a doll�r jelet, az Angol font szimb�lumot �s az Euro jelet!). 15. Konzol m�dok v�lt�sa Ahhoz, hogy �zemm�dot tudj v�ltani (azaz 640x480, 800x600, stb), az fbset programra van sz�ks�ged (jelenleg az fbset-19990118.tar.gz) - ftp-vel megleled az al�bb tal�lhat� c�men: http://www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz Teljes utas�t�sk�szlettel �rkezik a haszn�lat�t illet�en. 16. Az X11 FBdev meghajt� �zembe helyez�se Ha nem 3.3.3.1-es vagy k�s�bbi XFree86-ot haszn�lsz, s�rg�sen friss�tsd legal�bb 3.3.3.1-es XFree86-ra, ez tartalmazza a framebuffer eszk�z�k sz�m�ra az FBdev X meghajt�t. Egy�bk�nt k�vesd az al�bb tal�lhat� l�p�seket a let�lt�shez, vagy k�sz�tsd el a saj�t FBdev meghajt�dat a r�gebbi XFree86 verzi�khoz, mint a 3.3.2, vagy a 3.3.3, stb. Menj a http://www.xfree86.org c�mre, �s t�ltsd le a legfrisebb XServers forr�s arh�vumot, t�m�r�tsd ki �s konfigur�ld be a meghajt�kat a k�vetkez� l�p�seket k�vetve: � Szerkeszd az xc/config/cf/xf86site.def �llom�nyt, t�r�ld a "#define for XF68FBDevServer" megjegyz�st � Kommentezz ki minden FB_VISUAL_STATIC_DIRECTCOLOR referenci�t, mivel ezek val�tlanok, �s t�bb� nem haszn�latosak. Ha XFree86 3.3.3.1-et haszn�lsz, mincs sz�ks�g erre a l�p�sre - mivel m�r elt�vol�tott�k �ket. � Szerkeszd az xc/programs/Xserver/hw/xfree86/os- support/linux/lnx_io.c �llom�nyt, �s �rd �t a K_RAW-t K_MEDIUMRAW- ra. majd k�sz�tsd el a meghajt�t. Ne agg�dj az m68k referenci�k miatt, ez Intel platformot t�mogat. Ezut�n k�sz�tsd el az eg�sz dolgot - j� id�be beletelik, m�g v�gigmegy a hatalmas forr�sf�n. V�laszthatod azonban, ha id�t szeretn�l megsp�rolni, hogy az al�bbi szerverek valamelyik�r�l beszerzed a megfelel� bin�rist. Vedd figyelembe, hogy ezek A libc5 eset�n a k�vetkez�t haszn�ld: http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.gz glibc2 eset�n pedig a k�vetkez� c�mekr�l t�lts le: http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz http://pobox.com/~brion/linux/fbxserver.html Jelentett�k, hogy az X11 nem m�k�dik n�h�ny grafikus k�rty�val, ha a vesafb lehet�s�g enged�lyezett. Ha ez t�rt�nik, pr�b�ld ki az X11 �j XF86_FBdev meghajt�j�t. Ez a meghajt�, a vesafb-vel egyetemben egyar�nt seg�thet az X11 magasabb grafikus felbont�s�ban val� futtat�s�ban n�h�ny olyan chipk�szlet eset�n, amit nem t�mogatnak a jelenlegi X11 meghajt�k. A p�ld�k az MGA G200-ra vonatkoznak. Ahhoz, hogy bekonfigur�lhasd az XF86_FBdev meghajt�t az X11 rendszeredhez, a k�vetkez�k�ppen kell �tszerkesztened az XF86Config �llom�nyt: Section "Screen" Driver "FBDev" Device "Primary Card" Monitor "Primary Monitor" SubSection "Display" Modes "default" EndSubSection EndSection Ezen k�v�l az XkbDisable param�tert is be kell �ll�tanod a billenty�zet szekci�ban, vagy az XF86_FBDev szervert a '-kb' opci�val h�vd, hogy �gy �ll�thasd be a billenty�zeted, hogy helyesen m�k�dj�n. Ha elfeletkezel az XkbDisable be�ll�t�s�r�l, a k�vetkez� sort kell az .Xmodmap �llom�nyodba tenni, hogy kijav�thasd a billenty�zet hozz�rendel�seket. M�sik lehets�ges megold�sk�nt �tszerkesztheted az xkb �llom�nyod, hogy a lejjebb tal�lhat� list�t t�kr�zze. Ezt jav�tott�k az XFree86 3.3.3.1-ben, �s mindenk�ppen j� �tlet friss�teni erre a verzi�ra, mert van n�h�ny hibajav�t�s �s nem utols�sorban tartalmazza az FBDev-et, az egyik m�r kor�bban eml�tett meghajt�t. ! Keycode settings required keycode 104 = KP_Enter keycode 105 = Control_R keycode 106 = KP_Divide keycode 108 = Alt_R Meta_R keycode 110 = Home keycode 111 = Up keycode 112 = Prior keycode 113 = Left keycode 114 = Right keycode 115 = End keycode 116 = Down keycode 117 = Next keycode 118 = Insert keycode 119 = Delete Lehet, hogy n�mi machin�l�st �g�nyel (pr�b�ld meg �tm�solni az eredeti defin�ci�t az eredeti X11 meghajt�b�l, amit haszn�lt�l �s �rd �t a meghajt� nevet FBDev-re), de tulajdonk�ppen ez az, amire a vesafb X11 meghajt� haszn�lat�hoz sz�ks�ged van. Rem�lhet�leg a grafikus k�rty�k t�mogat�s�nak probl�m�j�t kijav�tj�k az X11 k�s�bbi kiad�saiban. 17. Hogyan alak�thatom �t az XFree86 modeline sorokat framebuffer eszk�z id�kre? Ha feltelep�tetted az XFree86-t (X11) a g�pedre, �s eredm�nyesen haszn�lod, egyszer� dolog �talak�tani a modeline sorokat az XF86Config-b�l a framebuffer eszk�z sz�m�ra sz�ks�ges id�kre. A framebuffer eszk�zh�z a k�vetkez� mez�kre van sz�ks�g: � pixclock - pixel �ra picoszerkundumban � left_margin - time fron sync to picture � right_margin - time from picture to sync � upper_margin - time from sync to picture � lower_margin - time from picture to sync � hsync_len - length of horizontal sync � vsync_len - length of vertical sync Egy XFree86 mode sor a k�vetkez� mez�ket tartalmazza: Modeline "1280x1024" DCF HR SH1 SH2 HFL VR SV1 SV2 VFL N�h�ny egyszer� sz�m�t�s elv�gz�s�re van sz�ks�g az XF86 mode-sorok framebuffer eszk�z id�z�t�sbe val� �tsz�m�t�s�hoz. P�ld�ul meg kell vizsg�lnunk, hogy hogyan alak�thatjuk �t az XF86Config �llom�nyb�l vett modeline sor �rt�keit. Modeline "1280x1024" 110.00 1280 1328 1512 1712 1024 1025 1028 1054 El�sz�r sz�moljuk ki a sz�ks�ges pixclock �rt�ket. Az XFree86 megahertzet haszn�l, m�g a framebuffer eszk�z�k picoszekundumot haszn�lnak (Hogy mi�rt? Nem tudom. ) Ossz el egymilli�t a DFC-vel. P�ld�ul: 1,000,000 / 110.0 = 9090.9091 Most ki kell sz�molnunk a v�zszintes id�ket. � left_margin = HFL - SH2 � right_margin = SH1 - HR � hsync_len = SH2 - SH1 A p�ld�nkban ez a k�vetkez� lenne: � left_margin = 1712 - 1512 = 200 � right_margin = 1328 - 1280 = 48 � hsync_len = 1512 - 1328 = 184 �s most ki kell sz�molnunk a f�gg�leges id�ket. � upper_margin = VFL - SV2 � lower_margin = SV1 - VR � vsync_len = SV2 - SV1 P�ld�ul ez a k�vetkez� lenne: � upper_margin = 1054 - 1028 = 26 � lower_margin = 1025 - 1024 = 1 � vsync_len = 1028 - 1025 = 3 Most felhaszn�lhatjuk ezt az inform�ci�t a framebuffer k�v�nt �zemm�dj�ba �ll�t�s�hoz. P�ld�ul a matroxfb framebufferhez a k�vetkez�re van sz�ks�g: video=matrox:xres:<>,yres:<>,depth:<>,left:<>,right:<>,hslen:<>,upper:<>,lower:<>,vslen:<> A k�vetkez� sort tettem be a /etc/lilo.conf �llom�nyomba: append = "video=matrox:xres:1280,yres:1024,depth:32,left:200,right:48,hslen:184,upper:26,lower:0,vslen:3" Jegyezz�k meg, hogy ebben az esetben a pixclock nem haszn�latos. Csak akkor sz�ks�ges, ha nem szereted az alap�rtelmezett �rajeleket. �tadhatod ezt param�terk�nt is. A pixclock be�ll�t�sa e HOGYAN m�s r�szeiben megtal�lod. 18. Tov�bbi inform�ci�kat keresel? Azoknak akik �rdekl�dnek a framebuffer meghajt�k ir�nt, n�zz�k meg a http://www.csoft.net/~systems/jim/fb.html honlapot a programoz�si inform�ci�k�rt. A franci�ul besz�l�k sz�m�ra megtal�lhat� egy ford�t�s a http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.html