Skip to Content.
Sympa Menu

baslinux - Re: [BL] Which is Smaller, X or Svgalib?

baslinux AT lists.ibiblio.org

Subject: Baslinux mailing list

List archive

Chronological Thread  
  • From: sindi keesan <keesan AT sdf.lonestar.org>
  • To: baslinux AT lists.ibiblio.org
  • Cc: lforrestster AT gmail.com
  • Subject: Re: [BL] Which is Smaller, X or Svgalib?
  • Date: Thu, 8 Mar 2007 18:19:07 +0000 (UTC)

On Thu, 8 Mar 2007, mikkel meinike wrote:

You are "battling" me/us Lee. Unfortunately I can not "battle" back
right now. My small computer is a hobby project it is not available to
me right now. But many others on this list have SVGAlib and zgv. Po is
just a single executable and a configuration file (no dependencies).

Where did you download it from? My partner is very interested in it.

/Mikkel
On 3/7/07, Lee Forrest <lforrestster AT gmail.com> wrote:
In order to compare X and Svgalib, I guess we have to
start by specifying what we want from each of these
platforms

Let's start with the basics, an image viewer and an image-manipulation
app. In my case, they are one and the same (Xv).

The GIMP is listed as an image manipulation and drawing program for X.
Suggested for photo retouching, image composition, image authoring.
10MB SW4.0 package

Image Magick - a package for display and interactive manipulation of images for the X Window System. It can draw text, lines, etc., convert formats, resize, rotate, crop, blur, add text, etc.
1.5MB package contains several programs.

xv - interactive image manipulation program for X, 1.1MB package
http://www.trilon.com/xv/xv.html
Online html manual (the SW version comes with a ps manual) is at:
http://www.trilon.com/xv/manual/xv-3.10a/cover.html
Can generate postscript files but you should get the security patch.

The image manipulation part includes flip, rotate, crop, pad, resize, adjust brightness and contrast, convert formats, reduce color depth. etc.
It uses X and a mouse, but does not draw/paint as far as I can see.

----------------------

Netpbm does the same types of image manipulation CLI. It can also print to epson or deskjet/laserjet style printers directly without gs (by converting to the printer's native format). It can add text.

ppmsvgalib is a netpbm viewer based on svgalib. (It does not work in 256 or fewer colors despite mode numbers existing for the purpose, is fussy about what modes it will support, and says images are too tall for screen for existing modes). zgv displays with svgalib in 256 or fewer colors and can be used in greyscale to save memory.

Neither xv nor netpbm is a drawing program (you can't produce anything but rectangular output).

Mikkel suggested combining netpbm with a small SVGAlib drawing program, to get the functionality of The GIMP or ImageMagick, not xv, on computers with little memory. po might also work as a viewer (for pcx 640x480x256).
Publicpaint handles jpegs and higher color depths. I have not tried them.

You still need a fair amount of memory to rotate large images with netpbm.

SVGAlib uses a bit less memory than X. It works on some computers where it is difficult to set up X (8-bit color only, chip not working with Xvesa, needs special modelines with another X server). In VGA mode, it uses even less memory (as in BL1).

po is considerably smaller than The Gimp or ImageMagick. It probably takes up less memory than xv (about 2.5MB without actually displaying anything).

svgalib before version 1.9 had to be run SUID. The newer version has its own device drivers instead of calling directly to hardware and can be run as user without SUID permissions. I should compile the libraries for glibc 2.2.5 to avoid SUID security risk with zgv and links2 online as user. 1.9 is still development version preparatory to 2.0. 1.4.3 latest stable. 1.4.3 binary for libc.so.5 available. David Moberg compiled 1.4.3 uclibc-dynamic and it worked with zgv on 1-floppy USB-camera linux. It might work with chips/cards not supported in SW4.0 version. i810 is listed.

Tested for multi-videocard support with nv3 (nvidia, riva) millenium (matrox), g400 (matrox), sis, laguna, savage (ATI), rage (ATI), r128 (ATI) banshee and expected to work with trident and apm and i740.

The older version is difficult to compile with newer compilers, it says. This one was patched to compile with really new kernels.

1.9.25 987084 bytes from http://www.arava.co.il/matan/svgalib/svgalib-1.9.25.tar.gz

alpha release

You need to mknod /dev/svga c 209 0 and
insert module svgalib_helper (which the above also makes) in order
to run non-SUID root.

You need kernel 2.4 or later to make the module, or you can compile without this module (edit Makefile.cfg to select NO_HELPER option, which I do not see there, but I can comment out the make module section) and run SUID root.

0-README says to read INSTALL, which seems to be missing.
no configure
make install:

SVGALIB_HELPER_MAJOR undeclared.

I commented out the whole kernel module section of Makefile.cfg and also told it not to install the programs or the manuals or make utilities.

Still says SVGALIB_HELPER_MAJOR undeclared.

I have glibc 2.2.5/gcc 2.95.3 kernel 2.4.31

I wrote the author for help.
I might try uclibc-static next or wait for Karolis's new uclibc.
Sindi




Archive powered by MHonArc 2.6.24.

Top of Page