xdvi is a program to display TeX .dvi files under the X Window System. It runs under Unix (and look-alikes) and possibly VMS. I am also aware of a version that runs under Desqview/X, but do not know much about it. xdvi is distributed under the terms of the X Consortium copyright conditions, and therefore qualifies as Open SourceTM.

Version 22 of xdvi was released on 4 February 1999. It is available via anonymous ftp from ftp://ftp.x.org/contrib/applications/xdvi-22.tar.gz and from mirrors of that site; in addition it is available at the following CTAN sites and their mirrors in the file tex-archive/dviware/xdvi/xdvi-22.tar.gz.

The newest version of xdvi is 22.86, available from sourceforge, math.berkeley.edu, and from CTAN sites/mirrors in the file tex-archive/dviware/xdvi/xdvi.tar.gz. It incorporates the following additional changes.

22[4 February 1999] New release.
22.01[15 February 1999] Added 'V' keystroke to toggle the -gsalpha option.
22.02[22 February 1999] Fixed a bug in the Display PostScript implementation.
22.03[25 March 1999] Cleaned up compiler errors on some platforms.
22.04[7 April 1999] Added handlers for SIGINT, SIGQUIT, and SIGTERM signals, and for X IO errors. This allows xdvi to clean up after abnormal events.
22.05[14 April 1999] Another attempt to get xdvi to clean up after abnormal events. (Fixes for SVR4 and linux only.)
22.06[10 May 1999] Renamed sendfile to avoid possible conflict with system call of the same name.
22.07[15 May 1999] Removed register declarations on variables.
22.08[28 May 1999] Internal changes for HP-UX (added support for SIGIO signals).
22.09[16 June 1999] Fixed a bug with handling of temporary files (which caused messages like ``/tmp/xdvi83198389: File exists'').
22.10[7 July 1999] Fixed a problem that caused rules to fail to appear on some laptops.
22.11[14 July 1999] Added minimal support for the Xaw3d toolkit.
22.12[20 July 1999] Fixed some glitches with PostScript support via Ghostscript.
22.13[10 August 1999] Some portability changes (esp. for Solaris 7). Got rid of caddr_t.
22.14[13 August 1999] Fixed a compilation problem with linux.
22.15[19 August 1999] Worked around a bug in HP-UX, and made some other internal changes.
22.16[25 August 1999] Added the ability to customize keystroke actions.
22.17[27 August 1999] Bug fixes.
22.18[27 September 1999] Added the ability to customize the buttons, and fixed some bugs in the keystroke customization.
22.19[5 November 1999] Compatibility changes (for machines that put math functions into the main libc instead of in -lm).
22.20[24 November 1999] Improved the code for interrupting display of PostScript figures on Sun systems under Display PostScript.
22.21[27 November 1999] Fixed a bug concerning negative values of the -xoffset and -yoffset parameters.
22.22[30 November 1999] Implemented customization of mouse actions. (This is of limited value for now, since there is only the magnifying glass, but other actions will be added.)
22.23[15 December 1999] Added support for wheel mice, implemented dragging the image within the window, and changed the action of the space bar.
22.24[18 January 2000] Fixed up the cursors for image dragging.
22.25[28 February 2000] Changed the configuration to eliminate the file xdvi-paths.h, and made some changes to the man page.
22.26[1 March 2000] Fixed up some things I forgot to do in 22.24.
22.27[30 April 2000] Added an optimization for when the dvi file is updated, and did some code cleanup.
22.28[15 June 2000] Added some support for source specials (thanks to Stefan Ulrich <ulrich@cis.uni-muenchen.de> for help on this). Also made compilation for use with teTeX somewhat easier.
22.29[7 September 2000] Made a minor change in the module for PostScript specials via ghostscript that may affect some platforms.
22.30[15 October 2000] Fixed some bugs in the filefind routines.
22.31[8 January 2001] Made xdvi look also for config file entries qualified by the string ``XDvi''. Eliminated the option of specifying some X resources in the configuration file, and replaced it with the option of having an additional app-defaults file. Made the down-or-next action (usually bound to the space bar) respect the `k' keystroke. Made the reread-dvi-file action (usually bound to the `R' key) discard cached PostScript special entries. Fixed another bug in the filefind routines.
22.32[10 January 2001] Added an action, ``up-or-previous()'', now bound to the Delete and BackSpace keys, to move up on the page or to the bottom of the previous page (thus complementing ``down-or-next(),'' normally bound to the Space bar).
22.33[1 February 2001] Extensive changes to the source special code, including the addition of forward search. Thanks again to Stefan Ulrich <ulrich@cis.uni-muenchen.de> for help on this. Also fixed the Imakefile.
22.34[3 February 2001] Removed a lot of lint, and a few bugs.
22.35[6 February 2001] Fixed some compilation bugs under Linux.
22.36[14 February 2001] Added lots of popup windows.
22.37[14 March 2001] Fixed some bugs in those popup windows.
22.38[28 March 2001] Fixed a bug in ``forward search'' source specials.
22.39[22 May 2001] Bug fixes (``forward search'' source specials, a typo in the man page, and a portability problem in filefind.c).
22.40[29 May 2001] Another bug fix, in ``forward search'' source specials.
22.41[7 June 2001] Internal changes involving handling of signals and events. Also made it work with X11R4 (and I hope X11R5) again.
22.42[11 June 2001] Fixed bugs in which popup windows would create BadMatch errors.
22.43[20 June 2001] Fixed bugs in the handling of PostScript specials via ghostscript (PS errors and delays when switching pages).
22.44[25 June 2001] Fixed more bugs in the handling of PostScript specials via ghostscript (delays when switching pages).
22.45[16 July 2001] Changed the handling of the subprocess when generating fonts, so that it now can be interrupted.
22.46[27 July 2001] Bug fixes.
22.47[26 September 2001] Bug fixes (ghostscript usage on SGI workstations, and a bug in the debugging code in the file searching routines).
22.48[9 October 2001] More bug fixes (multiline messages on popup windows when using lesstif, a segmentation fault when simultaneously switching magnification and generating fonts, and a condition that can cause heavy CPU usage).
22.49[14 January 2002] More bug fixes (compilation under Mac OS X, popup for corrupt dvi file made more user-friendly, and others).
22.50[19 January 2002] Added support for color specials.
22.51[29 January 2002] Bug fixes.
22.52[27 February 2002] Code cleanup and one or two cosmetic bug fixes.
22.53[27 February 2002] Added a popup window to print (parts of) the dvi file.
22.54[13 March 2002] Bug fixes.
22.55[23 March 2002] Fixed some more bugs in PostScript rendering.
22.56[27 March 2002] Removed some lint. Fixed compilation problems under Sun c89.
22.57[19 April 2002] Fixed some problems with using Ghostscript versions 7.20 and higher.
22.58[12 June 2002] Fixed a bug with tpic specials vs. the color code, and enhanced the print popup.
22.59[18 July 2002] Compatibility fixes for Cygwin and for older versions of X.
22.60[12 August 2002] Fixed a bug in Motif, and a bug affecting compilation with older C compilers.
22.61[30 August 2002] Added -nofork option, added support for SIGHUP signal (do orderly shutdown), deiconify when tickled via source specials, and allow infinite dvipsHangTime/dvipsFailHangTime.
22.62[18 September 2002] Fixed a compilation bug for gcc 3.x on some platforms.
22.63[7 October 2002] Implemented better documentation for paper sizes, and miscellaneous other fixes.
22.64[11 October 2002] Added xdvizilla, a shell script for using xdvi as a helper application within Netscape or Mozilla.
22.65[23 October 2002] Fixed bugs in the print popup, color parsing, and compiling in a separate directory. Changed some environment variable names for compatibility with Kpathsea.
22.66[4 November 2002] Implemented the dvips papersize special. Warning: This version has a bug involving documents with PostScript header files or header inclusions on the first page. The next version of xdvi will fix this; it will be available in a few days.
22.67[12 November 2002] Bug fixes: (i) a compilation bug with AIX; (ii) several bugs with the papersize special; (iii) a bug which allowed the magnifying glass to be popped up in the button panel.
22.68[29 November 2002] Fixed a bug involving compatibility with ghostscript version 8.00, and added a feature to the papersize special.
22.69[6 December 2002] Bug fixes: a bug in the color code, and a bug introduced by the papersize special.
22.70[16 December 2002] Another bug fix, related to text not being displayed upon startup.
22.71[24 January 2003] More bug fixes. Some were related to handling of timing issues, and some were related to PostScript support via gs.
22.72[11 February 2003] A bug fix for recent versions of OpenMotif (in which the print progress window hangs until the mouse is moved).
22.73[19 February 2003] Removed some compiler warnings, and fixed an intermittent bug with the print progress window.
22.74[25 February 2003] Added support for window manager "delete" protocol.
22.75[20 June 2003] Made "usage:" messages start with an explanation of the error that provoked the message. Fixed bugs in the Motif implementation and in the filefind routines. Added a clarification to the man page. Added a question to the FAQ regarding the dvips that is shipped with Red Hat 8.0.
22.76[20 June 2003] Changed all calls to XBell() to use a second argument of zero (instead of 10 or 20).
22.77[9 July 2003] Bug fixes: file change vs. source specials and vs. change of shrink factor.
22.78[21 November 2003] Bug fixes: made xdvizilla more secure; fixed configuration for Cygwin (--allow-multiple-definition linker flag) (fix provided by Stefan Ulrich); fixed configuration for Mac OS X 10.3 (Panther) (it no longer allows setsid() within vfork()); fixed some bugs in reporting command line errors.
22.79[28 December 2003] Bug fix related to interrupts while prescanning.
22.80[19 January 2004] Added file-selection popup.
22.81[22 January 2004] Fixed some bugs: xdvi dies on mouse click if it's creating new pk files when switching documents; mouse wheel doesn't work on scrollbars in file popup.
22.82[9 April 2004] Fixed a bug with changing shrink factor when colors are in use; also changed handling of alternative visuals.
22.83[5 May 2004] Bug fixes: There was no scrollbar in the dvips-log window under Motif, and xdvi didn't change icon and window titles when it switched files.
22.84[20 May 2004] Cosmetic changes (cursor colors and shapes). Fixed a compile bug (Shell.h) and a bug in the print popup (page-range part didn't resize when page ranges changed).
22.85[2 April 2008] Bug fixes, including motif on 64-bit platforms. Added support for horizontal scrolling. Changed name of default non-A4 paper size from "us" to "letter". Fixed some compiler warnings.
22.86[7 May 2013] Added support for the FreeType (version 2) library for rendering scalable PostScript fonts; added support for XKBBell. More bugs and compiler warnings fixed.

An on-line copy of the xdvi FAQ is available.

Variants of xdvi

A derivative version of xdvi uses the Kpathsea libraries for file searching. It is called xdvik, and is available from the CTAN sites in the directory tex-archive/dviware/xdvik. It also has its own home page on sourceforge.

Other links

Allin Cottrell has a page on using xdvi for presentations.


gsftopk is a related program that uses Ghostscript to render PostScriptTM fonts (including mock-ups of the ``built-in'' 35; e.g., Times-Roman) and convert the bitmaps to .pk format for use with xdvi or other .dvi viewers.

gsftopk is being unbundled from xdvi; it now has its own web page.


The Comprehensive TeX Archive Network (CTAN) is a cooperating group of network sites. Each holds all the publicly available TeX software, fonts, macros, and documentation. The primary hosts are:

United States

Many other hosts mirror the CTAN collection; to get a current list, type ``finger ctan@ftp.tug.org'', ``finger ctan@ftp.tex.ac.uk'', or ``finger ctan@ftp.dante.de.'' Please use the host closest to you.

A Web-based search site is also available.

Paul Vojta / vojta@math.berkeley.edu