Ppmsvgalib User Manual

Ppmsvgalib User Manual



ppmsvgalib - display PPM image on Linux console using Svgalib




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.


This program is part of Netpbm(1)

ppmsvgalib 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 pamx).

If you run ppmsvgalib 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 ioperm() 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.

ppmsvgalib is not capable of using color mapped video modes. These are the old video modes that are usually called ’8 bit’ color modes.

ppmsvgalib 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 zgv (not part of Netpbm).

To exit ppmsvgalib while it is displaying your image, send it a SIGINTR signal (normally, this means ’hit control C’).

ppmsvgalib 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.

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

ppmsvgalib places the image in the center of the screen.

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

If you want to play with ppmsvgalib, ppmcie is a good way to generate a test image.

To be pedantic, we must observe that ppmsvgalib 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.

Running the PPM image through pnmgamma can help cause ppmsvgalib to display the correct colors.



This tells ppmsvgalib what video mode to use. mode 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 vgatest 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).

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.

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.


pamx(1) , pamcut(1) , pamscale(1) , ppmcie(1) , ppm(5) , zgv, Svgalib, vgatest


By Bryan Henderson, January 2002.

Contributed to the public domain.


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.