1                       Video Mode Selection Support 2v13
   2                    (c) 1995--1999 Martin Mares, <>
   51. Intro
   7   This small document describes the "Video Mode Selection" feature which
   8allows the use of various special video modes supported by the video BIOS. Due
   9to usage of the BIOS, the selection is limited to boot time (before the
  10kernel decompression starts) and works only on 80X86 machines.
  12   **  Short intro for the impatient: Just use vga=ask for the first time,
  13   **  enter `scan' on the video mode prompt, pick the mode you want to use,
  14   **  remember its mode ID (the four-digit hexadecimal number) and then
  15   **  set the vga parameter to this number (converted to decimal first).
  17   The video mode to be used is selected by a kernel parameter which can be
  18specified in the kernel Makefile (the SVGA_MODE=... line) or by the "vga=..."
  19option of LILO (or some other boot loader you use) or by the "vidmode" utility
  20(present in standard Linux utility packages). You can use the following values
  21of this parameter:
  23   NORMAL_VGA - Standard 80x25 mode available on all display adapters.
  25   EXTENDED_VGA - Standard 8-pixel font mode: 80x43 on EGA, 80x50 on VGA.
  27   ASK_VGA - Display a video mode menu upon startup (see below).
  29   0..35 - Menu item number (when you have used the menu to view the list of
  30      modes available on your adapter, you can specify the menu item you want
  31      to use). 0..9 correspond to "0".."9", 10..35 to "a".."z". Warning: the
  32      mode list displayed may vary as the kernel version changes, because the
  33      modes are listed in a "first detected -- first displayed" manner. It's
  34      better to use absolute mode numbers instead.
  36   0x.... - Hexadecimal video mode ID (also displayed on the menu, see below
  37      for exact meaning of the ID). Warning: rdev and LILO don't support
  38      hexadecimal numbers -- you have to convert it to decimal manually.
  402. Menu
  42   The ASK_VGA mode causes the kernel to offer a video mode menu upon
  43bootup. It displays a "Press <RETURN> to see video modes available, <SPACE>
  44to continue or wait 30 secs" message. If you press <RETURN>, you enter the
  45menu, if you press <SPACE> or wait 30 seconds, the kernel will boot up in
  46the standard 80x25 mode.
  48   The menu looks like:
  50Video adapter: <name-of-detected-video-adapter>
  51Mode:    COLSxROWS:
  520  0F00  80x25
  531  0F01  80x50
  542  0F02  80x43
  553  0F03  80x26
  57Enter mode number or `scan': <flashing-cursor-here>
  59   <name-of-detected-video-adapter> tells what video adapter did Linux detect
  60-- it's either a generic adapter name (MDA, CGA, HGC, EGA, VGA, VESA VGA [a VGA
  61with VESA-compliant BIOS]) or a chipset name (e.g., Trn ua8" clae (e.g., Trn u6rcum="Documiumentation/svga.txt#L43" id="L43" cl6ss="line6 name="L52">  520  6F00  62ameter:.g., Trs a k  531  6F01  60x50
howodesenapterthet;SPACEreDocuDocum)vers a generiinf="DntcuDunre a pterdu to entation/svga.txt#L43" id="L43" cl6ss="line6 name="L54">  542  6F02  60x43
umbers icuDf="ane PC&quoignmentation/svga.txt#L57" id="L57" cl6ss="line6 name="L55">  553  6F03  6e" name="L35">  35

     <name-of-dete6ted-v6deo-anext6stxt#L29" id="L29" class="line" name=6 did Lin6x detect
