The Macintosh was the original mass-market computer with a window-oriented user interface. Now that every system has a WIMPy (Windows, Icons, Mouse, and Pointer) user interface, compatibility between systems is the talk of the town. In this review, we turned to the world of software which lets Macintosh computers work with X window system applications.
(See DN&R, Nov. 22, 1993, for a review of X server software for Microsoft Windows)
Two packages dominate the world of X on the Macintosh: Apple Computer's MacX (v 1.2) and White Pine Software's eXodus (v 5.0). MacX is also available from Digital as part of their Pathworks for Macintosh product. Buying MacX in Pathworks is a very good deal. For $10 more, you get a complete implementation of DECnet, a terminal emulator, the DAL database access tool, and an Email package. In this review, we used the MacX software and documentation which come in Digital's Pathworks because the Digital documentation contains specific hints about using MacX with OpenVMS and DECwindows.
In the world of X window system servers, performance has become the most significant reason to choose an X server package. Since the X window system applications handle the user interface, the X server becomes little more than a fancy terminal and X server software little more than a commodity. However, there are issues of compatibility and integration which may swing the scale from one package to the other.
Both MacX and eXodus offer the same basic feature: they allow X clients to display windows on the Macintosh over TCP/IP, DECnet, or AppleTalk's ADSP (AppleTalk Data Stream Protocol). After that, things get very different.
Apple's MacX is an austere X11R4 server which offers excellent performance and a high level of reliability. MacX does not have a lot of bells and whistles. White Pine Software's eXodus is a feature-rich X11R5 server which has seen constant active development. It has grown into a reasonably mature server with good performance and many user-selectable options.
In some cases, eXodus is the victim of feature-creep, the tendency to add features which don't do much for the product. In other cases, though, the features added by White Pine Software's engineers have made significant contributions to the usability and usefulness of the product.
Installation and management of MacX and eXodus are both very similar. In both packages, the collection of fonts takes up most of the disk space. MacX and eXodus include a standard set of X window system fonts which take up about 3.5 Mbytes. For font fanatics, MacX and eXodus both can add Macintosh and BDF format fonts to the X server, while eXodus can also use PCF and Speedo fonts (added as part of the X11R5 release).
Managing an X server on a Macintosh can be a difficult matter. When the X server starts up, a user is greeted with a blank, empty screen. Getting from the empty screen to a running application can be a headache. The problem is an old one: how do you log onto an application server and get it to run an application pointing at your X server without typing lots and lots of commands?
Both MacX and eXodus have built-in support for starting X client applications easily and quickly. Client applications are added using a simple editor. Each client application has a network transport (TCP/IP, DECnet, or ADSP), a host to connect to, a username with security information, and the commands necessary to start the application.
In Digital's version of the MacX client documentation there are step-by-step instructions on how to get DECwindows applications up and running. (Note that this documentation is missing from Apple's version of MacX.) The pieces necessary to tie MacX to an OpenVMS system are contained in the Digital Pathworks software kits.
Client management is more versatile (and better documented) in eXodus than in MacX. White Pine includes mostly-accurate documentation on how to work with OpenVMS and Unix-flavored systems, as well as sample command procedures for the OpenVMS and SunOS environments.
White Pine also includes support for the X Display Management Control Protocol (XDMCP), which connects X servers to X applications on remote hosts. Although DECwindows does not include XDMCP, most newer Unix systems do have support for XDMCP. This greatly simplifies the management of X applications.
In either case, network managers will probably want to add some command procedures and network objects to X application servers before distributing Macintosh X servers. MacX and eXodus make it as easy as they can to start applications, but there's still a certain amount of black magic that should be taken care of before letting end users loose in the world of X.
Bells, whistles, and features are all nice to have, but users of X servers end up focusing on performance and reliability. We used a VAXstation 4000/60 and a Macintosh Quadra 800 to benchmark MacX and eXodus servers. Performance will be disappointing to anyone who is accustomed to working locally on a workstation.
As in our MS Windows reviews, both packages came in at less than 1.0 Xmark93. The fastest Macintosh server, MacX, turned in a .62 Xmark93, just about as fast as the fastest Windows server we tested. White Pine's eXodus was about 20% slower than MacX. These may seem slow, but there is hope. A new player on the market, Tenon Intersystems, gave us a beta release of their X server which was about 40% faster than MacX.
We ran tests using both DECnet and TCP/IP transport. The numbers didn't differ significantly, though TCP/IP had a miniscule edge in Macintosh-to-VAX communications. Users with a choice should use whichever transport works best for their environment.
Since the concept of an Xmark is a little vague, we tried to use these servers in real-world tests to see how the product operated. We brought up the NetView/6000 SNMP management station on an IBM RS/6000 system displaying in full color on our Macintosh server. Performance with both systems was slow compared to the local workstation, with MacX subjectively faster than eXodus.
In running X11perf tests, server reliability became an important issue. White Pine's eXodus couldn't make it through the entire battery of tests, a six-hour barrage of non-stop X operations, without crashing the Macintosh.
The eXodus server also had a memory leak: after a few hours of testing, eXdus had lost about 300K of memory. White Pine's eXodus also fared poorly when tested against the RS/6000---it couldn't survive a day of heavy operations without crashing. White Pine claims that all these bugs are fixed in the next version, due to ship later this summer.
We also felt that Apple provided better customer support than White Pine Software. We asked the same question of both Apple and White Pine engineers. Apple got back to us with an answer in 2 hours, while White Pine took 12 business hours.
Most people think of a Macintosh as an X server, something which displays windows which are generated on some minicomputer or mainframe across the network. But Macintoshes can also be X clients. A Macintosh running X client software can be operated by anyone on the same network running an X window server, such as a workstation running DECwindows.
Intercon Systems Corp (Herndon, VA) offers an X client application for the Macintosh called Planet X. The software runs on a Macintosh, but you control it from any X display device: VAXstations running DECwindows or Motif, Sun workstations, X terminals, even MS-DOS systems. All it takes is a Macintosh, TCP/IP, and a workstation or terminal running the X window system to use Planet X.
The Macintosh isn't the speediest X client you'll ever see, but for occasional use, it's not bad. Running an X client on the Macintosh offers a lot of flexibility to both system managers and help desks. X on the Macintosh allows remote support and management without running around buildings, finding keys to locked offices, or disturbing users.
A system manager could use an X client to install new software, change network configurations, and even reboot systems remotely. A help desk could connect to a Macintosh running an X client on the Macintosh of a user calling for help. It would then be possible to demonstrate an application feature or try and debug a problem, all remotely and under the eye of the user.
Macintosh Quadra 800
- 16 Mb memory
- 400 Mb disk
- Macintosh System 7.1
- MacTCP 2.0.4 TCP/IP stack
- Pathworks 1.2 DECnet stack
- 1280 x 1024 8-bit monitor on internal video
- internal Ethernet adapter
To test the performance of Macintosh-based X servers, we use the X11perf benchmark version 1.3 and the X Performance Characterization Committee's (XPC) Xmark93 script.
The X11perf benchmark tests many facets of an X server's performance, among them lines, circles, rectangles, polygons, window copies, text, and scrolling.
Many X server applications have a "fast" mode where intermediate operations in a series of X commands are ignored. We disabled this mode in both MacX and eXodus and enabled backing store support.
We run the X11perf results through the XPC's Xmark script, which uses the output of a full run of X11perf version 1.3, which is run with both Copy and XOR drawing modes. The Xmark is a single figure of merit derived from the geometric means of weighted X11perf primitive results. The weights used were developed by the XPC Committee from a poll of X Window System experts. DN&R Labs now uses the Xmark as a measure of price/performance.
The baseline for the Xmark is a Sparcstation 1 running SunOS 4.1.2 and the X11R5 server.
20525 Mariani Ave
Cupertino, CA 95014
Pathworks for Macintosh, v1.2 (QL-YPH9W-AA)
Digital Equipment Corporation
Planet X for the Macintosh
950 Herndon Parkway
Herndon, VA 22070
703-709-9880 FAX 703-709-9896
Expectations: We expect this stuff to run like a bat out of hell and not crash. And it should be easy to use.
Performance Features Reliability Documentation Price eXodus fails exceeds fails exceeds meets MacX/Pathworks meets meets meets meets meets
Server HW/SW Network Transport XMark93s VAX 4000/60, Decwindows TCP/IP 1.41 VAX 4000/60, Decwindows DECnet 1.54 VAX 4000/60, Decwindows Local (memory) 1.64 Mac Quadra 800, MacX DECnet .62 Mac Quadra 800, MacX TCP/IP .62 Mac Quadra 800, eXodus DECnet .48 Mac Quadra 800, eXodus TCP/IP .42Notes: In each benchmark run, the client was a VAXstation 4000/60. VAX-to-VAX numbers are offered as a comparison only.