Subject: Re: SVGA and the kitchen sink.
Date: Mon, 6 Jan 92 21:49:06 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi


Two things.  First I think bios and therefore V86 access will be required
if for no other reason than because two many clone vendors rely on it
to deliver "compatibility".

Second.  Before X11 can even be looked at, another feature will be 
required.  That is, shared dynamic linked libraries.  I just finished
working on a   Decstation 3100 for 6 months using Ultrix which does 
not have this.  The executables are monsterous, and the only thing
they eat more of than disk space is memory.  Plus, if Linux is to
be distributed over ftp, and we wish to permit access to distributing 
binaries, then much net-width can be saved. But most of all, since
Linux is fast evolving, if we want to avoid frequent recompiles of
all utilities every time a library routine changes (such as job 
control requires) then we better get shared libs fast.

The moral of the tale is, if anyone out there is currently idle,
and knows something about compilers, and is willing to tackle 
shared libs, please step forward at the sound of the tone.

^G

Subject: The way to X11.  (was Re: SVGA and the kitchen sink.)
From: rhwang@cs.utexas.edu (Rwo-Hsi Wang)
Date: Tue, 7 Jan 1992 00:26:57 -0600
To: linux-activists@joker.cs.hut.fi

Peter (pmacdona@sanjuan.UVic.CA) wrote:
> Before X11 can even be looked at, another feature will be 
> required.  That is, shared dynamic linked libraries.

Could someone give us a list of features (preferably in the order of
implementation precedence) that are required (and yet to be implemented)
before X11 can be ported to Linux?  I'm curious about how far away
Linux is from X11.  Thanks!

Regards,
Rwo-Hsi

Subject: Re: SVGA and the kitchen sink.
Date: Tue, 7 Jan 92 11:28:26 -0500
From: tytso@Athena.MIT.EDU (Theodore Ts'o)
To: linux-activists@joker.cs.hut.fi
In-Reply-To: Peter MacDonald's message of Mon, 6 Jan 92 21:49:06 PST,
Reply-To: tytso@Athena.MIT.EDU

   Date: Mon, 6 Jan 92 21:49:06 PST
   From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)

   Second.  Before X11 can even be looked at, another feature will be 
   required.  That is, shared dynamic linked libraries.  I just finished
   working on a   Decstation 3100 for 6 months using Ultrix which does 
   not have this.  The executables are monsterous, and the only thing
   they eat more of than disk space is memory.  Plus, if Linux is to
   be distributed over ftp, and we wish to permit access to distributing 
   binaries, then much net-width can be saved. But most of all, since
   Linux is fast evolving, if we want to avoid frequent recompiles of
   all utilities every time a library routine changes (such as job 
   control requires) then we better get shared libs fast.

A couple of points.  First of all, job-control does *not* require
recompiling all of the utilities.  /bin/bash needs to be recompiled with
the job control commands built in, of course, but that's about it.

Secondly, many of the changes which I (at least) have been talking about
requiring recompiling all of the utilities because they mean that the
system /usr/include files would have to be change, and the structures
passed back from the kernel would change as the sizes changed.  A
dynamically linked library wouldn't solve this problem.

Finally, people should be aware that many shared libraries implemented
under Unix are not fully "dynamically linked" --- that is, when you
change the library, you often have to relink all of the utilities or
they won't work at all.  These designs are great for conserving disk
space, but they're hell for evolving systems, because with statically
linked programs, at least you know they will always work as long as the
kernel interface remains constant.  With shared libraries, often times
replacing the library will cause all the programs which relied on the
old version of the library to break, even if the kernel hasn't changed
at all.  It is possible to do it right, but whoever tackles this one
needs to be careful about the design....

   From: rhwang@cs.utexas.edu (Rwo-Hsi Wang)
   Date: Tue, 7 Jan 1992 00:26:57 -0600

   Could someone give us a list of features (preferably in the order of
   implementation precedence) that are required (and yet to be implemented)
   before X11 can be ported to Linux?  I'm curious about how far away
   Linux is from X11.  Thanks!

Well, I believe the only unimplemented feature which is absolutely
required is Berkeley-style sockets (or a socket emulation library,
although the real thing would be preferable, IMHO).  There are a lot of
features which would be helpful but not required.  They include:

  *	Networking code that goes with the socket() implementation
  *	Symbolic links, to make dealing with the source tree easier
  *	SCSI disk driver, to make it easier to hook up big fast disks
		so you have room for the complete X11 distribution
  *	Shared libraries, to make the (many) X executables smaller and
		usable on systems with small amounts of memory.

I suspect that implementing the above items could be done in parallel
with porting the X server, once we have BSD-style sockets.  The port of
the X server itself may not be trivial, so one should not discount that;
however, getting the X clients to build should be fairly easy, as long
as you have the disk space.

						- Ted