perl-perl-vgalib - Perl extension for svgalib-1.2.11

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports i586
Package filename perl-perl-vgalib-0.4-alt4.1.i586.rpm
Package name perl-perl-vgalib
Package version 0.4
Package release alt4.1
Package architecture i586
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 85.23 KB
Installed size 85.23 KB
Perl interface to svgalib 1.2.11, which is an enhancement of VGAlib v.1.2.
The main difference in usage is all the vgalib functions that took the
form of vga_functionname are now accessed as vga::functionname (without
the 'vga_')
Things notably missing from the library:
vga_modeinfo structure_
the pointer to video ram, graph_mem_(\$vga::graphmem)
and the function vga_getgraphmem()_(vga::getgraphmem)
Also, I realize the docs are kinda hacked. If there is any interest in
this package, I will revamp it and reupload it to the CPAN.
Here is a description of the basic library functions (from the original
VGAlib v1.2 README):
- Support for all standard VGA 16 and 256 color modes
- Support for non-standard 256 color modes (including mode X)
- Tseng ET4000 SVGA 256 color modes
- Monochrome 640x480 mode
- Text mode restoration
- Handling of console I/O
- Flipping between graphics mode and text mode
- Restores text mode after CTRL-C interrupt
- The ET4000 modes should now be more robust
- Tools for creating your own video modes
VGAlib requires the 0.96b kernel (or newer) and must be compiled
with GCC 2.2.2 (or newer). To compile and install VGAlib just
type make. This will also build the following programs:
vgatest: a simple demonstration of the library and the various
video modes
dumpreg: dumps the current VGA registers to stdout, mainly used
for debugging and creating new video modes
runx   : if you have problems with text mode restoration after
running X386, then try to use runx instead of startx
Remember that all programs using VGAlib must be run with setuid
root (login as root and do a 'chmod +s prog-name'), otherwise you
will get a "can't get I/O permissions" error.
VGAlib does it's best to restore the text mode, but it may fail
with some SVGA cards if you use a text mode with more than 80
columns. If you are having problems please try to use an 80
column text mode.
Below is a short description of the functions in the library.
Look at vgatest.c for examples on how to use these functions:
- vga_setmode() is used to select the graphics mode or to
restore the text mode.
- vga_hasmode() tests if a given video mode is supported
by the graphics card (use this function before using
any of the ET4000 SVGA modes)
- vga_clear() clears the graphics screen. This is also done
by vga_setmode().
- vga_getxdim(), vga_getydim() and vga_getcolors() return
the resolution and number of colors for the current mode.
- vga_getpalette() and vga_getpalvec() returns the contents
of one or more palette registers, respectively.
- vga_setpalette() and vga_setpalvec() allows you to modify
one or more palette registers, respectively.
- vga_setcolor() determines the color for future calls of
the drawing functions.
- vga_drawpixel() and vga_drawline() draws a pixel or a line
in the current color, respectively.
- vga_drawscanline() draws one single horisontal line of
pixels and has been optimized for the fastest possible
- vga_screenoff() and vga_screenon() turns the screen refresh
off and on. On some VGA's the graphics operations will be
faster, if the screen is turned off during graphics output.
- vga_flip() switches between graphics and text mode without
destroying the screen contents. This makes it possible for
your application to use both text and graphics output.
- vga_gecth() waits for a character to be typed an returns
the ASCII value. If you press ESC (the exact key can be
changed with vga_setflipchar()), the text mode will be
temporarily restored until you press another key. This allows
you to switch to another virtual console and later return to
your graphics application.
- vga_setflipchar() changes the character that vga_getch()
uses for flipping between graphics and text mode.
- vga_dumpregs() dumps the current VGA register contents to
My main motivation for implementing the graphics/text flipping was
to make debugging easier. If your program reaches a breakpoint while
in graphics mode, you can switch to text mode with the gdb command
print vga_flip()
and later restore the graphics screen contents with the same command.
It is usefull to define the following alias in gdb:
in graphics mode, you can switch to text mode with the gdb command
print vga_flip()
and later restore the graphics screen contents with the same command.
It is usefull to define the following alias in gdb:
define flip <RETURN> print vga_flip() <RETURN> end <RETURN>


Package Version Architecture Repository
perl-perl-vgalib-0.4-alt4.1.x86_64.rpm 0.4 x86_64 Autoimports
perl-perl-vgalib - - -


Name Value
/usr/lib/perl5 - - - - - -
perl( -
rpmlib(PayloadIsLzma) -
rpmlib(SetVersions) -
rtld(GNU_HASH) -


Name Value
perl( = 0.400
perl-perl-vgalib = 0.4-alt4.1


Type URL
Binary Package perl-perl-vgalib-0.4-alt4.1.i586.rpm
Source Package perl-perl-vgalib-0.4-alt4.1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] i586 autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-perl-vgalib rpm package:
    # sudo apt-get install perl-perl-vgalib



See Also

Package Description
perl-perl5i-2.13.2-alt2_10.i586.rpm Fix as much of Perl 5 as possible in one pragma
perl-ptkFAQ-0_03-alt3.1.i586.rpm perl module ptkFAQ
perl-qt4-4.14.3-alt1_16.i586.rpm Qt bindings for Perl
perl-qt4-devel-4.14.3-alt1_16.i586.rpm Headers files for perl-qt4
perl-re-engine-Lua-0.19-alt1.i586.rpm Lua regular expression engine
perl-re-engine-PCRE-0.17-alt4.2.i586.rpm Perl-compatible regular expression engine
perl-re-engine-PCRE2-0.16-alt1.i586.rpm PCRE2 regular expression engine with jit
perl-re-engine-Plugin-0.12-alt3.1.i586.rpm API to write custom regex engines
perl-re-engine-RE2-0.13-alt6_21.i586.rpm RE2 regex engine
perl-signatures-0.14-alt1.i586.rpm subroutine signatures with no source filter
perl-smartmatch-0.05-alt6_17.i586.rpm Pluggable smart matching back-ends
perl-subs-auto-0.08-alt5.1.i586.rpm Read barewords as subroutine names
perl-taktuk-3.7.7-alt1_2.i586.rpm Taktuk Perl file
perl-threads-lite-0.034-alt6_18.i586.rpm Actor model threading for Perl
perl-threads-posix-0.003-alt3.1.i586.rpm more POSIX correct threads