menu, if you preL45">>aL43"uPACEL43" aame="L20tocum aboudapter name (MDA, CGA, HGC, EGA, VG7DEO_ine)7t de t CGA,4odes aventa7ion/s7ga.txlist dUnknownt="L37">ss="linecl6s9.3rycum L16">  ="lin  nta  60vga.txt#L48" id="L48" class="line" name=7id="L57"7cl6ss="line6 name="L55"7  55<7 8-pixel font mode: 80x43 on EGA, 80x507.10
   h>  been name="L3,x"L20"="L52">-/svga.tcvga.txt#L34showntaode numbers instead.
  =("L20" ">>seemubmiine"missiine"r3
uusss="line" namn/svga.">  diup. ed to "0".."9", 17L59">  57   <name-of-dete7ted-v7deo-a="litxt#L34often Docppss=#L43"f="Do52      for exact meant#L34p----ga.tasge of:Docum3" cl">  11=#L43xel font mode: 80x43 on EGA, 80x508DEO_ine)8t de t CGA,4odes aventa8ion/s82 href="Documentate="Lsa("L24">metecumen)ter:
ss="liname="L >
  v2v="Lsa("L248>metxel font mode: 80x43 on EGA, 80x508f="Dntcu8unre a pterdu to entati8n/svg8.txt#cumen), loction="Lsa(i">>aloction="Lsaious spes9.="L43"d),"ant Bo con>metxel font mode: 80x43 on EGA, 80x508id="L57"8cl6ss="line6 name="L55"8  55<8 8-pifinga.taS="line" sr `scan&#auto"L60" claine" namxt#L29" id="L29" class="line" name=8.10
    456.13"o> h>ppy=#L43"f="De="L33" cltup. laia>0  6Fss="lintocuke" nam=ntavalue="v2v6.18.1"
  to re)>  31 ="PACEss="lin 58<>
  v2/svga.t" ">ss="line" na/t="L37">."Docuvalue="v2v6.18.1"
     9to usage of the" namine".25 mo>ppear (plus" nad> "L20xel font mode: 80x43 on EGA, 80x509DEO_ine)9t de t CGA,4odes aventa9ion/s92 hre`ghos0vga.tsute m).65">  456.13afraidentaticould dam0" c" namn=nit n,imal numbern a &qiode numbers instead.

   " id="La>-#L9ameter t"Docusne6v6 nof the14" class="#L34showntstarts chipset name (e.g., Trn ua8" clae9; featur9e which
allowIDode numbers instead.
  120   **  Short intro f01tat" 1href="DBd in a o">>aL43"lexe="Lo">#L9ae" name="Lstuff,ne" name="L14"> IDode numbers instead.
   /svg56.13a7 43"a=16-bit ine" nausvga.tde numbers instead.
m="L34" c9" class="linod.
of thisrtt  e="L3de numbers instead.
  45knowpcl66v6nna">cl6s9l numbershownt exact meanxt#L17" id="L17" class="line" name="0first).
<0a href="Documentation/sv05tat" tion value="v2v6.18.1"
    170   The video mode to06tat" " id=Tme="L entationakefilmdr" nad"L16">neene6g >
sntation/svga.txt#L53" id="L53" clas10ch can be0
  4t#L12" id="L12" class="line" name="Lhref="Doccumentation/svga.txt#L11"" id=110/svga.tttttt 30      m14" class="ious sptxt#L17" id="L17" class="line" name=""L12">  12<   **  Short intro fo1tat"e impatient: Just use vga=ask for the firrst time,

  177   The video mode too be 116/svga.tttttt0x0100x AL9aant Bo conrshould b&#autoL60" clainhex"hownt exact meanxt#L17" id="L17" class="line" name="ich can bee
  12ne" name="L22">  22
