  Framebuffer-HOGYAN
  Alex Buell, alex.buell@tahallah.demon.co.uk
  v1.1, 22 July 1999

  Ez a dokumentci bemutatja a framebuffer eszkzk hasznlatt Linux
  alatt klnbz platformokon. A tbbfejes megjelentk belltsrl
  is tallsz itt tmutatt.
  ______________________________________________________________________

  Tartalomjegyzk



  1. Kzremkdk
  2. Mi is az a framebuffer eszkz?
  3. Milyen elnyei vannak a framebuffer eszkzknek?
  4. Framebuffer eszkzk hasznlata Intel platformokon
     4.1 Mi az a vesafb?
     4.2 Hogy aktvljam a vesafb meghajtt?
     4.3 Milyen VESA mdok llnak rendelkezsemre?
     4.4 Matrox krtyd van?
     4.5 Permedia krtyd van?
     4.6 ATI krtyd van?
     4.7 Mely grafikus krtyk VESA 2.0 kompatibilisek?
     4.8 Lefordthatom a vesafb-t modulknt?
     4.9 Hogyan mdosthatom a kurzort?

  5. Framebuffer eszkzk hasznlata Atari m68k platformokon
     5.1 Milyen zemmdok llnak rendelkezsre Atari m68k platformokon?
     5.2 Egyb alopcik az Atari m68k platformokra
     5.3 A bels alopcik hasznlata Atari m68k platformokon
     5.4 Az Atari m68k platformok kls alopciinak hasznlata

  6. Framebuffer eszkzk hasznlata Amiga m68k platformokon
     6.1 Mely zemmdok hasznlhatk Amiga m68k platformokon?
     6.2 Az Amiga m68k platformok alopcii
     6.3 A tmogatott Amiga grafikus kiegszt krtyk

  7. Framebuffer eszkzk hasznlata Macintosh m68k platformokon
  8. Framebuffer eszkzk hasznlata PowerPC platformokon
  9. Framebuffer eszkzk hasznlata Alpha platformokon
     9.1 Milyen zemmdokat hasznlhatok?
     9.2 Mely grafikus krtyk mkdnek a framebuffer eszkzzel?

  10. Framebuffer eszkzk hasznlata SPARC platformokon
     10.1 Mely grafikus krtyk mkdnek a framebuffer eszkzzel?
     10.2 A framebuffer eszkzk belltsa

  11. Framebuffer eszkzk hasznlata MIPS platformokon
  12. Framebuffer eszkzk hasznlata ARM platformokon
     12.1 Netwinders
     12.2 Acorn Archimedes
     12.3 Egyb ARM portok (SA 7110s et. al)

  13. Tbb fejes framebufferek hasznlata
     13.1 Bevezets
     13.2 Visszajelzs
     13.3 Kzremkdk
     13.4 Lemonds a szabvnyokrl
     13.5 Copyright Informcik
     13.6 Milyen hardver tmogatott?
     13.7 Kereskedelmi tmogats
     13.8 Az sszes cucc beszerzse.
     13.9 Kezdjnk bele
        13.9.1 Mozduljunk egy konzollal odbb...
        13.9.2 Az "fbset" program hasznlata a msodik monitor belltshoz
        13.9.3 Az X belltsa framebuffer tmogatsra.
        13.9.4 Prbld meg elindtani az X szervert a msodik monitoron.
     13.10 sszefoglals
     13.11 Egyb megjegyzsek s problmk
        13.11.1 Az "ts init szint" (azaz az xdm/gdm) mkdsre brsa
        13.11.2 Az x2x program hasznlata.
        13.11.3 Egyb hasznos utastsok
        13.11.4 A. Fggelk - Octave cvtmode.m szkript
        13.11.5 B. Fggelk - Borne Shell szkript "cvtfile"

  14. Karakterkszletek hasznlata s vltsa
  15. Konzol mdok vltsa
  16. Az X11 FBdev meghajt zembe helyezse
  17. Hogyan alakthatom t az XFree86 modeline sorokat framebuffer eszkz idkre?
  18. Tovbbi informcikat keresel?


  ______________________________________________________________________

  1.  Kzremkdk

  Ksznet az albb felsorolt embereknek, akik segtettek a Framebuffer-
  HOWTO elksztsben.


    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 krtykrl adott
     informcikrtjanfrode@ii.uib.no

    Szmos ms embert is felsorohatnk mg, ksznm nekik is!

  Ksznet Rick Niles-nek frederick.a.niles@gsfc.nasa.gov aki
  megengedte, hogy az  Multi-Head Mini-HOWTO-jt felhasznljam e HOWTO
  elksztsben.

  Ksznet az albb felsorolt embereknek, hogy elksztettk az Intel
  platformos X11-hez a libc5/glibc2-es XF86_FBdev X11 framebuffer
  meghajtt.

  A Framebuffer-HOWTO magyar fordtst, a Framebuffer-HOGYAN-t Bbos
  Balzs (bbk@swi.hu) ksztette.


    Brion Vibber brion@pobox.com

    Gerd Knorr kraxel@cs.tu-berlin.de

  s termszetesen a framebuffer eszkzk ksztinek:


    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 eszkz?

  A framebuffer eszkz a grafikus hardver egy lekpezse. A video
  hardver framebuffer-t reprezentlja, s az alkalmazi szoftverek
  szmra a grafikus hardverhez val hozzfrst jl definilt
  interfszen kereszl biztostja, gy a szoftvernek semmit sem kell
  tudnia az alacsony szint interfsz cuccokrl [Geert Uytterhoeven
  framebuffer.txt-jbl szedtem a linux kernel forrsbl]


  3.  Milyen elnyei vannak a framebuffer eszkzknek?


  A pingvin logo. :o) Komolyabbra fordtva a szt, a framebuffer
  meghajtk legfbb elnye az, hogy ltalnos interfszt biztost minden
  platform szmra. A 2.1.x-es kernel ksi fejlesztsnl fordult el,
  hogy az Intel platform konzol meghajti tkletesen klnbztek a ms
  platformok meghajtitl. A 2.1.109 bevezetsvel mindez pozitv
  irnyba vltozott, s sokkal ltalnosabb konzol kezelst mutattak be
  az Intel platformra, valamint ekkor mutattak be valdi bittrkpes
  grafikus konzolt, ami kpes volt Intel gpen a pingvin logo
  megjelentsre. Jegyezzk meg, hogy a 2.0.x-es kernelek nem
  tmogatjk a framebuffer eszkzket, de elkpzelhet valamikor, hogy
  valaki visszamenleg elkszti a kdot a 2.1.x-es kernelbl a 2.0.x-es
  kernelbe. Azrt van kivtel e szably all, mert a v0.9.x-es kernel
  m68k platformra trt vltozata mr tartalmaz beptett framebuffer
  eszkztmogatst.

  A 2.2.x-es kernel kiadsval a framebuffer eszkz tmogats nagyon
  sma s stabil lett. Clszer is hasznlnod, ha a grafikus krtyd
  tmogatja, amennyiben 2.2.x-es kernelt hasznlsz. A rgebbi, 2.0.x-es
  kernelek nem tmogatjk a framebuffer eszkzket, legalbbis Intel
  platformon.


    0.9.x (m68k) - bemutattk az m68k framebuffer eszkzket. Jegyezzk
     meg, hogy a 0.9.x funkcionlisan az 1.0.9-es Intellel egyenrtk
     (s az 1.2.x-es kiegszts)

    2.1.107 - bemutattk az Intel framebuffer s az j konzol
     eszkzket s ltalnos tmogatst tettek hozz, scrollback buffer
     tmogats nlkl.

    2.1.113 - a vgacon scrollback buffer tmogatst kapott.

    2.1.116 - a vesafb scrollback buffer tmogatst kapott.

    2.2.x - csatoltk a matroxfb(Matrox)-t s a atyfb(ATI)-t.

  Van nhny nagyszer tulajdonsga a framebuffer eszkzknek, tbbek
  kztt ltalnos kapcsolkat adhatsz t a kernelnek indulsidben,
  akr mg framebuffer eszkz fgg paramtereket is. Ilyenek pldul:


    video=xxx:off - letiltja a framebuffer eszkz automatikus
     felismerst

    video=map:octalis-szm - a virtulis konzolokat (VC-k) framebuffer
     (FB) eszkzhz 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-hz, a VC5-t az FB0-hoz rendeli...

  A framebuffer eszkzket a kernelben meghatrozott sorrendben ismeri
  fel a rendszer, de ha megadod a video=xxx opcit, meghatrozhatod azt
  a framebuffer eszkzt, amit a kernelben meghatrozott sorrendben
  felismerend eszkzk eltt szeretnl felismertetni.


  4.  Framebuffer eszkzk hasznlata Intel platformokon

  4.1.  Mi az a vesafb?

  A vesafb egy VESA 2.0 kompatibilis grafikus krtykkal mkd
  framebuffer eszkz Intel architektrra. Nagyban hasonlt a kernelben
  lev framebuffer eszkz meghajtkhoz.

  A vesafb kpernymeghajt lehetv teszi, hogy grafikus mdokat
  hasznlj Intel platformon bitmap-es szveges konzolokon. Lehetv
  teszi tovbb, hogy logo-t jelents meg, ami valsznleg a f oka
  annak, hogy vesafb-t hasznlj.

  Sajnos, nem hasznlhatod a vesafb-vel a VESA 1.2-es krtykat.  Ez
  azrt van, mert az 1.2-es krtyk nem lineris frame buffering-et
  hasznlnak. A lineris framebuffering egyszeren azt jelenti, hogy a
  rendszer processzor kzvetlenl hozzfr a kperny minden egyes
  bitjhez. A trtnelmet tekintve, a rgebbi grafikus krtyk csak 64K-
  t engedtek egyszerre hozzfrni a kernelnek, mivel a fantasztikus
  CGA/EGA zemmdoknak ez volt a korltja. Elkpzelhet, hogy valaki
  rni fog egy vesafb12-es eszkzmeghajtt ezekhez a krtykhoz, de
  rtkes kernel memrit hasznlna, s meglehetsen ronda patch-re
  lenne szksg.

  Ltezik azonban egy potencilis lehetsg, VESA 2.0-s kiegsztst
  adhatsz a VESA 1.2-es krtydnak. Letlthetsz egy DOS all fut
  rezidens programot, amit ha loadlin-el hasznlsz, segthet a krtya
  megfelel grafikus zemmdba konfigurlsban. Jegyezzk meg, hogy ez
  nem mindig mkdik, pldul nhny Cirrus Logic krtya, mint pldul a
  VLB 54xx-es sorozat, a frame buffering-hez olyan memria cmeket
  hasznl (pldul a 15-16MB-os tartomny), amik megakadlyozzk, hogy
  32MB memrinl tbb memrival rendelkez rendszerek rendesen
  mkdjenek. Van md arra, hogy mkdsre brjuk, ha a BIOS-ban
  szerepel egy olyan opci, amely lyukat hagy a 15-16Mbyte terleten a
  memriban. gy taln mkdne, de a Linux nem tmogatja a
  memrialyukakat. Br van patch ennek az opcinak a megvalstsra
  [Kinek van, s honnan lehet beszerezni?]. Ha szeretnl ksrletezni
  ezzel az opcival, rengeteg TSR szer program rendelkezsedre ll, a
  legjobb plda pldul az UNIVBE, amit megtallsz az Interneten.

  Elkpzelhet, hogy tallsz kernel patch-et, hogy mkdsre brd a VESA
  1.2-es krtyd a VESA framebuffer meghajtval. Pldul, lteznek
  patch-ek a rgebbi S3 krtykhoz (mint az S3 Trio, S3 Virge), melyek
  VESA 1.2-es tmogatssal rendelkeznek. Ezekhez a krtykhoz
  vlaszthatsz patch-et a
  ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz
  cmrl.


  4.2.  Hogy aktvljam a vesafb meghajtt?

  Tegyk fel, hogy menuconfig-ot hasznlsz, ekkor a kvetkez lpsekre
  van szksged:

  Ha a processzorod (Intel platformokon) tmogatja az MTRR-t,
  engedlyezd.  Ez felgyorstja a processzor s a grafikus krtya kztt
  a memriamsolst, de nem felttlen szksges. Ezt megteheted
  termszetesen a konzol eszkz sikeres belltsa utn is.

  FONTOS: A 2.1.x kernelverzik esetn, menj a Code Maturity Level
  menbe, s engedlyezd a fejleszts alatt ll svagy nem teljes
  meghajtprogramok kivlasztsi lehetsgt. Erre a 2.2.x kernelverzik
  esetben mr nincs szksg.

  Menj a Consol Drivers menbe, s engedlyezd a kvetkezket:


    VGA Text Console

    Video Selection Support

    Support for frame buffer devices (experimental)


    VESA VGA Graphic console

    Advanced Low Level Drivers

    Vlaszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp s a 32bpp
     tmrtett pixel meghajtkat

  VGA Chipset Support (text only) - vgafb - szerepelnie kellene a fenti
  listban, de mivel mr helytelentik a hasznlatt, s tbb nem
  tmogatott, gy nem szerepeltettk a listban. Rvidesen el is lesz
  tvoltva. Hasznld inkbb a VGA Text Console-t (fbcon). A VGA
  Character/Attributes csak VGA Chipset tmogatssal hasznlatos, s nem
  szksges kivlasztani.

  Biztostsd, hogy a Mac vltoz bpp tmrtett pixel tmogats nem
  engedlyezett.  A Linux 2.1.111-es kernelverzija (s a 112-es) gy
  tnik, hogy automatikusan engedlyezi, ha az Advanced Low Level
  Drivers elsre ki lett vlasztva.  Ez a 2.1.113-ban mr nem gy
  trtnik tbb.

  Fennll ezenkvk a karakterek memribafordtsnak lehetsge is, de
  erre valjban nincs szksg s mindig hasznlhatod a kbd-0.99 setfont
  szerszmt (lsd a karakterekrl szl fejezetet), amivel
  megvltoztathatod a karaktereket gy, hogy betltd a karaktereket a
  konzol eszkzbe.

  Gyzdj meg rla, hogy ezek nem modulok lesznek. [Nem vagyok benne
  biztos, hogy lehetsges mr modulba fordtani ket - krlek javts ki,
  ha tvednk]

  El kell ksztened a framebuffer eszkzket a /dev alknyvrban.
  Framebuffer eszkznknt egyre lesz szksged, gy mindssze annyi a
  teendd, hogy kiadod az els alkalommal a mknod /dev/fb0 c 29 0
  parancsot. A kvetkezk 32 tbbszrsei lesznek, pldul a /dev/fb1
  elksztshez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, s gy
  tovbb, egszen a nyolcadik framebuffer eszkzig (mknod /dev/fb7 c 29
  224).

  Ezutn fordtsd jra a kernelt, mdostsd a /etc/lilo.conf-ot, s
  csatold a VGA=ASK paramtert, majd futtasd a lilo-t, erre azrt van
  szksg, hogy kivlaszthasd, melyik mdot szeretnd majd hasznlni.

  me egy plda a LILO konfigurcira (az n gpemrl vettem):


  # LILO konfigurcis llomny
  boot = /dev/hda3
  delay = 30
  prompt
  vga = ASK # Engedjk, hogy a felhasznl adja meg a kvnt mdot
  image = /vmlinuz
    root = /dev/hda3
    label = Linux
    read-only # A nem-UMSDOS llomnyrendszert clszer csak olvashatnak beilleszteni az ellenrzshez



  Indtsd jra a kernelt, s prbakppen, rj be 0301-et a VGA promptnl
  (ez 640x480-as felbontst ad 256 sznnel) s mris egy aranyos pici
  pingvin logt lthatsz.

  Jegyezzk meg, hogy a VGA promptnl a szm bersnl 'x' nlkl kell
  bernod a szmot "0" s 3 szmjegy formban. Erre nincs szksg LILO
  hasznlatval.


  Ha ltod, hogy jl mkdik, felfedezheted a klnbz VESA mdokat
  (lsd lejjebb), eldntheted, hogy melyik tetszik a legjobban s be
  bedrtozhatod a "VGA=x" paramter hasznlatval a lilo.conf
  llomnyba. Ha kivlasztottad, hogy melyik tetszik a legjobban, keresd
  ki a neki megfelel hexadecimlis szmot a lentebb tallhat
  tblzatbl (pl. 1280x1024 @ 256-hoz "VGA=0x307"-et tallsz), s jra
  le kell futtatnod a lilo-t. Mindssze ennyi a teend. A ksbbi
  hivatkozsokhoz olvasd el a LoadLin/LILO HOGYANokat.

  MEGJEGYZS! A vesafb nem engedlyezi a scrollback buffering-et
  alaprtelmezs szerint. Neked kell tadni az engedlyez kernel
  paramtert. Az engedlyezshez hasznld a video=vesa:ypan vagy a
  video=vesa:ywrap paramtereket. Mindkett ugyanazt a dolgot teszi, de
  mskppen. Az ywrap lnyegesen gyorsabb, mint az ypan, de nem, vagy
  rszben rosszul mkdik VESA 2.0-s grafikus krtykkal. Az ypan
  lassabb az ywrap-nl, de nagyobb mrtkben kompatibilis. Ez az opci
  csak a 2.1.116-os s magasabb verziszm kernelekben van jelen. A
  korbbi kernelekben nem volt meg a scrollback buffering
  engedlyezsnek kpessg a vesafb-hez.


  4.3.  Milyen VESA mdok llnak rendelkezsemre?

  Ez valjban a rendszered VESA 2.0 kompatibilis grafikus krtyjtl
  fgg, valamint a rajta lv video memria mennyisgtl. Az csak a
  tesztels krdse, hogy melyik video zemmd a legjobb a grafikus
  krtydnak.

  A kvetkez tbla a VGA promptnl beadhat, vagy a LILO programmal
  hasznlhat zemmdok szmait mutatja. (jelenleg ezek a szmok 0x200
  felettiek, hogy knnyebb legyen a tblra hivatkozni)


  Sznek     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 szn, 15 bites = 32,768 szn, 16 bites = 65,536
  szn, 24 bites = 16.8 milli szn, 32 bites - ugyanaz, mint a 24
  bites, de az extra 8 bit ms dolgok trolsra is felhasznlhat, ami
  tkletesen megfelel a 32 bites PCI/VLB/EISA busznak.

  Egyb zemmdok a gyrt diszkrcijtl fgg, mivel a VESA 2.0
  dokumentcija csak a 0x31F feletti zemmdokat definilja. Nmi
  prblkozsra lesz szksged az extra zemmdok felfedezshez.


  4.4.  Matrox krtyd van?


  Ha Matrox grafikus krtyd van, nincs is szksged a vesafb-re, annl
  inkbb a matroxfb meghajtra. Ez nagyban kiszlesti a krtyd
  kpessgeit. A Matroxfb a Matrox Mystique Millennium I & II, G100 s
  G200 krtykkal mkdik. Tmogatja ezen kvl a tbbfejes rendszereket
  (ez az, ha kt Matrox krtyd van a gpedben, kt megjelentt
  hasznlhatsz ugyanabban a gpben!). Ahhoz, hogy belltsd rendszered a
  Matroxhoz, a kvetkezket kell tenned:


  Esetleg szksged lehet a BIOS frisstsre, amihez le kell tltened a
  BIOS frisstst a http://www.matrox.com/mgaweb/drivers/ftp_bios.htm
  honlaprl.  gyelj r, hogy a frisstshez majd DOS-ra lesz szksged.

  Menj a Code Maturity Level menbe s engedlyezd a fejleszts alatt
  ll s/vagy nem teljes meghajtprogramok kivlasztsi lehetsgt.
  Erre a 2.2.x kernelverzik esetben mr nincs szksg.


  Menj a Console Drivers menbe s engedlyezd a kvetkezket:


    VGA Text Console

    Video Selection Support

    Support for frame buffer devices (experimental)

    Matrox Acceleration

    Vlassz a kvetkezkbl annak megfelelen, hogy milyen krtyd van:

       Millennium I/II support

       Mystique support

       G100/G200 support

    Engedlyezd a tbbfejes tmogatst (Multihead Support), ha egynl
     tbb Matrox krtyt szeretnl hasznlni

    Advanced Low Level Drivers

    Vlaszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp s 32bpp
     tmrtett pixel meghajtkat

  Fordtsd jra a kernelt. Ezutn mdostanod kell a lilo.conf
  llomnyt, hogy engedlyezd a Matroxfb eszkzt. A leggyorsabb s
  legegyszerbb mdja, ha felhasznlod az enymet.


  # LILO konfigurcis llomny
  boot = /dev/hda3
  delay = 30
  prompt
  vga = 792    # Erre azrt van szksg, hogy hasznlhat llapotban induljon
  # A Linux bootolhat partci belltsa kvetkezik
  image = /vmlinuz
    append = "video=matrox:vesa:440" # akkor vltsunk Matroxfb-re
    root = /dev/hda3
    label = Linux
    read-only # A nem-UMSDOS llomnyrendszert clszer csak olvashatnak beilleszteni az ellenrzshez



  Vgl kell ksztened a framebuffer eszkzket a /dev alknyvrban.
  Framebuffer eszkznknt egyre lesz szksged, gy mindssze annyi a
  teendd, hogy kiadod az els alkalommal a mknod /dev/fb0 c 29 0
  parancsot. A kvetkezk 32 tbbszrsei lesznek, pldul a /dev/fb1
  elksztshez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, s gy
  tovbb, egszen a nyolcadik framebuffer eszkzig (mknod /dev/fb7 c 29
  224).

  s ennyi. [MEGJEGYZS: Ha valaki hasznl tbbfejes tmogatst, krem,
  vegye fel a kapcsolatot velem - beszlnem kell valakivel rla, hogy
  dokumentlhassam!]
  4.5.  Permedia krtyd van?


  A Permedia krtykat nem lehet a vesafb-vel hasznlni, de szerencsre
  elkszlt egy hasznlhat Permedia framebuffer meghajt. Feltve, hogy
  menuconfig-ot hasznlsz, tedd a kvetkezket:


  Menj a Code Maturity Level menbe s engedlyezd a fejleszts alatt
  ll s/vagy nem teljes meghajtprogramok kivlasztsi lehetsgt.
  Erre a 2.2.x kernelverzik esetben mr nincs szksg.

  Menj a Console Drivers menbe s engedlyezd a kvetkezket:


    VGA Text Console

    Video Selection Support

    Support for frame buffer devices (experimental)

    Permedia2 support (experimental)

    Generic Permedia2 PCI board support

    Advanced Low Level Drivers

    Vlaszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp s 32bpp
     tmrtett pixel meghajtkat

    Ha szeretnl kernelbefordtott karaktereket, vlaszd ki a
     kvetkezket:

       Select compiled-in fonts

       Select Sparc console 12x22 font

  Fordtsd jra a kerneled. Ezutn mdostanod kell a lilo.conf
  llomnyt, hogy engedlyezd a pm2fb eszkzt. A leggyorsabb, s
  legyegyszerbb mdja, ha felhasznlod a kvetkez pldt:


  # LILO konfigurcis llomny
  boot = /dev/hda3
  delay = 30
  prompt
  vga = 792    # Erre azrt van szksg, hogy hasznlhat llapotban induljon
  # A Linux bootolhat partci belltsa kvetkezik
  image = /vmlinuz
    append = "video=pm2fb:mode:1024x768-75,font:SUN12x22,ypan" # akkor vltsunk t pm2fb
    root = /dev/hda3
    label = Linux
    read-only # A nem-UMSDOS llomnyrendszert clszer csak olvashatnak beilleszteni az ellenrzshez



  A "pm2fb:mode:1024x768-75,font:SUN12x22,ypan" sor jelzi, hogy
  1024x768-as felbontst vlasztottl 75Hz-en, SUN12x22
  karakterkszlettel (ha nem vlasztottad ki), s ypan scrollback
  tmogatssal. Kvnsgod szerint vlaszthatsz ms zemmdot is.

  Vgl kell ksztened a framebuffer eszkzket a /dev alknyvrban.
  Framebuffer eszkznknt egyre lesz szksged, gy mindssze annyi a
  teendd, hogy kiadod az els alkalommal a mknod /dev/fb0 c 29 0
  parancsot. A kvetkezk 32 tbbszrsei lesznek, pldul a /dev/fb1
  elksztshez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, s gy
  tovbb, egszen a nyolcadik framebuffer eszkzig (mknod /dev/fb7 c 29
  224).

  Tovbbi informcikat a Permedia framebuffer meghajtrl a
  http://www.cs.unibo.it/ nardinoc/pm2fb/index.html honlapon tallsz.

  video=pm2fb:[opci[,opci[,opci...]]]

  ahol az opcik a kvetkezk lehetnek:


    off a meghajt letiltshoz

    mode:resolution a konzol felbontsnak belltshoz. Az zemmdot
     az fb.modes.ATI llomny tartalmazza Geert fbset csomagjban.
     Minden zemmd sznmjsge 8bpp. A lehetsges zemmdok listja a
     kvetkez:

       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 alaprtelmezett felbonts 640x480-60.

    font:font name a konzol karakterkszletnek belltshoz. Pldul:
     font:SUN12x22

    ypan belltja az aktulis virtulis magassgot akkorra, amekkort
     a video memria mrete megenged.

    oldmem opci csak a CybervisionPPC felhasznlk szmra l. Ezzel a
     kapcsolval megmondhatod a rendszernek, hogy a krtydon Fujitsu
     SGRAM-ok vannak (minden 30-Dec-1998 eltti CVisionPPC-k esetn).

    virtual (ideiglenesen) add meg, hogy a kernel thelyezi a
     platformodon a PCI rgikat.


  4.6.  ATI krtyd van?


  [MEGJEGYZS: Ez az informci a legjobb formjban lthat, csak msod
  vagy harmadkzbl van, mivel nincs ATI krtym, hogy tesztelhessem.
  Krlek javts ki, ha tvednk, vagy gess meg!] 8)

  Az ATI krtyk hasznlhatak a vesafb meghajtval, de lehetnek
  problmid a hasznlatval, attl fggen, hogy milyen slyosan
  krosodott a krtyd.  Szerencsre az atyfb framebuffer meghajt
  rendelkezsedre ll. Feltve, hogy menuconfig-ot hasznlsz, a
  kvetkezket kell tenned:

  Menj a Code Maturity Level menbe s engedlyezd a fejleszts alatt
  ll s/vagy nem teljes meghajtprogramok kivlasztsi lehetsgt.
  Erre a 2.2.x kernelverzik esetben mr nincs szksg.

  Menj a Console Drivers menbe s engedlyezd a kvetkezket:


    VGA Text Console

    Video Selection Support

    Support for frame buffer devices (experimental)

    ATI Mach64 display support

    Advanced Low Level Drivers

    Vlaszd ki a Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp s 32bpp
     tmrtett pixel meghajtkat

    Ha szeretnl kernelbefordtott karaktereket, vlaszd ki a
     kvetkezket:

       Select compiled-in fonts

       Select Sparc console 12x22 font

  Fordtsd jra a kerneled. Ezutn mdostanod kell a lilo.conf
  llomnyt, hogy engedlyezd a atyfb eszkzt. A leggyorsabb, s
  legyegyszerbb mdja, ha felhasznlod a kvetkez pldt:


  # LILO konfigurcis llomny
  boot = /dev/hda3
  delay = 30
  prompt
  vga = 792    # Erre azrt van szksg, hogy hasznlhat llapotban induljon
  # A Linux bootolhat partci belltsa kvetkezik
  image = /vmlinuz
    append = "video=atyfb:1024x768,font:SUN12x22"
    root = /dev/hda3
    label = Linux
    read-only # A nem-UMSDOS llomnyrendszert clszer csak olvashatnak beilleszteni az ellenrzshez



  Az "atyfb:mode:1024x768,font:SUN12x22" jelzi, hogy egy 1024x768
  zemmdot vlasztottl.

  Vgl kell ksztened a framebuffer eszkzket a /dev alknyvrban.
  Framebuffer eszkznknt egyre lesz szksged, gy mindssze annyi a
  teendd, hogy kiadod az els alkalommal a mknod /dev/fb0 c 29 0
  parancsot. A kvetkezk 32 tbbszrsei lesznek, pldul a /dev/fb1
  elksztshez mknod /dev/fb1 c 29 32 parancsot kell kiadnod, s gy
  tovbb, egszen a nyolcadik framebuffer eszkzig (mknod /dev/fb7 c 29
  224).

  video=atyfb:[opci[,opci[,opci...]]]

  ahol opci a kvetkez lehet:


    font:SZTRING Kivlaszja a beptett karakterkszletet (amit a
     kernelbe fordtottl)

    noblink Kikapcsolja a villogst

    noaccel Letiltja a gyorstst

    vram:ULONG Megmondja az atyfb meghajtnak, hogy mennyi memrid van

    pll:ULONG Ismeretlen

    mclk:ULONG Ismeretlen

    vmode:ULONG Ismeretlen

    cmode:ULONG - belltja a sznmlysget - 0, 8, 15, 16, 24 s 32


  4.7.  Mely grafikus krtyk VESA 2.0 kompatibilisek?

  A kvetkez felsorols tartalmazza az sszes olyan grafikus krtyt,
  melyekrl ismert, hogy mkdnek a vesafb eszkzzel:


    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 krtya

    Diamond Viper V330 PCI 4MB

    Genoa Phantom 3D/S3 ViRGE/DX

    Hercules Stingray 128/3D TV kimenettel

    Hercules Stingray 128/3D TV kimenet nlkl - BIOS frissts
     szksges (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 kvetkez felsorols alaplapon elhelyezked chip kszleteket
  tartalmaz:


    Trident Cyber9397

    SiS 5598

  Az albbi feketelista olyan grafikus krtykat tartalmaz, melyek nem
  mkdnek egytt a vesafb eszkzzel:


    TBA



  4.8.  Lefordthatom a vesafb-t modulknt?



  Tudomsom szerint a vesafb nem modularizlhat, hacsak valamikor a
  vesafb fejleszti gy nem dntenek, hogy mdostjk a forrst, s
  modularizlhatv teszik. Jegyezzk meg, hogy ha mg lehetsgess is
  vlik a modularizlhatsg, indulsidben akkor sem fogsz semmi
  kimenetet ltni a megjelentn, amg a vesafb nincs modulprblva.
  Taln sokkal sszerbb lenne a kernelben hagyni, azokra az esetekre,
  ha indtskor problma lpne fel.


  4.9.  Hogyan mdosthatom a kurzort?


  [A VGA-softcursor.txt-bl vettem - ksznet Martin Mares-nek rte!]

  A Linuxnak most mr tbbfle kpessge is lehetv teszi a kurzor
  megjelensnek mdostst. ltalban tllthatod a hardver kurzor
  mrett (s krljrhatsz nhny csnya hibt azokon a csapnival
  Trident krtykon -- nzd meg a #define TRIDENT_GLITCH-et a
  drivers/char/vga.c llomnyban). Ebben az esetben ha engedlyezed a
  "Software generated cursor"-t a rendszer konfigurcidban,
  eljtszhatsz nhny j trkkel: talakthatod a kurzorod nem villog
  piros blokk, a karakter inverz htterv vltoztathatod, vagy
  kiemeltt teheted az adott karaktert, s mg mindig vlaszthatsz, hogy
  az eredeti hardver kurzor lthat maradjon, vagy sem. Lehet mg nhny
  dolog, amire sose gondoltam mg.

  A kurzor megjelentst a

  <ESC>[?1;2;3c


  szablyozza, ahol 1, 2 s 3 lejjebb megmagyarzott paramterek. Ha
  kihagyod brmelyiket, az alaprtelmezsre llnak, ami 0.

  Az 1. paramter a kurzor mrett hatrozza meg (0=alaprtelmezett,
  1=lthatatlan, 2=alhzs, ..., 8=teljes blokk) + 16 ha a szoftver
  kurzort szeretnd alkalmazni, + 32 ha mindig szeretnl a httrsznen
  vltoztatni + 64 ha nem szertnd ugyanazd a htteret, mint ami az
  eltr. A kiemelst nem veszi figyelembe az utols kt flag esetn.

  A msodik paramter kivlasztja az ltalad megvltoztatand karakter
  attribtum bitet (egyszeren ssze XOR-olva e paramter rtkvel).
  Hagyomnyos VGA-n a ngy magas bit hatrozza meg a htteret, az als
  ngy pedig az elteret. Mindkt csoportban, a hrom alacsony bit
  lltja a sznt (mint a konzol hagyomnyos sznkdjai esetn), s a
  legrtkesebb bit lltja be a kiemelst (vagy nhny esetben a
  villogst -- a VGA-d konfigurcijtl fggen).

  A harmadik paramter az ltalad belltand karakter attribtum
  bitekbl ll. A bit belltsa a bit tlltsa eltt lp rvnybe,
  gy egyszeren trlhetsz egy bitet a bellt s az tllt maszkba
  illesztve.

  Hagyomnyos villog alhzs belltshoz:     echo -e '\033[?2c'
  Villog blokk belltshoz:                    echo -e '\033[?6c' Nem
  villog piros blokk belltshoz:          echo -e '\033[?17;0;64c'



  5.  Framebuffer eszkzk hasznlata Atari m68k platformokon


  Ez a fejezet bemutatja a framebuffer lehetsgeket Atari m68k
  platformokon.


  5.1.  Milyen zemmdok llnak rendelkezsre Atari m68k platformokon?



  Sznek    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 mdokat csak a TT hasznlja, a vga2, vga4,
  vga15, vga256, falh3 s falh16 mdokat csak a Falcon hasznlja.

  Ha a video=xxx kernel opcival hasznlod alopci nlkl, a kernel a
  kvetkez sorrendben fogja vgigprblni az zemmdokat, amg a
  hardvernek megfelel mdot nem tall:


    ttmid

    tthigh

    vga16

    sthigh

    stmid

  Megadhatsz egy ltalad hasznlni kvnt zemmdot is, ha nem szertnd,
  hogy a rendszer automatikusan keresse meg az ltalad kvnt zemmdot.
  Pldul a video=vga16 4 bites 640x480 felbonts megjelentt ad.


  5.2.  Egyb alopcik az Atari m68k platformokra


  Tbb alopci megadhat a video=xxx paramterrel:


    inverse - invertlja a megjelentt, gy az eltr- s a
     httrsznek megcserldnek. ltalban a httr fekete, de ezzel az
     alopcival fehr lesz.

    font - belltja a szveges mdban hasznland karakterkszletet.
     Jelenleg csak a VGA8x8, VGA8x16, PEARL8x8 karakterkszleteket
     vlaszthatod ki. Az alaprtelmezs szerint ha a kperny fggleges
     mrete kisebb 400 kppontnl, a VGA8x8 karakterkszletet, egybknt
     a VGA8x16 karakterkszletet hasznlja.

    internal - egy nagyon rdekes opci. Rszletesebb informcikrt
     nzd meg a kvetkez fejezetet.

    external - mint fenn.

    monitorcap - megadja a multisync-ek kpessgeit. NE hasznld fix
     szinkronizcival rendelkez monitor esetn!
  5.3.  A bels alopcik hasznlata Atari m68k platformokon


  Szintakszis: internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]

  Ez a paramter nhny kiegszt bels video hardver kpessgt
  hatrozza meg, mint pldul az OverScan mdokat. A (xres) s a (yres)
  megadja a kperny kiterjesztett dimenziit.

  Ha az OverScan zemmdod szmra fekete keretre van szksg, az
  internal: alopci utols hrom argumentumba kell rnod. Az (xres_max)
  a hardver ltal engedlyezett legnagyobb vonalhosszsg, az (yres_max)
  a sorok szmnak maximuma s az (offset) a kperny memria lthat
  rsznek a fizikai kezdethez viszonytott eltols bjtokban.

  Gyakran a kiterjesztett bels video hardvert kln aktivlni kell,
  ehhez kell a "switches=*" opcit hasznlnod. [Megjegyzs: A szerz
  szerene nmi extra informcihoz jutni. Az m68k dokumentcija a
  kernelben nem teljesen vilgos ennl a pontnl, s neki nincs Atarija!
  Pldk is hasznosak lennnek]


  5.4.  Az Atari m68k platformok kls alopciinak hasznlata


  Szintaxis:
  external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]

  Ez elgg sszetett, gy ez a dokumentci megprblja amennyire csak
  lehet rtheten elmagyarzni, de a Szerz nagyra rtkeln, ha valaki
  tnzn, hogy nem kutyult-e ssze valamit! :o)

  Ez az alopci meghatrozza, hogy kls video hardvered van (leginkbb
  egy grafikus krty), s hogyan hasznlhatod Linux-al. A kernel
  alaprtelmezs szerint a bels video hardver ismeretre korltozott,
  gy neked kell a szksges paramterekkel elltni, hogy hasznlhasd a
  kls video hardvert. Kt korltozs van: t kell vltanod az indts
  eltt abba az zemmdba s amikor boot-olsz, nem vltoztathatod meg az
  zemmdokat.

  Az els hrom paramter magtl rthetdik: megadja a kperny
  dimenziit kppontokban: magassg (height), szlessg (width) s
  mlysg (depth). A megadott mlysgnek 2^n szn esetn a hasznland
  skok szmnak kell lennie. Pldul ha a 256 szn megjelentt
  szeretnl hasznlni, a mlysgnek 8-at kell megadnod. Ez a kls
  grafikus hardvertl fgg, br gy a hardver kpessgeire leszel
  lekorltozva.

  Ezutn meg kell adnod a kernelnek, hogy szervezdik a memria - add
  meg betvel az (org) paramtert:


    n - hagyomnyos skokat hasznljon, teht egyik teljes sk a msik
     utn

    i - tlapolt skokat hasznljon, azaz 16 bit az els skbl, majd
     16 a kvetkezbl, s gy tovbb. Csak a beptett Atari video
     mdok hasznljk ezt - s nem is ltezik ezt a mdot tmogat
     grafikus krtya.

    p - tmrtett kppontokat hasznl, azaz az egymst kvet bitek
     egy kppont sszes skjt tartalmazzk. Ez a leggyakoribb megolds
     a 256 szn kperny megjelentsre a grafikus krtykon.

    t - valdi sznt hasznl, azaz ez valjban tmrtett kppontokat
     hasznl, de nincs szksge szn felold tblra, mint az egyb
     tmrtett kppont zemmdok esetben. Ezek az zemmdok ltalban
     a 24 bites megjelentk - melyek 16.8 milli sznt bocstanak
     rendelkezsedre.

  Habr, monokrm zemmdok esetben az (org) paramternek ms jelentse
  van:


    n - hagyomnyos szneket hasznl, azaz 0=fehr, 1=fekete

    i - invertlt szneket hasznl, azaz 0=fekete, 1=fehr

  A kvetkez fontos video hardver elem a videomemria bziscme. Ezt a
  (scrmem) paramter adja meg, hexadecimlis, 0x prefix-el rendelkez
  formban. Ezt a kls video hardvereddel kapott dokumentcibl kell
  megkeresned.

  A kvetkez paramter, az (scrlen) megadja a kernel szmra a
  vidememria mrett. Ha ez hinyzik, az (xres), (yres) s a (depth)
  paramterekbl szmoldik. Manapsg nem rdemes ide rtket rni.
  Hagyd resen, s tgy kt kettspontot egyms mell, ha meg kell adnod
  a (vgabase) paramtert, klnben hagyd az egszet.

  A (vgabase) paramter opcionlis. Ha nincs megadva, a kernel nem tudja
  rni s olvasni a video hardver szn regisztereit, ezrt neked kell
  belltani a megfelel szneket a Linux indtsa eltt. Azonban ha a
  krtyd VGA kompatibilis, megadhatod a VGA regiszterek cmt, gy mr
  meg tudja vltoztatni a szn felold tblkat. Az ehhez szksges
  informcit a kls video hardver dokumentcijban tallod meg. Hogy
  tisztzzuk, a (vgabase) a bzis cm, azaz a 4k-hoz igaztott cm. A
  sznregiszterek rshoz, olvasshoz a kernel a (vgabase) + 0x3c7 s
  a (vgabase) + 0x3c9 kztti cmtartomnyt hasznlja. Ezt a paramtert
  hexadecimlisan kell megadni, s el kell rni a 0x prefixet,
  ugyangy, mint a (scrmem) esetben.

  A (colw) csak akkor br jelentssel, ha a (vgabase) paramter is
  adott. Ez mondja meg a kernelnek, hogy mekkork a szn regiszterek,
  azaz mennyi az egy sznre jut bitek szma (piros/zld/kk). Az
  alaprtelmezett rtk ltalban 6 bit, de gyakori a 8 bit hasznlata
  is.

  A (coltype) a (vgabase) paramterrel egytt hasznlatos, megadja a
  grafikus krtyd szn regiszter modeljt a kernelnek.  Jelenleg a vga
  s a mv300 tpusok tmogatottak. A vga az alaprtelmezett.

  A (xres_virtual) csak a ProMST/ET4000 krtyk esetn szksges, ahol a
  fizikai vonalhosszsg klnbzik a lthattl. A ProMST esetn
  2048-at kell megadnod, szemben az ET4000-el, ahol a video krtya
  inicializlstl fgg.


  6.  Framebuffer eszkzk hasznlata Amiga m68k platformokon



  Ez a fejezet bemutatja az Amigk opciit, melyek nagyon hasonltanak
  az Atari m68k platformokra mr bemutatottakhoz.


  6.1.  Mely zemmdok hasznlhatk Amiga m68k platformokon?


  Ez az Amigban hasznlt chipsettl fgg. Hrom f tpusa van: OCS, ECS
  s AGA, melyek hasznljk a sznes framebuffer eszkzt.


    NTSC zemmdok:

       ntsc - 640x200

       ntsc-lace - 640x400

    PAL zemmdok:

       pal - 640x256

       pal-lace - 640x512

    ECS zemmdok: - 2 bites sznek ECS-n, 8 bites sznek 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 zemmdok: - 2 bites sznek ECS-n, 8 bites sznek csak az AGA
     chipseteken.

       vga - 640x480

       vga70 - 640x400


  6.2.  Az Amiga m68k platformok alopcii


  Ezek az Atari m68k alopcikhoz hasonlak. gy mint:


    depth - megadja a kppont bitmlysgt.

    inverse - ugyanazt teszi, mint az Atari-n.

    font - ugyanazt teszi, mint az Atari-n, br a VGA8x8
     karakterkszlet helyett a PEARL8x8 karakterkszletet hasznlja, ha
     a kperny mrete 400 kppontnl keskenyebb.


    monitorcap - meghatrozza a multisync monitorok kpessgeit. Ne
     hasznld lland szinkronizcis idvel rendelkez monitorok
     esetben!


  6.3.  A tmogatott Amiga grafikus kiegszt krtyk



    Phase5 CyberVision 64 (S3 Trio64 chipkszlet)

    Phase5 CyverVision 64-3D (S3 ViRGE chipkszlet)

    MacroSystems RetinaZ3 (NCR 77C32BLT chipkszlet)

    Helfrich Piccolo, SD64, GVP ECS Spectrum, Village Tronic Picasso
     IIII+ s IV/ (Cirrus Logic GD542x/543x)


  7.  Framebuffer eszkzk hasznlata Macintosh m68k platformokon


  Jelenleg az implementlt framebuffer eszkz csak a Linux eltt a MacOS
  alatt kivlasztott zemmdot tmogatja, valamint az 1, 2, 4 s 8 bites
  sznes zemmdokat.

  A framebuffer alopcikat a kvetkez szintaxis szerint vlaszthatod
  ki:


  video=macfb:<font>:<inverse>



  Vlaszhatsz VGA8x8, VGA8x16 s 6x11, stb. karakterkszleteket. Az
  inverse opci segtsgvel invertlhatod a video jelet.


  8.  Framebuffer eszkzk hasznlata PowerPC platformokon


  A szerz szeretne bvebb informcit kapni a framebuffer eszkzk ezen
  a platformon trtn hasznlatrl.



  9.  Framebuffer eszkzk hasznlata Alpha platformokon

  9.1.  Milyen zemmdokat hasznlhatok?



  Egyenlre kizrlag a TGA PCI krtya ll rendelkezsre - ami csak
  80x30-at tud 640x480-as felbontsban, 8, vagy 24/32 biten.


  9.2.  Mely grafikus krtyk mkdnek a framebuffer eszkzzel?


  A kvetkez felsorols tartalmazza az sszes olyan grafikus krtyt,
  melyekrl ismert, hogy mkdnek Alpha platformon:


    DEC TGA PCI (DEC21030) - 640x480 @ 8 bites vagy 24/32 bites
     vltozatok

  10.  Framebuffer eszkzk hasznlata SPARC platformokon

  10.1.  Mely grafikus krtyk mkdnek a framebuffer eszkzzel?


  A kvetkez felsorols tartalmazza az sszes olyan grafikus krtyt,
  melyekrl ismert, hogy mkdnek SPARC platformon:


    MG1/MG2 - SBus vagy Sun3-ba intergrlva - max. 1600x1280 @ mono
     (BWtwo)

    CGthree - hasonl az MG1/MG2-hz, de tmogat szneket is -
     maximlis felbonts?

    GX - SBus - max. 1152x900 @ 8bit (CGsix)

    TurboGX - SBus - max. 1152x900 @ 8 bit (CGsix)

    SX - kizrlag SS10/SS20 - max. 1280x1024 @ 24 bit - (CGfourteen)

    ZX(TZX) - SBus - 24bites 3D gyorst krtya - maximlis felbonts?
     (Leo)

    TCX - AFX - kizrlag Sparc 4-hez - max. 1280x1024 @ 8bit

    TCX(S24) - AFX - kizrlag Sparc 5-hz- max. 1152x900 @ 24bit

    Creator - SBus - max. 1280x1024 @ 24bit (FFB)

    Creator3D - SBus - max. 1920x1200 @ 24bit (FFB)

    ATI Mach64 - gyorstott 8/24bites kizrlag Sparc64 PCI-hoz

  Hasznlhatsz PROM-ot a kimen karakterek megjelentsre a kpernyn,
  vagy a soros konzolon.

  Nzd meg a Sparc Frame Buffer GYIK-et a

  http://c3-a.snvl1.sfba.home.com/Framebuffer.html



  10.2.  A framebuffer eszkzk belltsa



  A make config alatt vlasztanod kell, hogy a promcon-t s/vagy az
  fbcon-t fordtod bele. Vlaszthatod mindkettt, de ekkor kernel flag-
  ekkel kell kivlasztanod az eszkzt. Mindig az fbcon az elsdleges, ha
  nem lltod be az elsdlegest. Ha a promcon nincs kivlasztva, az
  indtskor a dummycon-ra mutat alaprtelmezs szerint. Ha a promcon ki
  van vlasztva, ezt az eszkzt hasznlja.  Amint a buszok elindultak,
  ha az fbcon bele van fordtva, a kernel megkeresi a fenti
  framebuffereket s az fbcon segtsgvel hasznlja azokat. Ha nincs
  framebuffer eszkz, a promcon aktvldik.

  me a kernel opcik:



  video=sbus:opcik
          ahol az "opcik" vesszvel elvlaszott lista:
                  nomargins       a margt 0,0-ra lltja
                  margins=12x24   a margt 12,24-re lltja (az alaprtelmezettet a
  felbontsbl szmolja ki)
                  off             ne hasznlja az SBus/UPA framebuffer eszkzket
                  font=SUN12x22   egy meghatrozott karakterkszletet hasznljon



  gy pldul, ha

   video=sbus:nomargins,font=SUN12x22


  indtod a gped, csinos, gyors konzolt kapsz 96x40-es szveges fel
  bontssal, ami hasonlt a Solaris konzolhoz, de szinekkel s olyan
  virtulis terminlokkal, mint az Intel platformokon.

  Ha a SUN12x22 karakterkszletet szeretnd hasznlni, engedlyezned
  kell a make config alatt (tiltsd le a fontwidth != 8 opcit). A
  gyorstott framebufferek brmely 1 s 16 kppont kztti szlessggel
  rendelkez karakterkszletet meg tudnak jelenteni, mg a buta
  framebuffer-ek csak a 4, 8, 12 s 16 kppont szlessg karaktereket
  tmogatja.

  Ajnlatos friss consoletools csomagot beszerezned.


  11.  Framebuffer eszkzk hasznlata MIPS platformokon



  Ezen a platformon nincs szksg beavatkozsra, minden automatikusan
  mkdik. Az Indy-k bedrtozva 160x64-es konzolt hasznlnak. Habr
  lpseket tettek, hogy trjk ezen Indy-k szmra a konzol kdjt,
  gy tartsd rajta a szemed ezen a fejezeten.


  12.  Framebuffer eszkzk hasznlata ARM platformokon



  12.1.  Netwinders

  A Netwinder-ek szmra (melyek a ARM SA110 RISC chipet hasznljk - a
  szeretnival British processzort), ktfle Cyber2000 framebuffer
  meghajt ll rendelkezsre - egy a 2.0.x-es kernelhez, a msik a
  2.2.x-es kernelek szmra. Nagyon nyilvnval mindkt kernel szmra e
  meghajt hasznlatnak engedlyezse, br a rgebbi verziba a
  sznmlysg s a felbonts bele van drtozva, m j hr, hogy az jabb
  verzi a 2.2.x-es kernelek esetben sokkal rugalmasabb, de jelenleg
  mg kplkeny llapotban van s mg fejleszts alatt ll. Ahhoz, hogy
  fusson, legalbb a kernel forrsod ARM port-jval jv dokumentcit
  is el kell olvasnod.

  A Netwinder-ek VGA kompatibilis chipkszletet hasznlnak, de sajnos
  senki nem portolta mg a vgafb-t. Ez taln megtrtni valamikor, ha
  valaki egy ideig a kezben tarthatn. [n megtennm, ha valaki adna
  egy NetWindert, hogy eljtszhassak vele]


  12.2.  Acorn Archimedes

  Az Acorn-oknak az 1.9.x-es Linux napok ta mindig van framebuffer
  tmogatsa. Habr az Acornfb meghajt a 2.2.x-ben teljesen j, mivel
  az ltalnos framebuffer interfsz megvltozott a 2.1.x-es kernelek
  fejlesztse sorn (ami termszetesen a 2.2.x lett).  Mint korbban,
  egyszer gy a meghajt aktivlsa, a sznmlysg s a felbonts
  belltsa.


  12.3.  Egyb ARM portok (SA 7110s et. al)

  Meglep mdon, mg a Psion 5 s a Geofox is rendelkezik framebuffer
  meghajtval!  Mesltk, hogy mg a pingvin is szpen megjelenik
  [Valaki megdobhatna egy Psion 5-el!]


  13.  Tbb fejes framebufferek hasznlata

  A dokumentci ezen rsze Frederick A. Niles-nek ksznhet, aki
  fenntartja az itt megjelen informcik jogt.


  13.1.  Bevezets

  E dokumentci f clja, hogy bevezessen a ktfejes Linux konfigurci
  futtats rejtelmeibe. Br ez a folyamat nagyon egyszer, tbb problma
  fellphet, amik aztn balul thetnek ki.

  A plda, amire koncentrlok, egy X szerver futtatsa lesz a msodik
  monitoron. Ezt szpnek tallom, mivel sokan tallhatnak rgi, nagy
  19-21 inches fix frekvencij monitorokat, amiket kidobnak az emberek,
  mert nem tudjk hasznlni. gy elindthatod a rendszered egy kis
  multisync monitorral, s hasznlhatod X alatt a szp nagy monitort.

  Krlek rtsd meg, hogy a kt fejes tmogats jelenleg fejleszts alatt
  ll, gy gyorsan vltozik ez az informci. Ebben a dokumentciban
  brmi lehet mr most elavult, vagy egyszeren helytelen mr most,
  amikor ezt olvasod.

  ** FIGYELEM ** Ez a dokumentci az XFree86 4.0 kiadsa eltt kszlt.
  Ha az XFree86 4.0 megjelense utn olvasod ezt, mr sokminden
  megvltozott.  Prbld meg beszerezni e dokumentci jabb vltozatt.


  13.2.  Visszajelzs

  A dokumentcival kapcsolatos visszajelzseket termszetesen rmmel
  fogadjuk. A vissyajelzseitek nlkl nem is ltezhetne ez a
  dokumentci.  gy krlek, minden hozzfznivalt, megjegyzst,
  kritikt kldj a kvetkez cmre: Frederick.A.Niles@gsfc.nasa.gov.


  13.3.  Kzremkdk

  A kvetkez emberek mkdtek kzre e mini-HOGYAN elksztsben.

  *  Petr Vandrovec vandrove@vc.cvut.cz

  *  Andreas Ehliar ehliar@lysator.liu.se (x2x)

  *  Marco Bizzarri m.bizzarri@icube.it (tbb X szerver)


  13.4.  Lemonds a szabvnyokrl

  Semmi ktelezettsget nem fogadunk el e dokumentci tartalmval
  kapcsolatban.  Az elkpzelseket, pldkat s egyb rszeit sajt
  felelssgedre hasznlhatod. Mivel ez egy jdonslt dokumentci,
  tartalmazhat hibkat s elrsokat, amik tnkretehetik a rendszered.
  Hasznld ezrt klnleges krltekintssel s br ez elg szokatlan,
  nem vllalok semmi felelssget, mely e dokumentci hasznlatnak
  kvetkezmnyeibl eredne.


  13.5.  Copyright Informcik

  A dokumentci ezen rszt (c)1999 Frederick Niles msolsjog vdi, s
  a kvetkez felttelek mellett terjeszthet:

  *  A Linux HOWTO dokumentcik egszben, vagy rszeiben
  reproduklhatk terjeszthetk, akrmilyen fizikai vagy elektronikus
  mdin, amg ez a copyright figyelmeztets vltozatlanul szerepel az
  sszes msolaton.  Kereskedelmi terjeszts engedlyezett s
  btortott, br a szerz szeretne rteslni az ily mdon terjesztett
  pldnyokrl.

  *  Minden fordts, leszrmazott munkk, vagy sszegyjttt munkk
  brmely Linux HOWTO dokumentci esetn e copyright figyelmeztetssel
  egytt kell, hogy terjesztdjenek. gy, nem kszthetsz egy Linux
  HOWTO-bl leszrmaztatott munkt, s nem vethetsz ki r terjeszts
  beli korltozst.  Kivtelt lehet krni bizonyos krlmnyek kztt e
  szablyok all, vedd fel a kapcsolatot a Linux HOWTO koordintorral a
  lent szerepl cmen.

  *  Ha krdsed van, vedd fel a kapcsolatot a Linux HOWTO
  koodintorral, a linux-howto@sunsite.unc.edu cmen


  13.6.  Milyen hardver tmogatott?

  A legtbb videokrtya felttelezi, hogy  az egyetlen a rendszerben s
  lland cmmel elsdleges megjelent krtynak van belltva. Van
  azonban nhny kivtel:

  *  Matrox krtyk: Ez magba 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 krtykat.


  *  MDA: Ide soroljuk a monokrm Hercules grafikus adaptereket tbb
  mssal egyetemben.  Ez csak szveges msodik fej tmogatst nyjt.

  Megjegyzs: csak a msodik krtynak kell a fentiek valamelyiknek
  lennie.


  13.7.  Kereskedelmi tmogats

  Ez a mini-HOGYAN elssorban szabad szoftverhez kszlt. Azonban
  ltezik nhny kereskedelmi X szerver, ami rendelkezik tbb-fejes
  tmogatssal. Ezek kz 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 beszerzse.

  A kvetkez patch-ekre s programokra lesz szksged:

  * "fbset" program prbld itt:
  http://www.cs.kuleuven.ac.be/ geert/bin/ (megjegyzs: ez a program a
  RedHat 6.0-al jn)


  * "fbaddon" Matrox dual head patch-ek Linux kernelhez prbld itt:
  ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/

  * "con2fb" program prbld itt:
  ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/

  * X11 frame buffer szerver, XF86_FBDev. Ez az XFree86 3.3.1 szabvnyos
  rsze


  13.9.  Kezdjnk bele

  Az els dolog, amit tenned kell, hogy alkalmazod a Linux forrs
  msolatra az "fbaddon" patch-et. Ezutn be kell konfigurlnod a
  kernelt, majd bekapcsolni a frame buffer tmogatst. Ha Matrox krtyd
  van, kapcsold be a Matrox ltalnostott gyorstott meghajt
  tmogatst s a krtydnak megfelel tpust is add meg. Ne kapcsold
  be a VESA framebuffer tmogatst. Csak tkzst okoz. Kapcsold be
  (termszetesen) a tbbfejes tmogatst. Ksztsd el a kernelt s
  indtsd jra a rendszert.

  Most fel kell teleptened az "fbset" programot s gondosan t kell
  olvasnod az sszes vele kapcsolatos dokumentcit, hogy hogyan adhatod
  meg a belltsokat. Ersen javasolt az "/etc/fb.modes" llomny
  hasznlata, ha mr eldnttted, milyen belltsokat hasznlsz. Az
  fbset program tartalmaz egy Perl szkriptet, amivel talakthatod az
  XF86Config llomnyodat fb.modes belltsokk.  Az A s B fggelkben
  csatoltam a sajt octave/Bourne parancsrtelmez szkriptemet, hogy
  talakthasd az XF86Config llomnyodat.

  Hozz kell szoknod a framebuffer eszkz hasznlathoz a monitorodon,
  meg kell rtened minden olyan dolgot, amire a ugyan els pillantsra
  nincs szksged a tbbfejes tmogatshoz, de ksbb rengeteg fejfjst
  takarthat meg neked.

  Arra fogok szpontostano a magyarzatomban, hogy a msodik monitoron
  elinduljon egy X, utna brmi ms konfigurci belltsa nyilvnval
  rszhalmaza lesz a mr elvgzett eljrsoknak.


  13.9.1.  Mozduljunk egy konzollal odbb...

  Fordtsd le a "con2fb" programot. Ha argumentum nlkl futtatod, a
  kvetkez hasznlati utastst kapod:

  "usage: con2fb fbdev console".

  gy a plda utasts "con2fb /dev/fb1 /dev/tty6" lesz, hogy thelyezd
  a hatodik virtulis konzolt a msodik monitorra. Hasznld a CTRL-ALT-
  F6 billentyzet kombincit a konzolra vltshoz, s lm, tnyleg a
  msodik monitoron tnik fel.


  13.9.2.  Az "fbset" program hasznlata a msodik monitor belltshoz

  Csak annak a monitornak a belltsait vltoztatja meg az "fbset"
  program, amelyik kpernyn futtatod. Ezrt vatosan kell bnnod az
  "-fb" kapcsolval a msodik monitoron. Bizonyos esetekben ha nem
  teszel semmi mst, legalbb a virtulis fggleges felbontst
  szeretnd az aktulis fggleges felbontss tenni.

  pl. "fbset -fb /dev/fb1 -vyres 600"

  Ez rettenetesen lelasstan a szveges zemmdot, de az X
  visszataszt lenne e nlkl.

  13.9.3.  Az X belltsa framebuffer tmogatsra.

  A framebuffer.txt llomny ezt nlam sokkal jobban elmagyarzza, de
  azrt lljon itt kt nagyon fontos pont.

  Gyzdj meg rla, hogy tlltottad az "X" lncot, hogy az
  "XF86_FBDev"-re mutasson.

  Ezutn hozz kell adnod egy monitor szekcit az XF86Config
  llomnyodban a framebuffer eszkz szmra. me egy plda:


  # 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" zemmdokat hasznlom, mivel nem hiszem, hogy brmely ms
  rtk mkdne a Matrox framebuffer esetben.


  13.9.4.  Prbld meg elindtani az X szervert a msodik monitoron.

  lltsd a FRAMEBUFFER vltozt a msodik framebufferre.

  "export FRAMEBUFFER=/dev/fb1"

  vagy

  "setenv FRAMEBUFFER /dev/fb1"

  gy kell elindtanod az X szervert, hogy egyarnt egyezzen a
  kivlasztott sznmlysg s ugyanazon a monitoron jelenjen meg,
  ahonnan az X szervert indtottad.

  pl. "startx -- :0 -bpp 16 vt06"

  Ez a plda elindtja a "nulladik" X szervert a hatos virtulis
  konzolon 16 bites sznnel. Hasznld az ":1"-et a msik X szerver
  indtshoz msik framebufferen, gy egyszerre kt X szervered futhat.

  13.10.  sszefoglals

  A msodik monitoron val X szerver futtatsnak fontosabb lpsei a
  kvetkez pontokban foglalhat ssze:

  * Szerezz kernel patch-et, fbset, s con2fb programokat.

  * Patch-eld meg a kernelt, konfigurld, ptsd jra s indtsd jra a
  gpet.

  * Add hozz az XF86_FBDev szekcit az XF86Config llomnyhoz s
  lltsd be az X lncot.

  Minden esetben, amikor jraindtod a gped:

  * Helyezz t egy konzolt.            pl. "con2fb /dev/fb1 /dev/tty6"

  * lltsd be a paramtereket         pl. "fbset -fb /dev/fb1
  1280x1024"

  * lltsd be a FRAMEBUFFER vltozt. pl. "export FRAMEBUFFER=/dev/fb1"

  * Indtsd el az X szervert.          pl. "startx -- -bpp 16 vt06"

  Automatizlhatod ezt minden egyes jraindts alkalmval
  parancsrtelmez alias hasznlatval. Alias-nak kell lennie s nem
  parancsrtelmez szkriptnek, mivel fel kell insmernie az aktulis
  konzol szmt. Ez az n C-parancsrtelmez alias-om, ami az X-et a
  msodik, rgztett frekvencij monitoromon indtja:


  alias startxfb = "
  setenv FRAMEBUFFER /dev/fb\!*;    # belltja a krnyezeti vltozt a parancs argumentumra.
  con2fb $FRAMEBUFFER /dev/$tty;    # Elmozdtja az fb-t az aktulis tty-re.
  fbset -fb $FRAMEBUFFER 1280x1024@62;  # Kedvenc az /etc/fb.modes-bl.
  startx -- :\!* -bpp 16 vt0`echo $tty | cut -dy f 2`' # X ezen a tty-n.
  "



  A .cshrc llomnyomban ez mind ugyanabban a sorban tallhat egytt, a
  megjegyzsek nlkl, de a knnyebb olvashatsg rdekben sortrst
  tettem bele, valamint megjegyzseket szrtam be magyarzat gyannt.  A
  framebuffer sorszmt argumentumknt tadom neki s mr indul is az X.

  Nem vagyok biztos benne, hogy hogyan kell ugyanezt az alias-t bash
  alatt elkszteni. Nem tudom, hogyan kell meghatrozni az aktulis
  tty-t, vagy hogyan kell az argumentumokat tadni a bash-nek. Ha valaki
  elmondan, beszrnm ide. Habr hasznlhatod a "tty" utastst, hogy
  megtudd az aktulis VT nevt s egyszeren kt kln alias-t adsz
  mindkt X szervernek.


  13.11.  Egyb megjegyzsek s problmk

  * Az "fbset" s a "startx" egyarnt ugyanarrl a framebuffer-rl kell,
  hogy fussanak. Ez a slyos korltozs gtat szab a szkriptekbl
  trtn automatizlsnak.

  * Az XFree86 4.0-ben "megfelel" tbb-fejes tmogats lesz, de a 3.3.1
  nem rendelkezik ezzel. Futtathatsz kt kln szervert 3.3.1-el, s
  hasznlhatod az x2x-et, hogy kapcsolgass kzttk, habr... (lsd a
  kvetkez pontot)

  * Az inaktv framebuffer a hasznlata utols kpkockjt tartalmazza,
  nem fog frisslni.
  * A monitor, ami nincs kivlasztva, nem rzi meg az llapott, ha nem
  aktv (De azrt ltalban megteszi.).

  * Geert Uytterhoeven (a framebuffer karbantartja) s Linus Torvalds
  nem rtenek egyet a jelenlegi "framebuffer per VT" tbbfejes konzol
  tmogats vltoztatsban (pl. fbaddon), gy lehet, hogy soha nem lesz
  a kernel fa f csapsa ez a tma. (Ezt harmadkzbl hallottam, s
  elkpzelhet, hogy semmi sem igaz belle.)

  * Ha "megszeged a szablyokat" s az X szervert msik monitorrl
  indtod ("startx" futtatsa), a gp csnyn ssze fog omlani a
  billentyzet s az egr bemenetnek sszekeveredsvel.

  * A framebuffer.txt dokumentci a kernel forrsban elmagyarzza, hogy
  az XF86Config llomny Modeline belltst kzvetlenl is
  hasznlhatod az X szerver futtatshoz. A Matrox framebuffer
  hasznlata gy ltszik arra knyszerti az X szervert, hogy
  szabaduljon meg mindezektl. gy egy idben csak egy ("default")
  belltsod lehet (ugyanaz, mint szveges zemmdban).

  * Az XF86_FBDev nem gyorstott. Habr ltezik patch a gyorstott
  Matrox tmogatsra a http://www.in-berlin.de/User/kraxel/xfree86/
  cmen.


  13.11.1.  Az "ts init szint" (azaz az xdm/gdm) mkdsre brsa

  Mg nem talltam r megoldst, hogy hogyan lehetne ts init szintben
  elindtani a gpet kt monitoros konfigurcival (s tulajdonkppen a
  szerver megvan a msodik monitoron vagy mindkettn). Mg elg
  egyszernek tnik egy j sor hozzadsa a gdm/xdm Xservers
  llomnyhoz, az a megkts, hogy ugyanarrl a framebuffer-rl kell
  indtanod az X szervert, megakadlyozza a nyilvnval megoldst a
  mkdsben. Ha valaki tall r megoldst, krem, kldje el E-mail-ben
  nekem s beillesztem ide.


  13.11.2.  Az x2x program hasznlata.

  Ltezik egy aranyos kis program, az x2x, ami X szerverek kztt
  kapcsolgat neked, ha a kperny szlhez rsz. A program legutbbi
  ismert honlapja a http://ftp.digital.com/pub/DEC/SRC/x2x/ cmen volt.
  Ez egy opcionlis Debian csomag is egyttal. Mg nem prbltam, de
  tbb felhasznl sikeres hasznlatot jelzett.


  13.11.3.  Egyb hasznos utastsok

  Ezek ltez Linux utastsok, amik megrdemlik, hogy az ember
  emlkezzen rjuk, amikor tbbfejes konfigurcival kzd (klnsen, ha
  szkripteket r).

  * A "chvt" lehetv teszi a virtulis terminlok kztti vltst.

  * Az "openvt" j virtulis terminlon (VT)indt programot.

  * A "tty" visszaadja az aktulis terminl nevt.


  13.11.4.  A. Fggelk - Octave cvtmode.m szkript

  (jegyezzk meg a bpp belltst)



  #!/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) fggleges idk:
  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("   idk %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. Fggelk - Borne Shell szkript "cvtfile"

  (Ez hvja meg az octave szkriptet, a "cvtmode"-t)

  #!/bin/sh

  # Shell szkript, mely talaktja az XF86Config llomnyt fb.modes llomnny.
  # A cvtmode.m octave szkriptet hasznlja

  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.  Karakterkszletek hasznlata s vltsa


  A kbd-0.99 csomagra van szksged ahhoz, hogy vltani tudj a
  karakterkszletek kztt. A ftp://ftp.win.tue.nl/pub/linux/utils/kbd
  cmrl szerezheted ezt be.

  A kbd-0.99 csomag letltsnek s teleptsnek nagy elnye, hogy be
  tudsz tlteni nemzetkzi karaktereket is (pl. az Euro szimblumot) a
  konzol eszkzdre (Az a minimum, hogy a hrom legfontosabb szimblumot
  tartalmazza a billentyzetem, a dollr jelet, az Angol font
  szimblumot s az Euro jelet!).


  15.  Konzol mdok vltsa


  Ahhoz, hogy zemmdot tudj vltani (azaz 640x480, 800x600, stb), az
  fbset programra van szksged (jelenleg az fbset-19990118.tar.gz) -
  ftp-vel megleled az albb tallhat cmen:


  http://www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz



  Teljes utastskszlettel rkezik a hasznlatt illeten.


  16.  Az X11 FBdev meghajt zembe helyezse


  Ha nem 3.3.3.1-es vagy ksbbi XFree86-ot hasznlsz, srgsen
  frisstsd legalbb 3.3.3.1-es XFree86-ra, ez tartalmazza a framebuffer
  eszkzk szmra az FBdev X meghajtt. Egybknt kvesd az albb
  tallhat lpseket a letltshez, vagy ksztsd el a sajt FBdev
  meghajtdat a rgebbi XFree86 verzikhoz, mint a 3.3.2, vagy a 3.3.3,
  stb.

  Menj a http://www.xfree86.org cmre, s tltsd le a legfrisebb
  XServers forrs arhvumot, tmrtsd ki s konfigurld be a
  meghajtkat a kvetkez lpseket kvetve:


    Szerkeszd az xc/config/cf/xf86site.def llomnyt, trld a "#define
     for XF68FBDevServer" megjegyzst

    Kommentezz ki minden FB_VISUAL_STATIC_DIRECTCOLOR referencit,
     mivel ezek valtlanok, s tbb nem hasznlatosak. Ha XFree86
     3.3.3.1-et hasznlsz, mincs szksg erre a lpsre - mivel mr
     eltvoltottk ket.

    Szerkeszd az xc/programs/Xserver/hw/xfree86/os-
     support/linux/lnx_io.c llomnyt, s rd t a K_RAW-t K_MEDIUMRAW-
     ra.

  majd ksztsd el a meghajtt. Ne aggdj az m68k referencik miatt, ez
  Intel platformot tmogat. Ezutn ksztsd el az egsz dolgot - j
  idbe beletelik, mg vgigmegy a hatalmas forrsfn.

  Vlaszthatod azonban, ha idt szeretnl megsprolni, hogy az albbi
  szerverek valamelyikrl beszerzed a megfelel binrist. Vedd
  figyelembe, hogy ezek

  A libc5 esetn a kvetkezt hasznld:

  http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.gz


  glibc2 esetn pedig a kvetkez cmekrl tlts le:


  http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz
  http://pobox.com/~brion/linux/fbxserver.html



  Jelentettk, hogy az X11 nem mkdik nhny grafikus krtyval, ha a
  vesafb lehetsg engedlyezett. Ha ez trtnik, prbld ki az X11 j
  XF86_FBdev meghajtjt.

  Ez a meghajt, a vesafb-vel egyetemben egyarnt segthet az X11
  magasabb grafikus felbontsban val futtatsban nhny olyan
  chipkszlet esetn, amit nem tmogatnak a jelenlegi X11 meghajtk. A
  pldk az MGA G200-ra vonatkoznak.

  Ahhoz, hogy bekonfigurlhasd az XF86_FBdev meghajtt az X11
  rendszeredhez, a kvetkezkppen kell tszerkesztened az XF86Config
  llomnyt:


  Section "Screen"
          Driver          "FBDev"
          Device          "Primary Card"
          Monitor         "Primary Monitor"
          SubSection      "Display"
                  Modes           "default"
          EndSubSection
  EndSection



  Ezen kvl az XkbDisable paramtert is be kell lltanod a
  billentyzet szekciban, vagy az XF86_FBDev szervert a '-kb' opcival
  hvd, hogy gy llthasd be a billentyzeted, hogy helyesen mkdjn.
  Ha elfeletkezel az XkbDisable belltsrl, a kvetkez sort kell az
  .Xmodmap llomnyodba tenni, hogy kijavthasd a billentyzet
  hozzrendelseket. Msik lehetsges megoldsknt tszerkesztheted az
  xkb llomnyod, hogy a lejjebb tallhat listt tkrzze.

  Ezt javtottk az XFree86 3.3.3.1-ben, s mindenkppen j tlet
  frissteni erre a verzira, mert van nhny hibajavts s nem
  utolssorban tartalmazza az FBDev-et, az egyik mr korbban emltett
  meghajtt.


  ! 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 nmi machinlst gnyel (prbld meg tmsolni az eredeti
  defincit az eredeti X11 meghajtbl, amit hasznltl s rd t a
  meghajt nevet FBDev-re), de tulajdonkppen ez az, amire a vesafb X11
  meghajt hasznlathoz szksged van.

  Remlhetleg a grafikus krtyk tmogatsnak problmjt kijavtjk
  az X11 ksbbi kiadsaiban.


  17.  Hogyan alakthatom t az XFree86 modeline sorokat framebuffer
  eszkz idkre?


  Ha felteleptetted az XFree86-t (X11) a gpedre, s eredmnyesen
  hasznlod, egyszer dolog talaktani a modeline sorokat az
  XF86Config-bl a framebuffer eszkz szmra szksges idkre.

  A framebuffer eszkzhz a kvetkez mezkre van szksg:

    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 kvetkez mezket tartalmazza:


  Modeline  "1280x1024" DCF HR SH1 SH2 HFL VR SV1 SV2 VFL



  Nhny egyszer szmts elvgzsre van szksg az XF86 mode-sorok
  framebuffer eszkz idztsbe val tszmtshoz. Pldul meg kell
  vizsglnunk, hogy hogyan alakthatjuk t az XF86Config llomnybl
  vett modeline sor rtkeit.


  Modeline  "1280x1024" 110.00 1280 1328 1512 1712 1024 1025 1028 1054



  Elszr szmoljuk ki a szksges pixclock rtket. Az XFree86
  megahertzet hasznl, mg a framebuffer eszkzk picoszekundumot
  hasznlnak (Hogy mirt? Nem tudom. ) Ossz el egymillit a DFC-vel.
  Pldul: 1,000,000 / 110.0 = 9090.9091


  Most ki kell szmolnunk a vzszintes idket.

    left_margin = HFL - SH2

    right_margin = SH1 - HR

    hsync_len = SH2 - SH1


  A pldnkban ez a kvetkez lenne:

    left_margin = 1712 - 1512 = 200

    right_margin = 1328 - 1280 = 48

    hsync_len = 1512 - 1328 = 184


  s most ki kell szmolnunk a fggleges idket.

    upper_margin = VFL - SV2

    lower_margin = SV1 - VR

    vsync_len = SV2 - SV1


  Pldul ez a kvetkez lenne:

    upper_margin = 1054 - 1028 = 26

    lower_margin = 1025 - 1024 = 1

    vsync_len = 1028 - 1025 = 3


  Most felhasznlhatjuk ezt az informcit a framebuffer kvnt
  zemmdjba lltshoz.  Pldul a matroxfb framebufferhez a
  kvetkezre van szksg:


  video=matrox:xres:<>,yres:<>,depth:<>,left:<>,right:<>,hslen:<>,upper:<>,lower:<>,vslen:<>



  A kvetkez sort tettem be a /etc/lilo.conf llomnyomba:

  append = "video=matrox:xres:1280,yres:1024,depth:32,left:200,right:48,hslen:184,upper:26,lower:0,vslen:3"



  Jegyezzk meg, hogy ebben az esetben a pixclock nem hasznlatos. Csak
  akkor szksges, ha nem szereted az alaprtelmezett rajeleket.
  tadhatod ezt paramterknt is. A pixclock belltsa e HOGYAN ms
  rszeiben megtallod.


  18.  Tovbbi informcikat keresel?


  Azoknak akik rdekldnek a framebuffer meghajtk irnt, nzzk meg a

  http://www.csoft.net/~systems/jim/fb.html


  honlapot a programozsi informcikrt.

  A franciul beszlk szmra megtallhat egy fordts a

  http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.html



