| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <HTML> |
| <HEAD> |
| <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> |
| <TITLE>The Linux keyboard and console HOWTO: Changing the video mode</TITLE> |
| <LINK HREF="kbd.FAQ-17.html" REL=next> |
| <LINK HREF="kbd.FAQ-15.html" REL=previous> |
| <LINK HREF="kbd.FAQ.html#toc16" REL=contents> |
| </HEAD> |
| <BODY> |
| <A HREF="kbd.FAQ-17.html">Next</A> |
| <A HREF="kbd.FAQ-15.html">Previous</A> |
| <A HREF="kbd.FAQ.html#toc16">Contents</A> |
| <HR> |
| <H2><A NAME="s16">16. Changing the video mode</A></H2> |
| |
| <P> |
| <!-- |
| console!changing video modes |
| --> |
| |
| <!-- |
| video modes, changing |
| --> |
| |
| <!-- |
| resolution, changing |
| --> |
| <P>As far as I know there are 6 ways to change resolution: |
| <P>1. At compile time: change the line |
| <BLOCKQUOTE><CODE> |
| <PRE> |
| SVGA_MODE= -DSVGA_MODE=NORMAL_VGA |
| </PRE> |
| </CODE></BLOCKQUOTE> |
| |
| in <CODE>/usr/src/linux/Makefile</CODE>. |
| <P>1A. After compilation: use <CODE>rdev -v</CODE> - a terrible hack, but it exists. |
| <P>2. At boot time: put <CODE>vga=ask</CODE> in the lilo config file, and lilo will |
| ask you what video mode you want. Once you know, put <CODE>vga=</CODE>mypreference. |
| <P>3. At run time: |
| A. Use the <CODE>resizecons</CODE> command. (This is a very primitive wrapper around |
| the VT_RESIZE ioctl.) |
| B. Use the <CODE>SVGATextMode</CODE> command. (This is a less primitive wrapper around |
| the VT_RESIZE ioctl.) |
| <P>4. Not "on the console": |
| Under <CODE>dosemu</CODE>, or with svgalib etc. you can change the hardware video mode |
| without the console driver being aware of it. Sometimes this is useful in |
| getting <CODE>resizecons</CODE> or <CODE>SVGATextMode</CODE> set up: use <CODE>dosemu</CODE> and some |
| DOS program to get into the desired videomode, dump (say from another VT) the |
| contents of all video hardware registers, and use that in the initialization |
| that <CODE>resizecons</CODE> and <CODE>SVGATextMode</CODE> require. |
| In some cases where the video mode has gotten into some unusable state, |
| starting <CODE>dosemu</CODE>, relying on the BIOS to set up the video mode, and then |
| killing <CODE>dosemu</CODE> (with <CODE>kill -9</CODE>), is the easiest way to get into shape |
| again. |
| <P> |
| <H2><A NAME="ss16.1">16.1 Instructions for the use of resizecons</A> |
| </H2> |
| |
| <P> |
| <!-- |
| resizecons program |
| --> |
| <P>Get svgalib and compile the program <CODE>restoretextmode</CODE>. |
| Boot up your machine in all possible video modes |
| (using <CODE>vga=ask</CODE> in the lilo config file), and write |
| the video hardware register contents to files CxR |
| (C=cols, R=rows), e.g., 80x25, 132x44, etc. |
| Put these files in <CODE>/usr/lib/kbd/videomodes</CODE>. |
| Now <CODE>resizecons 132x44</CODE> will change videomode for you |
| (and send SIGWINCH to all processes that need to know |
| about this, and load another font if necessary). |
| <P>At present, <CODE>resizecons</CODE> only succeeds when there is memory enough |
| for both the old and the new consoles at the same time. |
| <P> |
| <HR> |
| <A HREF="kbd.FAQ-17.html">Next</A> |
| <A HREF="kbd.FAQ-15.html">Previous</A> |
| <A HREF="kbd.FAQ.html#toc16">Contents</A> |
| </BODY> |
| </HTML> |