For stuff that's not directly xv-related (3rd party utilities, etc), but
really handy nonetheless, go here.
- The official source distribution, gzip'ed
- Contains full source for xv, including the manual (in PostScript), and the
required versions of the jpeg and libtiff libraries. This is almost certainly the
thing you want to download.
Note: if you're going to try compiling this on RedHat Linux 6, READ THIS FIRST. You'll
be glad you did.
These binaries are a handy way to play around with xv and see if it's
something that interests you. Unfortunately, due to a lack of foresight, there's no
way to Register any of these binaries (they'll always claim to be an 'unregistered copy').
The practical upshot is that if you intend to register your copy(s) of xv
(and by all means, please do!), you'll need to have a way to compile the source
distribution on your machine. Typically, this means you'll need an ANSI C compiler
(such as gcc) and the X11 libraries ('libX11.a', et al) and include files.
For reasons I can't begin to explain, this is apparently a 'big deal' these days.
Didn't used to be!
- xv executables for Solaris 2.5 on a SPARC, gzip'ed
- I don't have a Sun, so I haven't personally tried this out, but this would be a simple
painless way to check out xv on your SparcStation. Of course, you'll eventually
need to be able to compile xv from source, so you can apply the patches below, or
to register your copy, or whatever. Read this to find out how
to install this file.
executables for HP-UX machines
- I don't have an HP, either, so who knows... Still, since apparently nobody can
compile XV on an HP these days (where are the frickin' X11 include files, that's what I
want to know!) it's better than the alternative.
- xv executable for SGI workstations (585KB)
- Unsurprisingly, I also find myself without a handy SGI workstation, so once again, I
can't personally attest to the usefulness of these bytes. According to The Man, this binary runs
peachy-keen on both IRIX 5.3 (Indy machines) and IRIX 6.3 (O2's). Note that this file is
simply the executable, gzipped. Simply download, "gunzip", "chmod +x", and run it.
- xv RPM file for RedHat Linux (i386)
- Linux is one of the few Unix-y systems that still supplies all the stuff you need to be
able to compile xv, and there's no real trickery involved. Just tell the
Makefile where to find the X11 libs & includes, and 'make'. Still, Linux is
gaining in popularity, and is no longer solely the domain of C programmers - there's some
actual users out there as well. Hence this RPM file - no pesky compilation
required. Note: this RPM is from the RedHat 5.2 ftp distribution. I don't know
for certain that it will work on earlier versions of RedHat, though by gum, it's certainly
worth a shot!
- The xv manual, compress'ed PostScript version (1.0MB)
- This is part of the official distribution, but there seem to be lots of folks out there
who don't have it, or don't know how to extract it from the distribution, so it's
presented here unbundled.
- The xv manual, PDF version (1.0MB)
- Converted to PDF from the PostScript version by Tobi Delbrook.
- The xv manual, in HTML (460KB)
- A gzip'ed tar file that contains a complete version of the xv 3.10a manual in
HTML, As Seen On These Pages! Perfect for mirroring the documentation at your own site.
Note: None of the following patches have been pre-applied to the distributions
listed above, for really good reasons that I don't want to get into. You'll probably want
to use Larry Wall's excellent patch program to
apply the patches. Certainly that's what you're supposed to do, though of course
it's perfectly possible to apply the patches by hand (as nosy/paranoid folk such as myself
tend to do).
Recommended Patches (ie, bug fixes)
- Patch to fix Grab problems
- This patch fixes a potential problem with the Grab command. On some
systems, you may find the Grab command going 'out-to-lunch', or maybe it
returns, but doesn't appear to have done anything. This patch should probably be
applied on all systems, even if they don't exhibit the problem, as it may be
- Patch to fix Visual-picking problem
- On certain Sun systems with 24-bit framebuffers, xv displays images very dimly.
The problem is that Sun provides two identical Visuals with different gamma correction
curves, for different types of hardware. Guess what popular Unix image display program
picks the wrong one. This patch can be applied on all systems, though it won't gain you
anything on any other system.
- Patch to read & display multi-page TIFF files
- A cool one: like it says, this patch will let xv read and display multi-page
TIFF files. Multi-page TIFF files work just like multi-page PostScript files: you use <PageUp>
and <PageDown> to page through the file, and p
brings up a "go to page #" dialog box. Note that this is a patch to the standard
xv 3.10a distribution - it may or may not work in combination with the libtiff
- Patch to keep xv from crashing on Really Long
- If you have some big-ass filenames (32 chars or longer) you may run into cases where xv
will segfault in the Visual Schnauzer or in certain pop-up dialog boxes. This
patch fixes this problem. Note that this only applies to files whose base filename (with
the leading path info chopped off) is 32 chars or longer. That's why this bug probably
hasn't bit you. (It obviously never bit me!)
- Patch to fix XPM file output errors
- By cleverly harnessing the amazing power of a missing 'break' statement, xv was
writing XPM files with a FITS version of the image conveniently tacked on the
end. Hilarity ensues.
- Patch to Image display on certain 12-, 15-, or 16-bit
- A byte-ordering problem would come into play when displaying 8-bit colormapped images on
certain systems. While it's rare to run into this bug (as most people are running
either 8 or 24/32-bit graphics these days), it's still a bug. Thanks to Mr. Ryo
Shimizu for finding it (and more importantly, fixing it)!
- Patch to GIF-reading code
- While I can't say that I've ever seen the results of this bug (obviously, or I
would have fixed it), it's a bug nonetheless. The bug could show up when viewing
multiple interlaced GIF files in one run of XV, as the de-interlacer is not properly
reinitialized on subsequent runs. Thanks to Mark Hanson for finding it.
- Patch to fix non-functional grab on some X servers
- xv would rather rudely fail to Grab (or display certain XWD files) on systems
running the eXceed X server in 24-bit mode. The Grabs would return
a correctly-sized, but completely blank image. This patch may well fix Grab problems
on other systems (and if so, I'd like to hear about it), and should not break anything.
As such, it's recommended for all users. Thanks to Nadim Saeed for his
efforts in squishing this bug.
- READ THIS to compile XV on RedHat 6, and most other
newer Linux distributions
- It's not a patch per se, it's just something that'll tell you something important to
know about compiling xv on RedHat Linux 6.0 (and presumably on all newer
releases). This same advice may stop xv from compiling on other systems, so
don't take this as a generally-useful tidbit that everybody should use. It isn't.
- Patch to compile XV on BeOS
- So you want to run everybody's favorite Unix image viewin' program, but you've got this
newfangled BeOS thing a-sittin' on your desk. No problem! Thanks to David Powell,
you can now compile and run XV 3.10a on BeOS.
- Patch to fix TIFF files being written at 1200dpi
- For whatever insane reason, the xvtiffwr.c module writes all TIFFs out with resolution
tags of 1200dpi. This leaps up and bites you on the ass when you load the resultant TIFF
files into a program (such as Photoshop) that actually pays attention to said tags.
This patch simply writes all TIFF files with a resolution of 72dpi, a far more reasonable
- SECURITY PATCH for Postscript Files.
- Jon Luckey has pointed out that certain malicious
PostScript files could write and/or delete user files. This is particularly
dangerous if you use xv to display certain email attachments. While most
folks know not to run unknown executables received in email, they probably don't realize
that PostScript files can also be dangerous. Surprised the hell out of me, at any
This patch fixes xv's call to ghostscript such that it has the
"-dSAFER" flag turned on, which should prevent such shenanigans.
Optional Patches (ie, enhancements)
- Patch to use Version 6 of the JPEG library
- You need this trivial patch if you intend to link xv with version 6 of the Independent
JPEG Group's JPEG library. This is a newer version of the library than is included in the xv
3.10a distributions listed above. You need the new library to read Progressive JPEG files.
- Patch to use Version 3.4 of the TIFF Library
- You need this patch if you intend to link xv with version 3.4 of Sam Leffler's
TIFF library. This is a newer version of the library than is included in the xv
3.10a distribution, and probably does something good. (I haven't tried it out.)
- Patch to read/write PNG files.
- The patch to xv 3.10a, and other needed files (libpng and
zlib) all live on this site. I
haven't tested any of this personally, so I don't know what-all's involved here, but
presumably everything you need to know is up here. Finally, you'll need to apply this patch on top of everything else to fix some minor nits
introduced by newer versions of the libpng libary. Sorry about that.
(Thanks to Greg Roelofs (firstname.lastname@example.org) and
Daniel Thayer (email@example.com) for
the updated PNG info!)
BTW, for what it's worth, as soon as I can work out some sort of arrangement with Unisys,
I fully intend to release 'xv 3.20', which will come with all these accursed patches
pre-applied (and some other goodies). Won't that be fun!?!
- Patch to 'read' PDF files.
- According to all-around good guy Bitt Faulk, newer
non-GNU/FSF versions of ghostscript can read PDF files. Therefore, it's just a
trivial patch to get xv to recognize PDF files as something useful, and pass them
off to ghostscript, just like PS files are currently handled.
- Patch to use XV as a Netscape plugin.
- Contributed by David Meleedy, this patch
adds a '-windowid #' command-line option to xv, which was previously sorely
lacking in command-line options. In any event, the practical upshot of all this is that
you can use xv in conjunction with Plugger 3.2 to turn it into a Netscape
Why would you want to do that, other than to win some sort of bet? Well, the big
deal is that by doing this, you can now get Netscape to display non-standard image formats
(TIFF, Rasterfile, PNG, etc.) right in a Netscape window, which is certainly cooler than
downloading them and firing up xv manually. You can even have a
fully-functioning xv, schnauzer and all, running right inside a Netscape window.
(Though I dare anyone to come up with a legitimate sporting purpose for that!)
Read David's README
for futher details.
- Patch to read 32-bit-per-pixel BMP files.
- Apparently such beasts exist these days. (They didn't back when I originally wrote
the BMP i/o module.) Presumably the extra 8 bits are for an alpha channel, which xv
will completely ignore. Still, better'n nothing.
xv 3.10 upgrade patch
Patch to upgrade xv 3.10 to 3.10a
xv 3.10 was distributed (by me) for less than a month before the 3.10a bug-fix
release came out. Amazingly, I still hear from folks using the 3.10 original release.
Anyway, you only need this patch if you're running the original 3.10 release. If you've
got 3.10a already, ignore this.