<!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: Scrolling</TITLE>
 <LINK HREF="kbd.FAQ-19.html" REL=next>
 <LINK HREF="kbd.FAQ-17.html" REL=previous>
 <LINK HREF="kbd.FAQ.html#toc18" REL=contents>
</HEAD>
<BODY>
<A HREF="kbd.FAQ-19.html">Next</A>
<A HREF="kbd.FAQ-17.html">Previous</A>
<A HREF="kbd.FAQ.html#toc18">Contents</A>
<HR>
<H2><A NAME="s18">18. Scrolling</A></H2>

<P>
<!--
console!scrolling
-->

<!--
scrolling, console
-->
<P>There are two ways to get a screen to scroll.
The first, called `hard scrolling', is to leave the text in
video memory as it is, but change the viewing origin. This is
very fast.
The second, called `soft scrolling', involves moving all screen text
up or down. This is much slower.
The kernel console driver will write text starting at the top of
the video memory, continuing to the bottom, then copy the bottom
part to the top again, and continue, all the time using hard scrolling
to show the right part on the screen.
You can scroll back until the top op the video memory by using
Shift-PageUp (the grey PageUp) and scroll down again using
Shift-PageDown (the grey PageDown), assuming a default keymap.
The amount of scrollback is thus limited to the amount of video memory
you happen to have and you cannot increase this amount.
If you need more scrollback, use some program that
buffers the text, like <CODE>less</CODE> or <CODE>screen</CODE> - by using
a buffer on disk you can go back to what you did last week.
(One can set the amount of scrollback for <CODE>xterm</CODE> by
adding a line like <CODE>XTerm*saveLines: 2500</CODE> in <CODE>.Xresources</CODE>.)
<P>Upon changing virtual consoles, the screen content of the old VT
is copied to kernel memory, and the screen content of the new VT
is copied from kernel memory to video memory. Only the visible screen
is copied, not all of video memory, so switching consoles means
losing the scrollback information.
<P>Sometimes, hard scrolling is undesirable, for example when the hardware
does not have the possibility to change viewing origin. The first
example was a Braille machine that would render the top of video
memory in Braille. There is a kernel boot-time option <CODE>no-scroll</CODE>
to tell the console driver not to use hard scrolling.
See bootparam(7).
<P>
<HR>
<A HREF="kbd.FAQ-19.html">Next</A>
<A HREF="kbd.FAQ-17.html">Previous</A>
<A HREF="kbd.FAQ.html#toc18">Contents</A>
</BODY>
</HTML>
