# Virtual Network Computing from ORL |

|  | ## VNC 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. If you port VNC to a new environment we would be grateful to hear about it; please post such announcements to the mailing list.
#### Historical note: 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. ### AIX 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.c WASN'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 Chuck's original patch is available here: vnc-3.3.2-aix.patch.txt and he has now set up a small web site with more details and binaries available. See http://www.idsi.net/~bshma/chuck/vnc.html . ### Acorn RISC OS We know of two viewers for RISC OS. The first, created by simon@bigblue.demon.co.uk, is available from http://www.bigblue.demon.co.uk/VNC.html . The second, by Leo White <leo@brighteyes.u-net.com> is at http://www.brighteyes.u-net.com/ . A server for RISC OS is also available from http://www.interconnex.co.uk/~paul/ ### Amiga Jörg Dietrich is working on VVA - a VNC viewer for the Amiga. See his web page for more details. ### BeOS 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/ Cheers -boby -- Andreas F. Bobak bobak@relog.ch ### BSDI Kurt Seel <kseel@utcorp.com> writes: vnc compiles cleanly on bsdi 3.0 (no patches) with the following pecuiarity - socket.c and httpd.c had to be ifdef'ed like so : #ifdef __bsdi__ #undef _ANSI_SOURCE #endif #include <sys/time.h> #ifdef __bsdi__ #define _ANSI_SOURCE 1 #endif It seems to work fine. The switch to xfree 3.3.2 really did some good here! ### Cygwin32 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. ### DOS Marinos J. Yannikos <mjy@pobox.com> has written a VNC viewer which runs under DOS, using packet drivers and the Waterloo TCP/IP library along with the Allegro graphics library. The whole system including the IP stack fits comfortably on a floppy disk. You can get it from http://www.complang.tuwien.ac.at/nino/dosvnc.html . ### FreeBSD Joe Evans <evans@ittc.ukans.edu> reports: I compiled the VNC stuff on FreeBSD 2.2.5, and it seems to work fine. The only compile glitch was that you need to remove the gnumalloc library from the extra libraries list in order to do the link step. Bruce Mah < bmah@ca.sandia.gov > adds: vnc is now a part of the FreeBSD ports collection...on FreeBSD 2.2.7-RELEASE or newer with an installed ports collection, the installation process is simply: `cd /usr/ports/net/vnc` `make install` ### GGI Steve Cheng steve@ggi-project.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 in the GGI CVS tree now. Bug reports, fixes, and feedback welcome. ### HPUX Several contributors here. Karl Hakimian <hakimian@aha.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 Same as for 3.3.1, I made sure the following were set `#define ExtensionOSDefines -DHPINPUT # -DXTESTEXT1` `#define XhpServer NO` `#define BuildXInputExt NO` `#define BuildPex NO` `#define BuildPexExt NO` `#define XvncServer YES` I also had to change the following to NO `#define NeedBerklib NO` That got things most of the way compiled. I then could not link Xvnc becuase of several missing objects `limitNoFile` `limitDataSpace` `limitStackSpace` Turns out I just needed to include sys/resource.h to two files in the programs/Xserver/os directory, the following patch takes care of that. (Karl's short patch is here) Karl Hakimian hakimian@aha.com And Mike Cooke writes: Just to inform you I've managed to build the vnc suite on the following HP box HP-UX <name> B.10.20 E 9000/879 I had major problems trying to build it with the standard HP tools and after much head banging and source editing, I decided to forget it and switch to gcc which worked after about the 3'rd build. I applied the patches as advised in the contrib section on your site. The only further problem I had was getting the Xvnc server to recognize the correct fonts - somehow the aliasing config here seems a bit odd, so to get around that problem I just ran the x font server and it solved all the problems. And Ulrik Dickow <ukd@kampsax.dk> adds: This evening I succesfully built vnc-3.3.2r3 on HP/UX 10.20 9000/712 with the HP ANSI C compiler. I first naïvely tried xmkmf make World cd Xvnc make World without any modifications to the source files, but this gave lots of errors in the Xvnc compilation. Then I changed hp.cf with Karls modifications from vnc/platforms.html and changed the two C files that his "short patch" mentions (but in a slightly improved way). This compiled succesfully, with only harmless warnings. To make it easier for others to build on HP/UX 10, I've attached the resulting "jumbo patch" to this mail. It would be even easier if the changes were permanently done to the master source. They don't affect other platforms than HP/UX, and I guess they'll help HP/UX 9 and 11 users too, won't they? To complete the help for fellow HP/UX'ers, the second attached patch modifies a few lines of the vncserver Perl script to a) start a CDE session if possible, otherwise fall back to the old code b) set the `-fp' argument reasonably for HP/UX (the CDE script will add more to this path). Due to b), the second patch should *not* be applied to the general distribution, although a) might be. If somebody have problems with these plaintext unified diffs, I can provide context diffs instead, possibly in base64 or uuencoded form. I start out with unified diffs, since they are much shorter and much more readable in this case. Apply them in the top vnc source directory like this: patch -p1 < vnc-3.3.2r3_unix.ukd-kh-hpux-patch patch -p1 < vnc-3.3.2r3_unix.ukd-hpux_specific-patch.txt Long live GNU patch(1) (http://www.gnu.org/). Thanks to ORL for conceiving a great product, and to Karl for finding out how to compile it on HP/UX 10. BTW, I compiled on a machine with these bundles installed, as part of an upgrade from 9.0x: B3393AA_APZ B.10.20.02 HP-UX Developer's Toolkit for 10.0 Series 700 B3898AA_APZ B.10.20.02 HP C/ANSI C Developer's Bundle for HP-UX 10.20 (S700) B3910BA_APZ A.01.00 HP aC++ Compiler S700 Ulrik's patches are at http://www.orl.co.uk/vnc/contrib/vnc-3.3.2r3_unix.ukd-kh-hpux-patch and http://www.orl.co.uk/vnc/contrib/vnc-3.3.2r3_unix.ukd-hpux_specific-patch.txt ### KDE Markus Wuebben markus.wuebben@kde.org 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. ### MacOS (alternative) Dair Grant <dair@webthing.net> has written an alternative Macintosh viewer which supports the Appearance Manager and Navigation Services, which means it looks more attractive on recent versions of MacOS. You can find it at <http://www.webthing.net/vnc.html>. ### OpenStep/Mach David Young (dwy@picasso.eng.ace.net) writes: I've written a client for OPENSTEP/Mach (that spiffy NeXT OS) for VNC. It currently supports display at 24, 12, and 8 bpp, mouse and mostly-functional keyboard input (ASCII and control characters work; the mapping isn't yet complete and I'm looking for suggestions on how to complete it), and some other client-side niceties. Encodings other than raw are on their way, as is NSPasteboard integration. I'm looking for users (preferably with VNC and OPENSTEP experience) who can bang on this client on original NeXT boxes, Intel machines, or SPARCstations running OPENSTEP 4.2, or just people who might find it useful at this early state. ### OS/2 Akira Hatakeyama <akira@sra.co.jp>is working on a native PM viewer. You can get it from http://www.sra.co.jp/people/akira/os2/vnc-pm/index.html Bosse Nyström bosse@postman.riken.go.jp has built the X 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. -- Bosse You can get Bosse's version from his FTP server at ftp://bfs.riken.go.jp/pub/vnc/, or from Ted Sikoras site at http://tsikora.tiac.net under XFreeOS2. ### PalmPilot Vladimir Minenko minenko@icsi.berkeley.edu 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 ### SCO OpenServer Ben Maizels <bmaizels@analystic.com> sent the patches he used to compile under SCO OpenServer 5. You can find his message at http://www.orl.co.uk/vnc/contrib/sco-openserver.txt . ### SGI Irix 6.2 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> writes: The following small patch was all that was necessary for me to successfully compile Xvnc on SGI Irix 6.2 with the N32 binary format. A binary is available at ftp://ftp.dent.med.uni-muenchen.de/pub/wmglo/. Wolfram's patch is available at http://www.orl.co.uk/vnc/contrib/vnc-irix6.2-patch.txt . ### SPARC Linux James Hall <jhall1@isd.net> writes: Just thought I would let you know: VNC 3.3.2r2 compiles just fine on Linux/SPARC. I am using it now to run Word and Lotus Notes without having to go back to my office and use my Windows 95 PC. To compile, I just ran the 'configure' script, then typed 'make'. I think I got a few warnings during the compile (mostly unused variables) but VNC runs fine. This was on Red Hat Linux/SPARC 4.x, so I didn't have glibc. Don't know if that makes a difference. ### SunOS 4.1.3 We've had reports that this buiilds without any problems if you use gcc. ### 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. You no longer need to start X to use vnc ! Even that old 4MB 386 which you've got in the corner can be used as an X terminal. It can also be used on a single-floppy Linux - not quite the answer to the QNX challenge, but good enough for me. Some hints on getting svncviewer working for you : First of all make sure your card is supported by svgalib at the higher resolutions like 640x480x256. Otherwise you can only use 320x200x256 Sometimes svgalib incorrectly detects the card or doesn't detect it at all and defaults to the VGA driver. In this case you might have to edit /etc/vga/libvga.config (this is Redhat's svgalib config, your distribution might have it elsewhere) and uncomment the line corresponding to your chipset. Cards I've had trouble autodetecting: Cirrus Logic 5446 - uncomment the chipset Cirrus line. Trident TVGA 8900 - incorrectly detected as Mach64. uncomment TVGA. Chips and Technologies - add the line chipset C&T (Note: It seems some distributions don't have svgalib compiled with C&T support. You might need to recompile svgalib). If you get something like read error: broken pipe, it means the remote Xvnc has closed the connection, usually because the client's parameters like bpp are not acceptable. Check out the Xvnc logs. There is a workaround in svga.c which disables use of acceleration. You might want to comment out NO_ACCEL and see if acceleration works. If your mouse doesn't work, make sure that /dev/mouse is rw-able by you. This is because svgalib opens the mouse O_RDWR and we give up suid perms immediately after vga_init and before opening the mouse. Redhat's default is 660, you might want to make this 666. TODO: The viewer is not flexible about selection of graphics mode. It selects the closest possible to the server geometry/depth. It bails out if a resolution = server geometry is not available. Only the std. keymap works, for other keyboards you might have to hack keys.h which maps Linux keycodes (different from X keycodes) to X keysyms. Mouse middle button doesn't work (svgalib problem ?) Keyboard LEDs Please mail bug reports/patches etc. to ganesh@cse.iitb.ernet.in In your bug report, please include the following information: Linux distribution, kernel version, svgalib version. Graphics card and whether other svgalib apps work at *high* resolutions. What parameters Xvnc was started with. What parameters were used for svncviewer. Exact error messages, snippets from log files where applicable. For the latest in svnc, check http://www.cse.iitb.ernet.in/~sitaram/vnc Lastly, a BIG thank you to the ORL guys for making vnc freely available. VNC rules ! Ganesh Varadarajan <ganesh@cse.iitb.ernet.in> Sitaram Iyer <sitaram@cse.iitb.ernet.in> Indian Institute of Technology, Bombay. 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! #### Single-floppy Linux Karl Heinz Kremer khk@cyberdude.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 ### VMS VNC viewers for VMS 7.1 on both Vax an Alpha are available on the Law Bulletin Publishing Company's FTP server. Se the entry below for Windows NT/Alpha, and note the point about using a normal FTP client and not a browser. ### Windows CE The Windows CE viewer is now released! See the Download Page and the Documentation. ### Windows NT/Alpha John Ross Hunt <hunt@lbpc.com> 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 |
For comments, feedback, etc, please see the 'Keeping in touch' page. Copyright 1998 - The Olivetti & Oracle Research Lab