larsp@daimi.UUCP (01/09/87)
Has someone used the MIT X window-system ?? Before choosing X for a devolopment-system, I would like to hear some comments about X. -- Lars Bak Petersen AArhus Universitet Denmark UUCP: larsp@daimi.UUCP
ghemawat@svax.UUCP (01/18/87)
I have been using X for two or three months. Advantages: 1) Easy to write window based applications - provides a very simple interface. 2) Works over a network, so you don't have to run your applications on a workstation. 3) The window system has been implemented on a large number of different workstations (including VAXStations, IBM RT's, SUN's, ...). In a recent draft, one of the designers of X said that X had been ported to more hardware than any other window system he was aware of. 4) You are not tied down to a particular window manager - the guy who moves your windows around, resizes them... There are several window managers in the distr. and you can write your own if you want to. Disadvantages: 1) It might be slow at times because all window system calls are routed to the server through a socket (on unix). 2) At the moment, there is no standard toolkit for things like buttons, scrollbars, etc. However, Version 11 of X (due in March) is supposed to provide an extensible toolkit containing objects like buttons, scroll bars, labels, menus, edit-windows... 3) Security is not enforced very strictly. The server maintains a list of hosts from which it can accept connections. Any user on any of these hosts can connect to the display. V 11 will provide hooks for implementing more security. 4) It does not provide 3D primitives. 3D primitives will also be absent from V 11, but a facility will exist for extending V11 X, so interested parties should be able to write their own 3D extensions to X. There is a mailing list for X windows (requests for addition should be sent to xpert-request@athena.mit.edu). You might want to hold out on this, because they are thinking of starting a newsgroup and discontinuing the mailing list. -Sanjay Ghemawat (ghemawat@wrath.cs.cornell.edu) Cornell University
berger@datacube.UUCP (01/20/87)
How hard is it to port X to non-unix environments? Bob Berger Datacube Inc. Systems / Software Group 4 Dearborn Rd. Peabody, Ma 01960 VOICE: 617-535-6644; FAX: (617) 535-5643; TWX: (710) 347-0125 UUCP: ihnp4!datacube!berger {seismo,cbosgd,cuae2,mit-eddie}!mirror!datacube!berger
jim@ci-dandelion.UUCP (Jim Fulton) (01/21/87)
> How hard is it to port X to non-unix environments?
For the server code, it depends on how easily you can emulate select(2). If
you can do that (including providing a way for it to be woken up by the
network and by the input device) then you should have relatively few problems.
This is what enables the server to efficiently wait for input from any client
on the network or from the tablet or mouse. If your server doesn't have to
share the machine with any other processes then polling will work; but if
you're using a multitasking machine a "real" select is pretty important.
For those who are interested I have a note that I sent out to the XPERT and
XPORT mailing lists describing PC/X, our port of X10 that runs on a PC/AT
under MS-DOS using a 1280x1024 Hitachi ACRTC-based graphics card. Send me
mail and I'll forward it on to you.
Jim Fulton
Cognition Inc.
900 Tech Park Drive
UUCP: ...!{mit-eddie,talcott}!ci-dandelion!jim Billerica, MA
ARPA: fulton@eddie.mit.edu, jim@athena.mit.edu (617) 667-4800
root@sbcs.UUCP (Root) (01/22/87)
> > How hard is it to port X to non-unix environments? > > Bob Berger > > Datacube Inc. Systems / Software Group 4 Dearborn Rd. Peabody, Ma 01960 I'm busy porting X to the Commodore Amiga, and generally finding it not too difficult. The server part of the implementation tries, by design, to make minimal use of Unix system calls. All one generally has to do to retarget the environment is deal with Unix'ish calls such as socket(), fstat(), fopen(), etc, which are most probably similar in principle to the OS calls available in the target environment. As for the graphics interface portion of the server, porting is generally facilitated if the target machine has some concept of graphics primitives, e.g. ability to draw a (textured) line, block copy one rectangular area to another on the screen would be just fine. If you also want to port the client part of X, namely the ultilities such as xterm, xperfmon, xlock, xdemo, etc, GOOD LUCK! They can be very Unix specific (e.g. xperfmon needs to trot around in /dev/kmem). My application requires only the server part of X on the Amiga, so I will not port most of the client code.. BTW, my final resolution on porting X onto the Amiga was to try to produce as Unix like environment as possible, since it eases the conversion problems, and makes it easier to upgrade things to V11 in March. Hope some of this helps, Rick Spanbauer
jpm@calmasd.UUCP (01/24/87)
In article <275@ci-dandelion.UUCP>, jim@ci-dandelion.UUCP (Jim Fulton) writes: > > How hard is it to port X to non-unix environments? > > For the server code, it depends on how easily you can emulate select(2). If > you can do that (including providing a way for it to be woken up by the > network and by the input device) then you should have relatively few problems. We have implemented a server-based user interface toolkit, originally under 4.2 BSD with ports to VMS and Apollo. The crux of the problem in porting servers in general is exactly as Jim describes - emulating the UNIX select call. We found ways of doing this in both VMS and Aegis by using native system facilities. Actually, this whole problem should be trivial if the non-unix O.S. people would simply include the select call in their C system libraries. All the other usual (UNIX) system calls are present (open, malloc, etc.), but not select - in my opinion a major omission. I would also like to point out that the select call was not our only portability problem. User interface tools have to deal with things like windows and graphics and these CAN be major portability problems (but not when X and XLib become the universal standard!). But then, these are not strictly O.S./Unix issues and don't relate to the original poster's request... However, the original requestor is advised to consider the display end of things when porting X to non-unix environments. If your display hardware can't do the things that X expects at that level, you could have big problems... -- John McNally GE/Calma 9805 Scranton Rd. San Diego CA 92121 ...{ucbvax | decvax}!sdcsvax!calmasd!jpm (619)-587-3211