Staying well connected is a top priority nowadays. For Unix administrators, providing access to graphical applications has been a challenge. Putting Unix workstations or X terminals at every user seat is not always practical. PC-based X servers make a less-expensive substitute, although users take a sizable hit in performance. Still, PCs are everywhere, and their strength in personal productivity software -- word processing, spreadsheets, contact management, etc. -- is beyond dispute. Many corporate strategies involve both platforms, so X server vendors stay busy and profitable.
Our last review of four PC-based X servers for TCP/IP networks ("PC-based X servers: Features, no pep," August 1994) generated a positive response from our readers. Some were puzzled by our lack of attention to serial/dial-in connections, an aspect we barely mentioned. This review focuses specifically on that aspect.
The obvious primary user of remote communications is the dial-in user. Travelers would love a connection to the office from the notebook PC in their hotel room. Administrators, managers, and developers often wish for access from home. However, even on-site users sometimes need direct connections via serial cable because there is no TCP/IP network to which they can attach.
Both of these user types can be accommodated by the two products we tested -- PC-Xware 2.0 Remote from Network Computing Devices Inc. and XoftWare/32 for Windows, Serial Edition, from AGE Logic Inc. NCD introduced its product last July at a price of $275, while AGE released its $245 product last September. Each is a subset of a larger product that includes a TCP/IP protocol stack and network utilities. Be forewarned: Don't plan on using graphical image manipulation tools over serial connections -- there's simply not enough bandwidth for such efforts.
Among PC-based X servers, there are several that can operate over serial connections. (See the table PC X server products.) We selected the NCD and AGE products for review for three reasons. First, each had undergone recent major revisions. Second, these products are representative of the two major X-over-serial-cable protocols currently available -- XRemote and Serial Xpress. And the third reason we selected these two products is each of the vendors provides code and technology to other vendors who sell it under different brands.
How they work
The X protocol generates traffic -- too much for an ordinary serial connection. Even at 9,600 or 19,200 bits per second, there is such a stream of bi-directional data for updating the remote display (server) and controlling the Unix host (client) that the user will be aggravated with the slow response.
Yet, your options with serial lines are fairly constrained. There is no way to simultaneoulsy send two bits of data through a pipe only big enough for one. Neither can the data be pushed through the pipe under greater pressure -- faster -- without incurring added expense for ISDN and T1 lines.
The answer is to send less data. Serial protocols for X combine data streams from X applications into a single stream at the Unix host. Then they use data compression algorithms before transmission. At the other end, matching software expands the received data again and splits it apart. In effect, the data stream is shortened and made efficient for the slow portion of the journey.
TCP/IP offers data compression for serial lines, though not yielding the performance of Serial Xpress or XRemote. The basic TCP/IP protocol for transferring data over serial lines is the Serial Line Internet Protocol (SLIP). SLIP, however, does not compress the data; TCP/ IP packet headers alone are 40 bytes, while verbose X protocol data composes the bulk of the packet. Compressed header SLIP (CSLIP) is slightly better, shortening the packet headers to 5 or 6 bytes. Point to Point Protocol (PPP) manages the serial transmission more quickly than SLIP, but still performs no compression of the X data. PPP is often used in tandem with CSLIP.
XRemote is the brainchild of NCD and has been available since June 1992. XRemote is built into NCD's own X terminals, terminal servers from Cisco and Xyplex, and NetManage and IXI visionware X servers. Visionware was actually the first to implement the technology in a PC-based X server. NCD claims up to a 90 percent reduction in X data transmitted, using XRemote instead of SLIP. NCD also believes XRemote is three to five times faster than PPP, although we found no independent study to confirm relative performance.
Tektronix (Beaverton, OR) is the creator of Serial Xpress. Like XRemote, Serial Xpress is claimed to be four times faster than PPP. Tektronix uses Serial Xpress in its X terminals and has licensed the technology to several third-party PC-based X server vendors, including AGE Logic, Hummingbird Communications, and White Pine Software. Walker Richer & Quinn has a product in beta, targeted for release in May. (See the table PC X server products, which highlights X servers from a variety of vendors and for a mix of platforms.)
To test how well they function in a mobile computing environment, we installed each product on an AT&T Globalyst 200 notebook PC. This unit affords a 486DX4 75-MHz CPU, 8 megabytes of RAM, and a 91Ú4-inch, 640 by 480 color display. We added a US Robotics WorldPort PCMCIA 14,400 fax/modem.
On the host side, we outfitted a Sun SPARCstation LX with a US Robotics Courier HST Dual Standard 14,400 fax/modem. The LX, an entry-level Unix workstation running Solaris 2.3, had 32 megabytes of RAM. Both modems should be full-duplex for PC-Xware (so don't expect the popular Telebit Trailblazer to work), although XoftWare/32 can work with half-duplex models. Also, the modem should be capable of, at minimum, 9600 baud (V.32 or V.32bis), unless you really want to cast a big bottleneck into the equation. (See the sidebar Choosing hardware for PC X serverssee sidebar.) Note that for a typical small business manager without modem expertise, getting communications going is sometimes more difficult than installing the X server software itself.
If the PC's serial port does not use the latest 16550 UART chip, which allows reliable dataflow at speeds of 9600 bits per second and above, you need to replace that I/O card. You can then check which chip is installed by running MSD (Microsoft Diagnostics), included with the newer DOS versions.
We used the Windows Terminal application to program the modems with nonstandard parameters. We turned off each modem's compression and error correction because the serial protocols handle both, and such redundancy only reduces performance. For the same reason, we also programmed the modems for hardware, rather than software, flow control. Unfortunately, because of the great variety of modems available, neither PC X software vendor supplies modem setup info with their documentation. You can obtain technical notes or assistance from their support staffs.
Setting up a serial port for dial-in access on a Unix workstation can be tricky, especially for older equipment and operating systems. In our tests using the LX and Solaris 2.3, we had the luxury of using the Serial Port Manager, which configured the port without our having to rummage through Unix configuration files and tediously follow printed instructions. AGE's serial port setup documentation was more helpful and host-specific than NCD's, although it was a little behind the times, with no mention of the Serial Port Manager.
When we finally had all of the modem/port programming and cabling in place, we dialed into the Unix host from the PC using Windows Terminal, receiving a login. However, all the text was uppercase. We could not complete login using lowercase letters until we threw out one of the STREAMS modules tied to the Sun's serial port that forced teletype compatibility.
Installing the products
Two components are required for NCD's XRemote serial connection: PC-Xware on the PC and XRemote host software on the Unix host. The host software is available for a free download from NCD's ftp server/BBS, or it can be ordered with a manual for $100. Additional utilities can be added to each computer to enable file transfer, directory, and printing services -- a necessity since XRemote does not use TCP/IP.
PC-Xware installed easily on our PC. Standard configuration required less than 6 megabytes of disk space, with 75 dpi and miscellaneous fonts. We added 100 dpi, DEC, and XOL fonts.
NCD's install program checked the PC and its software for suitability. This includes RAM size, available disk space, CPU, Windows version, and more. Our notebook's typical 640 by 480 display was minimally acceptable for use with the X Window System.
Installing XRemote took a few more steps -- running a self-extracting file at the PC, transferring the resulting tar file to the Sun, extracting the files, and setting permissions. We then created a start-up file with the command lines for launching our initial X apps.
After setting a phone number and local modem parameters into PC-Xware's configuration, we dialed with a mouse click, logged in, executed the XRemote software, and found ourselves with nothing. NCD's log file indicated that we had to fix a PATH problem at the host before X would leap onto the PC.
We also succeeded at establishing a local connection from the PC running X to the Unix host. We connected the PC and the Sun using a null modem serial cable rather than modems. Minor adjustments to the PC-Xware configuration were required, along with reprogramming the Sun's serial port for a hardwired terminal.
XoftWare/32's PC side was also a snap to install. Its standard 6-disk installation took more than 14 megabytes of disk space, but 3 megabytes of that was for 100-dpi fonts, and another 3 to 4 megabytes was reserved for log files.
AGE Logic's XoftWare/32's Serial Edition prefers a standard Serial Xpress installation, but it can optionally accommodate a SLIP/PPP connection, which PC-Xware Remote cannot do. XoftWare users can tunnel the native Serial Xpress protocol within SLIP/PPP connections, for two-level error correction and a corresponding 5 to 10 percent decrease in performance. This also lets XoftWare users run telnet and lpd simultaneously with X, and without having to install extra utilities, as NCD requires.
To complete XoftWare/32 installation we installed Serial Host ConneXion on the Sun. This software is $95 or free from AGE's BBS.
Of the two dialing/terminal windows, we preferred XoftWare/32's. The PC-Xware window was sized for a larger display, and reducing it was an involved configuration process. We also liked the way we could get at XoftWare/32's setup information by clicking on the main icon to see a menu. With PC-Xware we had to restore the entire window, but the setup info was neatly organized under tabs.
We expected panning on a small (91Ú4-inch) screen to be tedious, and that was verified. Fortunately, most X applications can fit on a 640 by 480 display, although if you run more than one they will stack on top of one another.
Each product gave us a choice of window managers and single or multiple windows mode. By default they use the Microsoft Windows manager, giving each Unix application an MS-Windows border. Or, you can easily start a remote window manager installed on the Unix host for complete Unix look and feel, but with a loss in speed. NCD provided us with its Motif ncdwm window manager for local use.
NCD supplies remote host utilities to enable the printing of Unix files on a local PC printer, transferring files bi-directionally, and remotely controlling the PC from the Unix host. We had no difficulty transferring a file from the PC side of the connection, but found that the host-side utilities were not yet supported under Solaris 2. AGE provides telnet and lpd without extra installation steps, but only if you configured for the SLIP/PPP mode. Alternatively, we used an ftp-like protocol that works with XoftWare/32's Network File Manager to download extra fonts from the Sun.
We performed copy and paste between X and Windows. With PC-Xware, we found these options by clicking on the X server icon to get a menu. AGE made the link easier -- there was no extra menu, only normal actions.
NCD's script language was easy to understand, but offered no logic statements (such as IF-THEN-ELSE). We set up a script to dial into the host, login for us, and start the mail program, and that worked flawlessly. You can also create scripts that dial up a terminal server and prompt for a password, or even handle an entire callback sequence. We would have liked to see script-writing capability in XoftWare/32.
One thing we disliked about PC-Xware was that it was possible to shut it down without closing the telephone connection. This happened twice, until we learned not to do it. If you don't have lights on your modem, you had better watch out, or you could accidentally run up a big phone bill, or at the least give your callers a busy signal. AGE, by contrast, shut down the connection when we killed the terminal window.
Documentation was in most respects good for both products, both in the printed manual and via the Windows on-line Help. AGE even supplied an excellent, highly illustrated tutorial for those who learn better visually by watching menu/window manipulations.
These products depend heavily on PC hardware for their speed. (See the table PC X server options.) Our AT&T Globalyst 200 notebook offered above-average CPU speed, but it had only an average local bus graphics adapter -- not an accelerator. The modem connection was fixed at 9,600 baud, admittedly minimal for today's modem hardware, but not so ridiculous when paired with CPU-intensive X transmissions. We ran a few informal tests to see just how far a daily user's patience would be stretched once the novelty wears off.
The simpler the duty, the faster the response. For example, starting the spartan xterm window takes more than twice as long as at the Unix host console, but the extra 4 seconds' delay is tolerable. That delay is compounded severely, however, by more graphical programs. The Solaris mailtool, which at the console takes twice the time to start as xterm, took 4 times as long at the notebook. Recalling a huge mail file with uuencoded data took an unreasonably long time under PC-Xware.
The delay between keystrokes ("latency") also varied with the application. On an xterm, the display kept up with our keystrokes adequately, but on applications that treat text as images -- FrameMaker and WordPerfect, for instance -- keystroke response was intolerable. WordPerfect kept losing our double-clicks.
Our choice of window manager also had an effect. If we used the default Windows window manager, we got the fastest response. Using the host's Open Look manager gave us our OL-style window borders, but it also increased the delay by a few seconds. NCD's local Motif window manager was nearly as fast as Windows. When starting the same application repetitively at the PC, the second and subsequent launches took less time than the first, just as they would at the Unix console.
PC-Xware uses several performance enhancements by default, including shortcuts for drawing lines and arcs. XoftWare/32 has a slider switch that lets you balance performance with available memory. For the purpose of these tests, we used all of the performance tricks available under both.
We tried a handful of popular software applications. AutoCAD was especially patience-intensive due to its heavy-duty graphics requirements. XoftWare/32, on the other hand, really struggled, requiring 4 minutes to complete a drawing. Even moving the crosshairs with either product was a maddeningly slow task. We recommend against running such applications over serial connections, except as a last resort.
Each of the two technologies -- Serial Xpress and XRemote -- is roughly comparable, speedwise. Both XoftWare/32 and PC-Xware were sluggish through the serial connection, although PC-Xware and its XRemote had a slight edge. These serial products offer only 25 to 40 percent of the speed of products that use Ethernet connections, which is a compelling reason to invest in top-grade modem and PC hardware.
What to buy, what to use
In comparison with other products we have tested, these two are closely matched. They are not far apart in their feature lists and ease of use. Consequently, both are roughly middle of the pack. These products also suffer from poor performance -- a notorious aspect of serial connectivity. If administration is your main concern, NCD has a slight edge. However, if you want a package that is fast and easy to get up and running, XoftWare/32 holds an advantage for the user.
About the author
Ken Phillips (firstname.lastname@example.org) was a DOS software developer for eight years, specializing in cross-platform interfaces. He is co-author of DOS-Unix Networking and Internetworking and recently reviewed four PC X servers for Advanced Systems.
XRemote and Serial Xpress are the two mainstay protocols for communicating X between client and server over serial lines. However, new protocols are even now enhancing and/or replacing them.
The most obvious way to acquire more throughput is to build a bigger conduit for the data. Dedicated T1 phone lines (56Kbps) and expensive modems are one such conduit. Integrated Services Digital Network (ISDN) is another. However, one problem with ISDN is that the PC is still the weak link. ISDN's basic rate interface offers 56 kilobits per second on 2 channels (64Kbps in Europe). Some software can combine channels to double the throughput, but often, PC serial port hardware chokes just past 19,200 for continuous data streams. "Intelligent" I/O boards are needed to buffer the data and handle the higher rates. Another problem with ISDN is that adapters are three to five times more expensive than Ethernet cards, and ISDN requires special telephone service not yet available in many areas.
WIX, or the Windowing Interface eXchange, is a graphics protocol that improves throughput by changing the X topology. It was developed by GraphOn Corp. (408-370-4080) and has been licensed to several manufacturers who have also formed an association: WYSE, Qume, Tatung, Sherwood, and others.
Rather than having the X client at the Unix host and the X server on the remote PC, WIX moves the bulk of the X server back onto a network host. This lets the X server run faster, cuts serial transmissions, and reduces resource requirements at the PC. The WIX server communicates with the remote PC via a less data-intensive protocol with roughly half the content of X -- only the graphics commands, not the overhead. The remote PC or device only needs to know how to display X, and that can be built into an ASIC chip on a graphics card. GraphOn speed tests indicate that it is 3 to 20 times faster than XRemote or Serial Xpress, depending upon circumstances. WIX does not support local clients, but then, GraphOn claims WIX is faster anyway.
The Low Bandwidth X (LBX) protocol can be used in conjunction with WIX or other protocols. LBX is a data compression protocol. A display-less "proxy" program communicates with the Unix host's LBX server and trades data with the remotes. Like AGE Logic's implementation of Serial Xpress, LBX is designed to allow the tunneling of compressed serial X data within IP packets.
The major new enhancement to existing compression techniques is the use of caching at the proxy to eliminate unnecessary round-trip X communications and start-up (latency) delays. For example, several types of X data (such as connection setup, window properties, atom values, font metrics, and color cells and names) lend themselves to caching. Latency can be reduced by more than 80 percent.
LBX is an outgrowth of NCD's XRemote. It's initial version was released with X11R6 compatibility. NCD has donated this protocol to the X Consortium (617-374-1000), which intends to make LBX the open standard for serial communications. Stay tuned
Souping up your PC to run X is not hard. Modern PCs can handle the job easily, but not so for older PCs.
To start with, most vendors recommend at least a 386 CPU. For serial connections you need an open serial port -- preferably one of the newer I/O cards with a 16550 UART chip to ensure reliable data transfer at high speeds.
Whatever modem you select for remote dial-in should be at least a V.32 or V.32bis (9600+ baud), full-duplex, but lesser modems will work in a pinch. V.34 modems allow speeds to 28,800 baud, although you probably won't realize that much gain in practice. The main problem is that window building (drawing lines, etc.) is a slow, CPU-intensive process that can be helped only so much by a faster modem. A user may start hitting some barriers between 9600 and 14,400 baud. If you use a local window manager, you need a fast PC; with a remote window manager, you need a fast modem.
Downloading keymap tables and especially bitmap images also consumes modem speed. Today's 28,800-bps modems may provide enough bandwidth to make Mosaic perform tolerably over a serial protocol. Note, however, that since most of the world uses low-cost analog phone lines, line quality can play a part in data transmission speed via modems. If the modems connect at less than top speed, a rewiring job may help. (Of course, a T1 or ISDN line can reliably supply 56 kbps and better throughput -- a practical threshold. We didn't test responsiveness at these speeds.)
If you use Ethernet connections instead of serial PC X, go for a newer 16- or 32-bit Ethernet card coupled with a VxD (Virtual Device Driver)-based TCP/IP protocol stack for best performance (worth about 10 percent).
RAM is good. Current PCs typically come with at least 8 megabytes, which is about the practical minimum for an X server. Disk space is not terribly important. Sure, X servers take 10 or more megabytes, but that is not outlandish. The rule for screen size: Bigger is better. Panning can make you dizzy. Virtual screen software such as HP's Dashboard may help if your X server cannot pan easily.
On a laptop PC you don't have any choice about the graphics adapter, but for a desktop model you should invest in a high-end ($200 to $300) graphics "accelerator" card. (Such cards include ATI's 64-bit Graphics Xpression and Diamond's Stealth 64.) This is the single biggest factor in performance, outside of CPU speed. According to AGE, you can realize as much as 100 percent speed improvement by using an accelerator versus an ordinary graphics card. Accelerators use the ATI, S3, or Weitek P9000 chip sets. Be sure they use high-speed VESA or PCI local bus connections.
Advanced Systems readers have confirmed the major effect of hardware on performance. For example, Solid Logic (email@example.com) offers the following internal test figures using Hummingbird Communications' eXceed 4.0 X server connected directly through an Ethernet network. All are relative to a Sun SPARCstation 10/51, at 100 percent.
486 33-MHz, ISA VGA card 12.11%
486 33-MHz, VESA local bus VGA 14.95%
486 33-MHz, accelerated VESA local bus VGA 27.18%
486 66-MHz, VESA local bus VGA 32.03%
486 66-MHz, accelerated VESA local bus VGA 46.22%
Pentium 90-MHz, accelerated PCI VGA 59.65%
One last item to consider: If you are using a notebook, an external mouse is a lifesaver (unless you have a fondness for a clunky trackball) and can usually be attached to a keyboard port, or the serial port if available. A PCMCIA modem provides its own serial port, but an external modem (or a direct connection) will use the serial jack, preventing you from adding the mouse.
There is one alternative to beefing up your remote hardware, but it could be fraught with peril. Try running a PC X server at work, and then remotely viewing the display via standard remote-access software for Windows (such as Carbon Copy or PC Anywhere), which can be used on remote PCs with minimal resources. Of course, this adds yet another piece to the puzzle, in terms of both software and hardware, and performance may not meet your expectations.
If you have problems with this magazine, contact firstname.lastname@example.org
Last updated: 1 May 1995.