1>aocumentate="Ls)/aCta  60.tainue or wntation/svga.txt#L53" id="L53" clas1"L25">  215   EXTENDED_VGA - S1tanda124/svga.tttttt0x0f00"Documentation/s,imal number21" 0vga.tna">alneady4stt (=FFFFttient: Just use vga=ask for the firsfirst).
<  177   ASK_VGA - Displa1y a v126/svga.tttttt0x0f="Do="lihref="(="lis#L4chad"L163on/4" c_VGA1=#L43"a="-point  26   0..35 - Menu ite1m num128/svga.tttttt0x0f=4 Mleav" nta  60vdisplays atient: Just use vga=ask for the firs;vidmode&of
  > 531  6F01HACKion/sgraph/svga.ttient: Just use vga=ask for the fir u want to  use,
  21svga.txt#L35" id="L35" c1lass=1line" nam0x" 00"L160x7fff -.o conrssvga.txt#the21"3  6vgax Tme=ca.tnh>  a".txt#L3xRRCCther boot loader you use) or by the ""L36">  316   0x.... - Hexadec1imal 13#L26" idttttt_lookw/svg5RR 43"a=ine" naof r" idnhexCC 43"a=ine" naof c3  mntxt#L12" id="L12" class="line" name=", see bel1ow
  246F0x2b8napte132x43 etcxt#L12" id="L12" class="line" name=",ch can bert
 ine"#autom pic"L"ytxt#L17" id="L17" class="line" name="" name="L141">  41~~~~~~~
  42   The ASK_V1GA mo141ne" nam0xff00"L160xffff -.alias sr `scb3ckwntatL43"43 bame="ntation/svga.txt#L53" id="L53" clas1upon
  456ddD0x8 00"L16act ma.tnID,ne" nprogramx25 mo3ryupterec"Lculatatient: Just use vga=ask for the fir"L47" cla1ss="line" name="L47">  4171  n/svga.tistrnel Makefil/a>    ne PC&quoignmentation/svga.txt#L57"1"L48">  418   The menu looks l1ike:
1a hrefe>kernata="L20"583oycum bugsaof chreain  60x="liondpusvga.tathosl/a>    `se PC&quoignmentation/svga.txt#L57"1"e "vs="line" name="L49">  491
1a href=nta1=#L43"S3L43" id="LnhexolexCirre" Logicx="lion)e="Lmain.taextra _VGA1=/optioe PC&quoignmentation/svga.txt#L57"1";vidmode&0Video adapter: <1name-1f-deteehexo">>amentatixt#L17" id="L17" class="line" name="cumentati1on/svga.txt#L51" id="L511" cla1508-pixel font mode: 80x43 on EGA, 80x501 class="l1ine" name="L52">  5210  0F10  80x4. O/svgaode numbers instead.
  531  0F101  81x50
  542  0F102  8153/svga.tSL20" /svgaoMakefil/stt L19" idsourc  &ext6(34" rch/i386/ompr/displ.itxt#L29" id="L29" class="line" name=1s="line" 1name="L55">  553  0F103  81x26
>m"#L34si3"le #def 55ute mo ="L are lt>m"L16#unaefute mo e="L30">  mode It#L29" id="L29" class="line" name=1sll boot 1name="L56">  56....
1  57Enter mode numb1er or15ed is selected by a kernel parameter whihref="Doc1umentation/svga.txt#L58"1 id="157/svga.t531  6F01  60x-.="L43"s#autoL60" cvga.txt  60x=nta1.txt#L8isps#L4chad selected by a kernel parameter whihe "v9   <name-of-dete1cted-1ideo-a"line6 name="L5>  542  a=bit 
umbers icuDf="an &erri iy bad35">  35  4 selected by a kernel parameter whih;vidmode&ux detect
haparamet14" class="ious sp selected by a kernel parameter whiA, VESA V1GA [a VGA
amet3b8f20c selected by a kernel parameter whiAclass="l1rn u6rcum="Documiumentat1ion/s1ga.txt#L34"o> L43"le6e" ne="Ltion casee" nne6 nameneedentatiious sp, "leaseedrop 20xel font mode: 80x43 on EGA, 80x501IDEO_ine)1st de t CGA,4odes aventa1tion/1vga.txaLmail5>  Intocukeof removcum 4i="L20"dtixt#L17" id="L17" class="line" name="nf="Dntcu1Dunre a pterdu to entati1on/sv16entattient: Just use vga=ask for the fir id="L57"1 cl6ss="line6 name="L55"1>  55164/svga.t531  6F01ant B-.="L43"s#autoL60" cvga.txtant Bo con. I">cl6doe9l numbera hrtient: Just use vga=ask for the fir ll boot 1ion>
  <1ption ine" namn/svga." id=txt#L44" id="L44"Error: S 5838  17<   The video mode to r or11" id= 31  #L4chticltup"Detere995-->  a"bugxt#L17" id="L17" class="line" name="nref="Doc16mentation/svga.txt#L58"16id="16 href="Documentation/svga.txt#L49" id="16L59">  516   <name-of-dete16ted-168/svga.t531  6F01COMPACTB-.="L43"s#L43"4ctline" name=displays a " idL45">>sp selected by a kernel parameter whiA;vidmode&6x detect
  abovp selected by a kernel parameter whi7, VESA V17A [a VGA
v1" netrre l3cas sr542  possi ic selected by a kernel parameter whi7class="l17n u6rcum="Documiumentat17on/s17a.txt3>" clasc selected by a kernel parameter whi7DEO_ine)17t de t CGA,4odes aventa17ion/17ga.txdo ="LL19" aticaparass="" ati #L4chttup"44">  4amet3b8txt#L17" id="L17" class="line" name="7f="Dntcu17unre a pterdu to entati17n/sv17entattient: Just use vga=ask for the fir7id="L57"17cl6ss="line6 name="L55"17  55174/svga.t531  6F01RETAINB-.="L43"s#reeainline" nlineen t#L1" id e="L3 #L4chlintient: Just use vga=ask for the fir7ll boot 17on>
  <175href">   9t. W href="Doc#L43""L20"="line" namsLrnel Mleav".="ough roomr `scan&tient: Just use vga=ask for the fir7L17">  177" cl"er name (MDA, CG  17optL17" id=buup. . (5">  45  39  31 adjheap_ehe_ptnamhexe" nflagc selected by a kernel parameter whi7ch can be

2  L35">  35  517   <name-of-dete17ted-17deo-adapter> tells what video adapte17 did Lin17x detect

   iepehelintient: Just use vga=ask for the fir8(e.g., T18n u6rcum="Documiumentat18on/s181hrefga.hntaw6.13t#Lfigura6vgax Tme=loction="Lsa6.13" id="L34"" idsourc  &ext6afPACtient: Just use vga=ask for the fir8DEO_ine)18t de t CGA,4odes aventa18ion/182 href="Dtter tlocti_n="L_ a ic:<>
  v2,4odx Tme=came vgtstarts"" ati,4ods="line" name="_looa to "0".."9", 118f="Dntcu18unre a pterdu to entati18n/sv18.txt#" name= a icu(rnel Ma7      for exactto "0".."9", 118id="L57"18cl6ss="line6 name="L55"18  5518ion/svgpo" name="enutxt#L29" id="L29" class="line" name=18.10
  <18tion value="v2v6.18.1"
     des hreain buggyx="liondrnel Mdra ID). Warning: rdev and LILO donľ BIOS. D1uue
sti,og5stineedad"asr54"_loclsere6" tlineame=displacntaxt#L48" id="L48" class="line" name=19, VESA V19A [a VGA
   lata0name="L9drin  mia>0  6F800m60n/svgIBM TminkPa34"> rthet;SPACEreDocuDocum)vers a generii19f="Dntcu19unre a pterdu to entati19n/sv19.txt#" id="L29" class="line" name=19id="L57"19cl6ss="line6 name="L55"19  551926

  <195href&ext6lineen 21"3  6vga2/svga.t" ">peekcum 4i=fromaine".darrs ics. Dal numbern a="Documentation/svga.txt#L49" id="19" id="L619" cl"er name (MDA, CG  19optL19" id=un">sti"lintocuke" n5knowp-" n numbramdocum. Tokup" vata=" ati ttup,rn a="Documentation/svga.txt#L49" id="19ch can be9e which
    120   **  Short intro 201tat2 1href="DW to ame=" namd60" cvga.doe9l numbera hrla>0  6Ff="De="L33" cl#L8iLmentac0v`se PC&quoignmentation/svga.txt#L57"20st time,20>      lineame="enut,o3ryupte #L4chttup""L20" "e PC&quoignmentation/svga.txt#L57"20ers.
cl6fails>  31  tid="n a="Documentation/svga.txt#L49" id="20d then
<20 href="Documentation/sv204tat2  8-pi" namard 80x2543"f="Ddisplays a rtt dr:.g." nviastandard 80x n/svga.txt#L29" id="L29" class="line" name="0first).
20a href="Documentation/s205tat2 tion value="v2v6.18.1"
    120   The video mode t206tat20" id="L65nid="L61"capa, "leaseesehex20"5 bugere995--.txtaam--g=#/a>-_8" clly_value="v2v6.18.1"
  ppe29.nhexL43"do lassmeLfigura6vga"s#L4cha9.nffac0vact behavi nam" name=bugxt#L17" id="L17" class="line" name=20e "20ga=..."
  45"t--- a genefromaM$-De" n  45mubmiia7     to use)0x0f=4 ys a (tter tleav"e PC&quoignmentation/svga.txt#L57"2Llass="linee" name="L22">  22
  45mal numbernhex="L20">rnhy=non-ocumentae PC&quoignmentation/svga.txt#L57"2Lst time,2
autom pic"L"yxt#L17" id="L17" class="line" name=2ru want t2o use,
  45"ei="L20"ext" nad"  24>amentati-.txtaam--g=alneady4scrolled-o>  127   The video mode t2o be 216/svg.txtaame=f="De=s> L43m3.8., the sel bugec"L"ad"list diLmentac0v hreic"Lumentatito "0".."9", 12 a href="De
ne">ona n/svga.t4"> no#autoL60" areisv2v6.13inue or wxt#L17" id="L17" class="line" name=2r;vidmode2" utility
  45  39< or a/cntatmete" nammentati- tid="ion/svas"Document" namine"cted-video-adapter>
<1  6F014001HACKis#L4cht&octed-video-adapter>
  23<   NORMAL_VGA - Standvga.22t#L13_locl/stttline" nlassmentac0vga.txt#L48" id="L48" class="line" name=2ters.
  255   EXTENDED_VGA - Sttanda224/svg6. H idorito "0".."9", 12 on VGA.
<  277   ASK_VGA - Displayy a v226/svg1.0 (??-Nov-95) F28"8.   modes usage --g=allon/ usage of the BIOolae PC&quoignmentation/svga.txt#L57"2  299   0..35 - Menu itemm num228/svga.ttttttttttttttDeter to removof Df="an /svgabame=""Doc1L20"n/svga.txt#L12" id="L12" class="line" name=2the list oof
t#L12" id="L12" class="line" name=2tem you w2ant
  star waiexplicitays a entati--g=all
  v2/3"lem idad"etcxt#L12" id="L12" class="line" name=2 because 2the
  10the21"3  6vgat#L12" id="L12" class="line" name=2 ers.
  susage of. Few bugsafixof. ant Bo con>m.13" id="Lpri`scaocted-video-adapter>
  22svga.txt#L35" id="L35" c2lass=234="line" name="L2">  to usaltxt#the  60xautoL60" cvga.3">  3y"#L34="spembers icxt#L12" id="L12" class="line" name=2 on VGA.
<6   0x.... - Hexadec2imal 23#L26" idtttttttttttttCLGDxautoL60" c . Dae9l numberdepehexument24">becumt#L12" id="L12" class="line" name=2 L27">  27ow
  29a href="Documentation/sv2ga.tx238/svg2.2 (01-Feb-96) E"lihref="fixof. ant Bext" nad" ID0x200-0x4ff (non-ocumentat02XXt#L12" id="L12" class="line" name=2 he list o02. Menu

  vrec"Lculatather boot loader you use) or by the &quo2" name="L242">  42   The ASK_V2GA mo24s="line" name="L2">  flag,t0xffff Dete0xfffe ed i20"5lias sr/svga.t" ">e6 n IDo.t#L12" id="L12" class="line" name=2"because 2ref="Documentation/svga.2txt#L24="L3" class="line" naSineen t#L1" id reeainof Dfi--g=ne" naare li.t#L12" id="L12" class="line" name=2"ers.
  25<   EXTENDED_VGA - Staass=24 8-pi2.4"(18-Mar-96) Adnad"pa4cha9.theH.29.Lermen"s""Dv1"writ npro icmt#L12" id="L12" class="line" name=2"on VGA.
  427246/svga.tttttttttttttt>seeaare li. Un `stunataly nlineen t#L1" id reeainlinea hreapter name (MDA, CGA, HGC, EGA, VG2"a href="D8   The menu looks l2ike:
247/svga.tttttttttttttt="Doc#L43""L20"e" namsLna..t#L12" id="L12" class="line" name=2"L29">  29s="line" name="L49">  492
248/svga.ttttttttttttttAdnad"a T" ige132x60vga.txt#L48" id="L48" class="line" name=2";vidmode20Video adapter: <2name-249/svg2.5"(19-Mar-96) Fixof"a=ant Bo co=n 5838 re995-L34"> iiifixa9.error re995-s"Dot#L48" id="L48" class="line" name=2c name="L2ine" name="L52">  5220  0F25s="line" name="L2">  sev1" n =nta1=#L43"brokenrant Bca.tna>0  6FATI= 60)xt#L48" id="L48" class="line" name=2cbecause 2name="L53">  531  0F201  8252/svg2.7 (09-Apr-96) - AccepclainL9aant Bo conr34"rre l30x" 0"L160x7ffsted in a "L20xel font mode: 80x43 on EGA, 80x502s="line" 2name="L54">  542  0F202  8253="line" name="L2">    =nta1=n a v1" netrre l3ys a entatioxt#L48" id="L48" class="line" name=2cL25">  25name="L55">  553  0F203  8254="line" name="L2">  -tAdnad"R6 ntek ="line" sr(tarekid=teGonzalo Tornarrs)xt#L48" id="L48" class="line" name=2con VGA.
2  57Enter mode numb2er or256/svga.tttttttttttttt  t#L1" id ine"#as6.28"8xt#L48" id="L48" class="line" name=2ca href="Dumentation/svga.txt#L58"2 id="257/svga.tttttttttttttt-tAdnad" usage 3fid="ame="L9aispl7 o co=n#L4chlin funasvgaeapter name (MDA, CGA, HGC, EGA, VG2he "29   <name-of-dete2cted-258/svga.tttttttttttttt r(tarekid=teTom VDetameAs)xt#L48" id="L48" class="line" name=2c;vidmode2ux detect
    Jeff Chua, rewritten theoptxt#L17" id="L17" class="line" name=2IDEO_ine)2st de t CGA,4odes aventa2tion/26="L3" class="line" na-aSineen idore/3b8t"spefixof.t#L17" id="L17" class="line" name=2I="line" 2Dunre a pterdu to entati2on/sv263/svg2.8"(14-Apr-96) - Previne" releaseewas4"o> L43"lass="l#L43o>1  6F01  60.t#L17" id="L17" class="line" name=2IL25">  25 cl6ss="line6 name="L55"2>  55264="line" name="L2">  -tB35">  recognicvga.txt&ext6e="Lsa>fi--g=ne" n4" c.t#L17" id="L17" class="line" name=2Ion VGA.

  <2ption 2.9"(12-May-96) - Igno>
 uant Bo conr0x8  - 0xff (="speant B sel bugs!ttient: Just use vga=ask for the fi26L17">  12<   The video mode t2 r or21" id=2.10"(11-Nov-96)- Tme=whola=" a-g=nade" /svgaa0.t#L12" id="L12" class="line" name=2nref="Doc26mentation/svga.txt#L58"26id="267/svga.tttttttttttttt-tAdnad"lass531  6F014001HACKis#L4ch.t#L12" id="L12" class="line" name=2ne "26   <name-of-dete26ted-268/svga.tttttttttttttt-tAdnad"lass531  6F01GFX1HACKis#L4ch.t#L12" id="L12" class="line" name=2n;vidmode26x detect
  -ter:.g.,res iine"xt  60xn/ cl6ss="line6 name="L,t14" class=t#L12" id="L12" class="line" name=27DEO_ine)27t de t CGA,4odes aventa27ion/27="L3" class="line" na ltup. laiexplicitlyr exact prompt2,4odxt#L12" id="L12" class="line" name=27="line" 27unre a pterdu to entati27n/sv273="line" name="L2">  -"R6movof  gtamL1"    funasvgae5>  Intryuptegtt rit" ">_"L"_.hntaw6.13pro cum /svgxt#L12" id="L12" class="line" name=27on VGA.
  <27tion 2.12 (25-May-98)-tAdnad" usage 3fid=ant Bf/svg buup. ngraphicsxt#L12" id="L12" class="line" name=27L17">  127" cl"er name (MDA, CG  27optL27" id=2.13"(14-May-99)-tMinid=tL12" class="ifixa9xt#L12" id="L12" class="line" name=27ref="Doc2

Tme==riginga.LXR "Lftw6.13the BIO#L12" id=http://sourc">LXR L43municy" cl,9" atiexperi" claa. modesthe#L12" id=mailto:lxr@l">lxr@l" cl.
lxr.l kindiy hos0xt#the#L12" id=http://www. la"lal-l">Rla"lalFa gpro AS" cl,9pro., tam" na gene.txs="Llineahexuperasvgae5serviclsescncet19t5.