Subject: REVIEW: DaggeX 1.0
From: [email-masked] (Markus Illenseer)
Date: 27 May 1994 15:48:08 GMT
Newsgroups: comp.sys.amiga.reviews

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:		[email-masked]
			[email-masked]

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

	[email-masked]

---

   Daniel Barrett, Moderator, comp.sys.amiga.reviews
   Send reviews to:	[email-masked]
   Request information:	[email-masked]
   Moderator mail:	[email-masked]
   Anonymous ftp site:  math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews