Building the source code on other platforms & environments
We prefer not to distribute binaries for platforms we cannot test here, but several people have contributed source code modifications or hints to allow VNC to compile under different platforms. Please note that we cannot officially endorse or be responsible for these but we are grateful to all the contributors. We may try and incorporate some of these in a future source code release.
Building the old version 3.3.1
Many people ported part or all of the VNC 3.3.1 distribution to other Unix platforms. We hope that the 3.3.2 release based on XFree86 will have solved some of the issues they discovered and should be easier to port. To avoid confusion, therefore, we have moved the patches and other info which we think relate chiefly to 3.3.1 onto an 'old contributions' page. We will reserver this page for information relating to 3.3.2 and to non-Unix platforms, but if you have problems you make like to refer to the old page as well.
It's worth pointing out that the protocol has not changed between these releases, so you should have no trouble connecting a 3.3.2 viewer to a 3.3.1 server or vice versa.
Linux RPMs & Debian packages
Other people have kindly packaged VNC up in RPM and Debian package form; see for example under 'V' at the RPM archive http://rufus.w3.org/linux/RPM/ and at www.debian.org . Note that these may not be identical to the standard ORL distributions, and may not be updated as frequently, so you should check the main ORL site frequently.
Chuck Hines <chuck_hines@VNET.IBM.COM> writes:
For anyone trying to build the latest version of VNC under AIX 4.1.5 may be interested in the patch below which contains the quick and dirty changes I needed to do to be able to comple and link successfully (hopefully I didn't miss anything). Things went pretty smoothly after these minor changes and it seems to be running fine.Basically the patch adds the necessary AIX sys/select.h inclusion where needed, removes the X11R6 specific stuff, and forces sys/resource.h to be included. That last one left me sort of puzzled,as the way it was trying to build should have not tried including it at all (which should have been fine), but it looked like os/osinit.cWASN'T including it while os/utils.c WAS for some unknown reason (andthe #if logic looked correct to me in both files) creating undefinedsymbols.
Chuck's patch is available here: vnc-3.3.2-aix.patch.txt .
Acorn RISC OS
We know of two viewers for RISC OS.
Kurt Seel <firstname.lastname@example.org> writes:
vnc compiles cleanly on bsdi 3.0 (no patches) with the following
Karl Hakimian <email@example.com> writes:
HPUX did not go as smoothly as some of the other OS's that have been reported, but I did manage to get things to compile under hpux 10.20.
First I had to change Xvnc/config/cf/hp.cf
-- Cut here for patch --
*** osinit.c.old Fri Jan 17 22:58:02 1997 --- osinit.c Fri May 22 11:46:04 1998 *************** *** 66,71 **** --- 66,75 ---- #include <sys/resource.h> #endif + #ifdef hpux + #include <sys/resource.h> + #endif + #ifndef ADMPATH #define ADMPATH "/usr/adm/X%smsgs" #endif *** utils.c.old Mon Mar 2 03:56:36 1998 --- utils.c Fri May 22 11:46:33 1998 *************** *** 77,82 **** --- 77,85 ---- #endif #if !defined(SYSV) && !defined(AMOEBA) && !defined(_MINIX) && !defined(WIN32) && !defined(Lynx) #include <sys/resource.h> + #ifdef hpux + #include <sys/resource.h> + #endif #endif #include <time.h> #include <sys/stat.h>
-- Cut here for patch --
John Ross Hunt <firstname.lastname@example.org> writes:
Binaries and VC++ project files are now available for Alpha NT WinVNC3.3.2. You can download them from: ftp://ftp.lawbulletin.com/vnc/You will probably have better luck downloading with a standard FTP client instead of using a web browser (it's a firewall issue). We plan to upgrade soon, but until then, the old-fashioned way works best.
--John Ross Hunt, Law Bulletin Publishing Company
We've had reports that this buiilds without any problems if you use gcc.
Valery Tulnikov has built the server and viewer under Cygwin-32, based on the 3.3.1 patches by Sergey Okhapkin. This allows you to run the X viewer and server under Win32. Yes, there are some good reasons why you might want to do this! See http://www.dol.ru/users/valtul/ for more info.
Andreas F. Bobak writes:
Yesterday, I made a first port of the VNC viewer to the BeOS. I mixed together the Win32 viewer and the Unix viewer and added a bunch of BeOS specific stuff. It basically works but perfomance does scream. RRE encoding is broken and Hextile encoding has a strange bug, but it's usable with just CoRRE and CopyRect.
A snapshot of the sources and a x86 binary can be found under http://abstrakt.ch/be/
-- Andreas F. Bobak email@example.com
Karl Harkimian <firstname.lastname@example.org> sent in a patch to compile the Unix viewer so that it can reach external servers through a SOCKS firewall. It's very simple, and the patch is here: socks-patch.txt. These patches apply to 3.3.1 but they are simple enough to apply by hand to later versions.
Obviously, you cannot access a server inside a firewall from outside without specially configuring the firewall; that's what firewalls are for! Christian A. Lademann email@example.com has used an elaborate scheme:
I have had a problem with connections from my workstation to a PC connected to a
customers LAN, because my firewall as well as the customers firewall does IP-masquerading.
This means that my workstation can only connect to the customers firewall and the
customers PC can only connect to my
Christian's solution involved a script listening on a single accessible well-known port behind the firewall, which could accept incoming connections and redirect them to the appropriate machine. His full details are here: rvnc.txt
SVGALIB (Linux without an X server) & Single-floppy Linux
Ganesh Varadarajan and Sitaram Iyer have built a vncviewer which runs from a Linux console using the svgalib library. You will need to install svgalib and configure /etc/vga/libvga.config for your graphics card. Try creating servers of different geometries and connecting to them - if your svgalib setup doesn't work for one resolution it may work for another. Persevere - this has a lot of potential, I think. Note that the current version will not generally be able to connect to Windows servers, because it requests a palette-based display which the Windows server cannot generate.
The authors wrote:
This is a alpha port of vncviewer to svgalib based on the [3.3.1] X client.
Some hints on getting svncviewer working for you :
Please mail bug reports/patches etc. to firstname.lastname@example.org
Lastly, a BIG thank you to the ORL guys for making vnc freely available. VNC rules !
The sources for svncviewer are here: svnc-0.1.tgz Remember that you will need both X and the VNC sources on your machine to build it, though you won't need them to run it!
Karl Heinz Kremer email@example.com has created a single-floppy linux distribution which includes svncviewer. You can now use an old 486 without even a hard disk as an X display. See http://www.stuttgart.netsurf.de/~khk/lods.html for details
Steve Cheng firstname.lastname@example.org writes:
libGGI is a portable graphics library with a flexible design. See <http://www.ggi-project.org> for details. The graphics application can betransparently "retargeted" to different types of displays including X11, Linux svgalib and fbcon. (Win32 soon to come.) The VNC targets adds the VNC protocol to this list. You can even run doom over VNC! :-)
Standand VNC clients can be used with the VNC target/GGI application as the server.
You can get it here: <http://shell.ipoline.com/~elmert/vnc.tar.gz>
Untar it under degas/lib/libggi of the GGI devel tree. (The stable GGI tree won't work because of namespace changes,etc.)
A long while ago someone wanted a "stripped-down version of the server part - one that skips listening/authentication phase and just uses stdin/stdout for the communication (run-once application)." This is not currently done yet, but I have made it easy to do so. The only problem is the libGGI application trying to use stdin/stdout.
ORL has asked me not to distribute this as part of libGGI (yet). (It has GPL'd code;
the other parts are LGPL as the rest of LibGGI). So it won't be
Bug reports, fixes, and feedback welcome.
Markus Wuebben email@example.com has built a version of the viewer which fits nicely into the X-based KDE environment.
See http://studserver.uni-dortmund.de/~su0197/kde/kvnc/ for details.
Vladimir Minenko firstname.lastname@example.org has created a port of the VNC viewer for PalmOS 2.0 or higher.
You can get PalmVNC from http://www.icsi.berkeley.edu/~minenko/PalmVNC
We have a working version of the viewer running onWindows CE 2.0. It needs a fair bit of tidying before it's ready for distribution, but it should be available soon. Meanwhile, you can look at some pictures; click on them for a larger image:
This is certainly the smallest X terminal I've ever used!
Bosse Nyström email@example.com has built the viewer for OS/2 using XFree86. He writes:
I compiled the unix [3.3.1] sources with the attached diffs and got a working viewer under OS2 with XFree86 (and EMX).
I tested it with servers for OSF and Win32 (rev 16), some problems with National characters for the win server otherwise it works fine.
You can get Bosse's version from his FTP server at ftp://bfs.riken.go.jp/pub/vnc/
For comments, feedback, etc, please see the 'Keeping in touch' page.