summary refs log tree commit diff
path: root/ppmsvgalib.html
blob: 49959b25b1edcc2db4cd2938970698816a4a1288 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN">
<html><head><title>Ppmsvgalib User Manual</title></head>
<body>
<h1>ppmsvgalib</h1>
Updated: 11 May 2005
<br>
<a href="#index">Table Of Contents</a>

<h2>NAME</h2>

ppmsvgalib - display PPM image on Linux console using Svgalib

<h2 id="synopsis">SYNOPSIS</h2>

<b>ppmsvgalib</b>

[<b>-mode=</b><i>mode</i>]
[<b>-verbose</b>]

<p>All options can be abbreviated to their shortest unique prefix.  You
may use two hyphens instead of one to designate an option.  You may
use either white space or an equals sign between an option name and its
value.


<h2 id="description">DESCRIPTION</h2>

<p>This program is part of <a href="index.html">Netpbm</a>.

<p><b>ppmsvgalib</b> displays a PPM image on a Linux virtual console
using the Svgalib facility.  Svgalib is a popular means of displaying
Graphics in Linux without the use of the X Window System.  (To display
a Netpbm image in an X window, see <b>pamx</b>).

<p>If you run <b>ppmsvgalib</b> with a version of Svgalib earlier than
1.9, you must run it with CAP_SYS_RAWIO capability (on most Linux
systems, that means you run it as superuser), because Svgalib uses the
<b>ioperm()</b> system call to access the console hardware.  Newer
Svgalib has its own device driver, so you need only proper
permissions on a device special file to access the console.

<p><b>ppmsvgalib</b> is not capable of using color mapped video modes.
These are the old video modes that are usually called "8
bit" color modes.

<p><b>ppmsvgalib</b> is a bare displayer.  It won't do any
manipulation of the image and is not interactive in any way.  If you
want a regular interactive graphics viewer that uses Svgalib, try
<b>zgv</b> (not part of Netpbm).

<p>To exit <b>ppmsvgalib</b> while it is displaying your image, send
it a SIGINTR signal (normally, this means "hit control C").

<p><b>ppmsvgalib</b> draws a white border around the edges of the
screen.  It does this to help you isolate problems between the image
you're displaying and the facilities you're using to display it.

<p>(Note: if the image you're displaying reaches the edges of the
screen, it will replace the white border).

<p><b>ppmsvgalib</b> places the image in the center of the screen.

<p>If your image is too big to display in the video mode you selected,
<b>ppmsvgalib</b> fails.  You can use <b>pamcut</b> to cut out a part
of the image to display or use <b>pamscale</b> to shrink the image to
fit.

<p>If you want to play with <b>ppmsvgalib</b>, <b>ppmcie</b> is a good
way to generate a test image.

<p>To be pedantic, we must observe that <b>ppmsvgalib</b> displays a PPM image
in the correct colors only if the display has a transfer function which is the
exact inverse of the gamma function that is specified in the PPM
specification.  Happily, most CRT displays and the modern displays that
emulate them, are pretty close.

<p>Running the PPM image through <b>pnmgamma</b> can help cause
<b>ppmsvgalib</b> to display the correct colors.

<h2 id="options">OPTIONS</h2>

<p>In addition to the options common to all programs based on libnetpbm
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions">
Common Options</a>), <b>ppmsvgalib</b> recognizes the following
command line options:

<dl compact>
<dt><b>-mode=</b><i>mode</i>

<dd>This tells <b>ppmsvgalib</b> what video mode to use.  <i>mode</i>
is the Svgalib video mode number.  You can get a list of all the video
modes and their Svgalib video mode numbers with the program
<b>vgatest</b> that is packaged with Svgalib.  (Unfortunately, the
various interesting programs that are packaged with Svgalib are
typically not installed on systems that have the Svgalib library
installed).

<p>In practice, there are probably only two modes you'll ever care
about: 25 is the standard SVGA direct color mode, which is 1024
columns by 768 rows with 8 bit red, green, and blue components for
each pixel and no fancy options.  28 is the same, but with the popular
higher resolution of 1280 x 1024.

<p>But if you have an older video controller (with less than 4MB of memory),
those modes aren't available, you might like mode 19, which is 640 x 480 and
takes less than a megabyte of video memory.  This is a standard VGA video
mode.

<dt><b>-verbose</b>

<dd>Report details of the video mode to standard error output.

</dl>

<h2 id="seealso">SEE ALSO</h2>

<b><a href="pamx.html">pamx</a></b>,
<b><a href="pamcut.html">pamcut</a></b>,
<b><a href="pamscale.html">pamscale</a></b>,
<b><a href="ppmcie.html">ppmcie</a></b>,
<b><a href="ppm.html">ppm</a></b>,
<b>zgv</b>,
<b>Svgalib</b>,
<b>vgatest</b>

<h2 id="author">AUTHOR</h2>

<p>By Bryan Henderson, January 2002.

<p>Contributed to the public domain.

<hr>
<h2 id="index">Table Of Contents</h2>
<ul>
<li><a href="#synopsis">SYNOPSIS</a>
<li><a href="#description">DESCRIPTION</a>
<li><a href="#options">OPTIONS</a>
<li><a href="#seealso">SEE ALSO</a>
<li><a href="#author">AUTHOR</a>
</ul>
</body>
</html>