DaggeX 0.9 COPYRIGHT 1993 by Kari Mettinen and Leonard Norrgård. This file contains ducumentation about what's different in DaggeX from the 'standard' MIT distribution. But first a few general things about DaggeX0.9 distribution. 1) This release has been compiled for 68020 and better CPUs. There will be a plain 68000 distribution later. 2) This release doesn't use as225 for TCP/IP communications. (this would be DaggeX1.0 if it would ;) 3) This release does use AmiTCP for TCP/IP communications. 4) You don't need AmiTCP to run DaggeX locally. 5) Xhost doesn't work. Xauth does. 6) This is still beta. Now with all that FAQish stuff done, lets get to the real stuff. As you might guess, DaggeX is a port oof the MIT X11R5 Sample server. Most things work the way it works in the MIT server, see X.doc and Xserver.doc for general information. Most paths are different from the MIT distribution, but I suggest you try to make the enviroment similar to the usual unix enviroment. It will make things easier. If you have gcc installed, I suggest you use /bin/x11 for binaries, and usr/lib/X11 for misc stuff. A few paths are hardcoded to /usr/lib/x11 anyway. Now the Amiga-specific commandline options. -amitcp This will tell DaggeX to try use AmiTCP for TCP/IP communications. You must have AmiTCP running before running DaggeX with this option. AmiTCP version used to compile DaggeX was 2.1 -width This will tell DaggeX the width of the screen to run DaggeX on. This will be overrun if asl-reqquester is used. -height This will tell DaggeX the height of the screen to run DaggeX on. This will be overrun if asl-requester is used. -native This will tell DaggeX to open the DaggeX screen with OpenScreen() call, which will use the native chipset in the most cases. This is the default. -village This will tell DaggeX to open the DaggeX screen to the Picasso-II gfx-board. -depth This will tell DaggeX the depth of the screen to be opened. Currently only valid values are 1 and 8. '-native' means '-depth 1' and it is the default. With village you must define '-depth 8' on the command line. About stack usage, I've used 300000 and it seems to be enough, less might be enough too. I wouldn't go under 50000. But then who knows, that might work too. (no I haven't done any stack-usage tests ;) About priorities, it seems to be best to run server with a higher priority than the clients. Clients should use the same priority because if a client is trying to establish connection and has higher priority than the window-manager a deadlock migh occur. About Authorization, as said previously xhost don't work. Xauth does. Until I get xhost working you should get to know how to use xauth. Xauth is quite simple, you have a list that has addresses of machines with so called cookies. When a client tries to connect to a server, it looks up the server-machines address from the list and uses the cookie attached to the address for authorization. When a server gets a request from a client that wants to establish connection to the server, it gets the authorization cookie from the request looks up the adress of the client machine, then looks up that address-entry from the list and checks if the cookie in it's own list is the same that's on the request from the client. If it is the same, the connection is accepted, if not, it's refused. An example: at amiga.workstaion.running.daggex you have for example enviroment variable XAUTHORITY set to foo:.xauthority now when you start xauth on that machine you get a 'xauth>' promt. xauth> list localhost:0 MIT-MAGIC-COOKIE-1 6666 124.5.6.7:0 MIT-MAGIC-COOKIE-1 1122332211 xauth> Now lets imagine that you'd want to run clients on a machine called cray.ymp.running.xpilot . You'd do the following. shell> nslookup cray.ymp.running.xpilot 123.45.67.89 shell> xauth xauth> add 123.45.67.89:0 . 1122334455 xauth> list localhost:0 MIT-MAGIC-COOKIE-1 6666 124.5.6.7:0 MIT-MAGIC-COOKIE-1 1122332211 123.45.67.89:0 MIT-MAGIC-COOKIE-1 1122334455 xauth> exit Writing authority file /foo/.xauthority shell> Now on the cray.ymp.running.xpilot you'd do the following. whatevershell$ nslookup amiga.workstation.running.daggex 128.54.32.1 whatevershell$ xauth xauth> add 128.54.32.1:0 . 1122334455 xauth> exit Writing authority file /tengigdisk/foo/.Xauthority whatevershell$ xpilot -display amiga.workstation.running.daggex:0 The trick here is (as some of you might already have guessed) to have the same cookie for both machines. In this case '1122334455'. For more information about the subject, read manpages for xauth. DaggeX uses Markus Wild's ixemul.library extensively. You should enable ixemul's unix-type path translation. That means tell ixemul to use /usr/foo instead of usr:foo . BUGS Inverted rectangles don't work properly with 8-bit displays when using other colors than black and white. Large GetImage() calls don't work with local communications, should work ok with AmiTCP if DaggeX can get enough mem from the system. This affects xwd. There are some bugs on the clients side. Xedit dies if trying to use ^S or ^R (search), this crashes most of the times, but not always. XBell() call has probles too. TODO as225 support. 15,16 and 24-bit support. bugfixes. THANKS TO Markus Wild for gcc and ixemul.library. Leonard Norrgård for asl-requester code and numerous suggestions, tests and general support. He was the first person to run DaggeX. AmiTCP Group for AmiTCP. Michael van Elst for compiling part of DaggeX, I only have 7M of memory. Michael Balzer for debugging and Village Tronic connection. Village Tronic Gmbh for support. Everyone who has helped.