Path: news.uh.edu!barrett From: markus@techfak.uni-bielefeld.de (Markus Illenseer) Newsgroups: comp.sys.amiga.reviews Subject: REVIEW: DaggeX 1.0 Followup-To: comp.sys.amiga.datacomm Date: 27 May 1994 15:48:08 GMT Organization: The Amiga Online Review Column - ed. Daniel Barrett Lines: 427 Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator) Distribution: world Message-ID: <2s54no$g2g@masala.cc.uh.edu> Reply-To: markus@techfak.uni-bielefeld.de (Markus Illenseer) NNTP-Posting-Host: karazm.math.uh.edu Keywords: networking, X, X11R5, windows, telecommunications, freeware Originator: barrett@karazm.math.uh.edu PRODUCT NAME DaggeX 1.0 BRIEF DESCRIPTION DaggeX is a freely distributable server for the X window system. It represents X11 release 5 ("X11R5"). X may be used locally or over a network. AUTHOR/COMPANY INFORMATION Name: Kari 'Dagge' Mettinen and Leonard 'Vinsci' Norrgerd Address: Finland E-mail: kari.mettinen@helsinki.fi vinsci@nic.funet.fi DISTRIBUTION Freely distributable. DaggeX is available on the Aminet ftp sites in the directory pub/aminet/gfx/x11, and on the Aminet CD-ROM in the directory aminet/gfx/x11. LIST PRICE None -- it is freeware. SPECIAL HARDWARE, SOFTWARE, AND KNOWLEDGE REQUIREMENTS HARDWARE An Amiga with a 68020, 68030 or 68040 CPU. Requires at least 4MB of Fast RAM. 8MB Fast RAM or more is recommended for fluid use. 1MB or 2MB Chip RAM is recommended. At least 1MB of free hard drive space is required More is recommended. The Picasso II graphics board is recommended for higher resolutions, more colors and faster work. Requires a network adapter if network support is desired: A2065 Ethernet-card, A2060 Arcnet-card, serial line IP (SLIP) or peer-to-peer (PPP) access A three button mouse is recommended, since most X programs use it. SOFTWARE Requires AmigaDOS 2.1 or higher. Requires a TCP/IP stack protocol such as AmiTCP or AS225R2 (for developers only) for network use. KNOWLEDGE Basic knowledge of the X window system, TCP/IP networking, and the handling of the ixemul.library are required or at least recommended. COPY PROTECTION None. DaggeX installs on a hard drive by extracting the archive. MACHINE USED FOR TESTING Amiga 3000, 2MB Chip RAM, 8MB Fast RAM Picasso II graphics board with 2MB (non-segmented) RAM A2065 Ethernet-board. Several SCSI drives. AmigaDOS 2.1. Several other platforms were accessed with DaggeX: o A3000 running NetBSD Amiga, connected with Ethernet. o 80486-based machine running Linux, connected with Ethernet. o Sparc 10 running Solaris, connected with PPP via Modem. ABOUT THE REVIEW First, in the GENERAL OVERVIEW section, I explain the X window system. After that, I review the product and say how well it works on the Amiga. I will not explain how to connect the Amiga to a remote machine and how to set up the entire system, as this is beyond the scope of the review. GENERAL OVERVIEW I apologize in advance, but I have to use some vocabulary which may be unknown to the average reader but is often used in the environment where X is common. Of course, I will try to explain any unfamiliar terms. The X window system is a hardware-independent windowing system with network support. It is available for almost every computer platform. There are two main parts of the system: the server and the clients. The server is a program that runs all the time and allows clients to display their output. Users do not interact with the server directly. Clients are application programs which use the X window system as their display and tell the server what to do: open windows, draw lines and points, fill areas of the display with patterns, etc. You can think of the X server as similar to the Amiga's underlying "Intuition" software. If the Amiga already has a window system, what is the purpose of running X? The answer is that X works transparently over a network, runs on many different machines, and there are hundreds of X clients available as freeware. The X server is the only part of the entire system which is hardware dependent. That is, it must be written to support the particular hardware (Amiga, SPARCstation, 80406 machine, etc.) and graphics devices (ECS and AGA chipsets, special graphics boards, etc.) on which it is running. Once the server is written or ported, client programs can be run. The server needs to understand the X protocol which is required for the clients to tell the server what to do. This protocol is able to run over a network such as a TCP/IP driven direct network. Clients are usually application programs; for example, the terminal program "xterm", the paint program "xfig", the clock "xclock", and the editor "xedit". Clients may be run locally on the same machine, or remotely over a network. That is, on your computer screen, you may have client programs that are physically running on the same computer or multiple computers. In short, it is not important whether the clients run on a remote machine or on the local machine: the output can be displayed anywhere on the network using the X protocol. Here is a diagram illustrating what I have discussed so far: Server Connections Clients ____________ ___ _ | | | | | | | | | | |X| ______ | X Server | | N | | | | xfig | | | | e | |P| |______| | running | <--> | t | <-|r|-> ______ | | | w | |o| |xclock| | on graphics| | o | |t| |______| | | | r | |o| ______ | device | | k | |.| | Xterm| |____________| |___| |_| |______| ^ | ____________ | Keyboard | | Mouse | |____________| One very important client is the Window Manager. This client allows the user to drag windows, define and display menus, move icons, etc. There are a dozen different window managers available. Simple ones just add window borders to any window, and more complex ones even offer you virtual desktop spaces (similar to auto-scrolling on the Workbench) or 3D imagery. Hence, the X window system is a true Retargetable Graphics (RTG) System. Everything can be retargeted, even the keyboard and mouse inputs (which are part of the hardware dependent X server). So even the Amiga could be used as an X terminal once an X server is made available. DaggeX serves this purpose. DaggeX is able to connect via TCP/IP with other machines and can display the output of locally or remotely started programs. INSTALLATION DaggeX installs very easily: just extract the archive anywhere on your hard drive and copy the required ixemul.library to the LIBS: directory. The small Installation Guide covers the basic installation, nothing more. The authors obviously believe that anyone really interested into using X is also able to configure and maintain his/her system. Most X clients need fonts to display text. If you intend to start some clients on your Amiga (for local or remote use), you need to install the supplied X fonts too. After setting up the system using some ASSIGN and PATH commands, you may want to start the server with the supplied 'startx' script. This script starts the X server and also the supplied window manager, 'fvwm'. This is a modern and highly configurable window manager that enables you to have menus on your system and drag windows around. It makes sense to start the window manager on your local machine, because then dragging and dropping of windows is faster when no network is involved. This does not matter that much on a fast, Ethernet-based network, but on a modem-driven PPP connection, it makes a big difference. DaggeX opens a screen-mode requester and asks you to choose a mode for the X screen. It also offers you the choice to run in monochrome or up to 256 colors (on AGA). Now the X server runs, and the typical X mouse pointer is displayed. You are looking at an empty screen now, which is quite boring. But this is normal since you have not run any clients yet. The startx script starts the fvwm window manager, which has a fancy 3D look and offers vast configurability for starting clients and more. Now it's time to start other interesting clients. Currently available to run locally on the Amiga 'xv', the best image viewer for X; 'xfig', a very nice vector driven paint program; 'xedit', a simple text editor; 'xauth' and 'xhost', some tools for network support which give permission for remote clients to open windows on your machine. To run clients, you must switch back to your Workbench screen with left-Amiga N (or click the hidden depth-gadget on the X server screen) and then start a client in a shell. For the very first test, I tried 'xv'. It pops up and offers you a menu driven, almost Mac-like GUI and asks you for an image to load. I chose a nice image and voila, it was displayed. Really, I am astonished to see how well it works. But I am a bit disappointed about the size of the screen. At my university, I work almost every day on a 1280x1024 or 1152x900 screen with 256 colors, and here I have but an NTSC:Hires Interlace screen at 720x470 in 4 colors. So what: DaggeX supports my Picasso II graphics board! I restarted the X server using the Picasso options and opened a nice 1152x900 screen with 256 colors, too. Now this is hype, but this is simply a great feeling! xv is fun! Forget about Adpro and ImageFX: just use xv and DaggeX. :-) At this point, the only thing which is annoying is that I wasn't able to make the X server run on a Picasso screen using the normal ASL-screen mode requester - it just hung. I had to use the special option '-village' to start it on the Picasso. Now you might ask me about the performance. For a 68030 based machine, this is very fast. I won't post the 'xbench' or 'xperf' benchmark results here because they didn't run on my local machine but on the remote machine. Hence, only the X server and my network were really busy, not the entire machine - it would yield into non-competitive results. If anyone is really interested, one might want to compile the benchmark programs. I didn't have the time. Now, I was interested how well DaggeX works in a network. On an Amiga Meeting held early this year, i had the opportunity to test DaggeX against a 80486-based machine running Linux. All what was needed was to set up a telnet session, start the xauthentication on the local machine, and then start a remote client. For a start, I tried the terminal program xterm, which gives me a VT100-compatible console on the remote machine and enables me to start more clients without the basic telnet session. All worked flawlessly and was very fluid over the Ethernet connection. I was really happy. Even heavy programs such as "xspringies" or games like "xpilot" worked really well and were stable, even though they stress the server with many commands to draw lines, circles and more. Another test was to start some clients on a NetBSD driven Amiga on the same network, also using Ethernet. Even there, I had no problems, though the speed of the programs was of course slower. The only missing point was that I was unable to set up an xdm connection. Xdm offers you a login prompt over the network and enables you to run a fully qualified console on the remote machine without connecting with a telnet on the AmigaDOS side. This is the way professional X terminals do it. For this purpose, the X server needs to support the '-broadcast' or '-query' option, which was not implemented when I tested DaggeX. This is a weak spot in DaggeX, but the authors hoped to implement this function very soon. It would sure help to set up remote connections. The last test was a bit expensive for me, but I did it nonetheless. I connected DaggeX via modem and PPP to my university and started some clients on a Sparc 10 running Solaris. The modem was running at 14,400 bps and thus offers about 1 KB/sec transfer rates. It worked really nicely and without any problems once the basic network configuration was done. It is silly to view images with xv over a modem network, as the entire image needs to be transferred over the modem. Thus I started only simple clients such as a newsreader or a clock. They worked fine. During the test, I got several Enforcer hits (illegal memory accesses), especially when I killed a client via the window manager, rather than using the program's quit command. I would guess this indicates a bug somewhere in the network routines. I can't blame the authors for those Enforcer hits, as all they did was porting a typical Unix program to the Amiga. A typical Unix program almost never sets variables to a default value or almost always 'forgets' to free allocated memory, as Unix will do that for you. And reading from non-initialized variables yields Enforcer hits on AmigaDOS. I had several crashes where I could not identify the cause, but all overall I had expected by far more crashes than those I actually had. Why? Because X is a resource eater, and on small machines like the Amiga, it will run into memory limits quite fast. I found that 4MB of RAM are constantly needed and allocated while running DaggeX. With my 8MB, I was barely able to run the window manager, start xv locally, and look at some pictures without running out of memory. And still I can't blame the DaggeX authors. :-) Testing the X11R5 feature of font servers failed due to missing font servers on my test platforms (on the Sparc offered, but that was running over the modem where I didn't wanted to start a cached font server). DOCUMENTATION Supplied documentation is poor and describes only the basic installation and how to enable remote clients to display their output on your X server. Running the X server requires basic knowledge of the X window system and TCP/IP networks. LIKES Personally, I was impressed by the speed and the flawless work of DaggeX. It enables me to run X on my beloved system without any Unix environment actually needed on my Amiga. DaggeX gives you the big chance to run X on your Amiga and at the same time start local AmigaDOS applications without any problems. This makes the Amiga worth running in professional environments where Unix workstations are common and the Amiga is used only for simple renderings or simple text application use. I like the fact that you are able to run true X clients on your local Amiga, compiling them with GCC and the supplied X libraries. DISLIKES AND SUGGESTIONS I don't like the way it currently connects with remote systems, but that's a question of style. I prefer the 'broadcast' or 'query' style for connecting. The 'xauth' way done by the authors is less complicated for the programmers, but yields into major headaches for non-experienced users. Wishes for future versions: I would like to see the above mentioned options not only made available but actually run, too. :) Another wish or idea is that the X server might be able to display AmigaDOS (Intuition) applications concurrently on the same screen - even on the high resolution and non-Intuition Picasso screen. COMPARISON TO OTHER SIMILAR PRODUCTS The only other X server available for Amiga is the commercial product from GfxBase. Dale Luck and his crew have marketed this X server for quite a while now and offer professional support, too. Also, they support (to my knowledge) more graphics boards and offer more basic clients. Their server does support the missing features of DaggeX: query, broadcast, and xdm on the network. The GfxBase X server is very stable and is highly optimized for the Amiga in both speed and memory use. It does not offer a nice screenmode requester at the beginning and currently runs only with the AS225R1 and AS225R2 TCP/P stack, which is either no longer sold or was not made available yet. I don't know if GfxBase intends to support AmiTCP. But this does not really matter as there is a freeware socket library available which emulates the socket library of AS225R2 for AmiTCP. I may add that my experience with GfxBase X server is a bit old, so they might have changed it heavily. I think it does not make sense to compare DaggeX with X servers running on Unix machines, because the entire environment is totally different. The X servers completely fit into a Unix system due to the fact that TCP/IP comes standard with Unix. BUGS I wasn't really able to find major bugs besides some unexplained crashes and Enforcer hits. DaggeX is still under development, and most of the bugs are a heritage of the basic X server which was never intended to run outside of a Unix system. WARRANTY None. DaggeX has no warranty other than that the authors believes it might help you. CONCLUSIONS DaggeX provides a nice opportunity to run the X window system on your Amiga. It is sure helpful in a Unix environment or networks. Professional users might want to have a look at DaggeX due to the Picasso II support, but will probably consider the GfxBase X server for its better support and documentation. On a scale of 0 to 5 stars, I give DaggeX 3.75 stars. This could be increased to 4.25 stars when the missing features are added and better documentation is available. COPYRIGHT NOTICE This review is Copyright 1994 Markus Illenseer. All rights reserved. Include the standard disclaimer here. The author of this text is not responsible for anything if you get into some serious problems due to this text. If you intend to copy or print this text on any media to make it available for other readers, the author would like to get a copy of that media if possible. -- Markus Illenseer, Kurt Schumacherstr. 16, 33613 Bielefeld, FRG Voice: ++49 (0)521 103995 markus@techfak.uni-bielefeld.de --- Daniel Barrett, Moderator, comp.sys.amiga.reviews Send reviews to: amiga-reviews-submissions@math.uh.edu Request information: amiga-reviews-requests@math.uh.edu Moderator mail: amiga-reviews@math.uh.edu Anonymous ftp site: math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews