I think it's fair to say that in the very early days of Linux, most of
the people who were using it were people who kernel hackers; and so we
didn't have all that many people who were interested in developing new
windowing systems. We just wanted to be able to have multiple xterms
and Emacs windows.
In fact, support for X Windows predated the development of a
networking stack; we had Unix domain sockets, so that was enough for
X, but we didn't have a working networking stack at that point! I
would be running X, and then running C-Kermit to download files from
MIT over a dialup modem.
At that point, X windows wasn't *flaky* per se, but remember that back
then monitors were very persnicky about exactly what resolutions and
frequences they would accept. And this was before monitors supported
EDID (Extended Display Identification Data), which allowed the X
server to figure out what the parameters were of the monitor. So that
meant that configuring the X server with the correct resolution,
frequencies, etc., was tricky. There were long and complex documents
explaining how to do it, and it was a very manual process. If you got
the calculations wrong, the image might not be stable, but that wasn't
a software bug so much as it was a configuration error.
There were programs (for example, the most famous was the graphical
game "Tuxracer") which wrote directly to the frame buffer, but there
wasn't anyone who was interested in developing their own compositor.
We just wanted xterms and (later) Firefox to work!
As far as discussion about what should and shouldn't go into the
kernel, most people agreed that as much as possible, especially in
graphics land, should be out of the kernel. The fact that we didn't
have a lot of graphics specialists in the kernel development
community, and that in those early days the vast majority of Linux
boxen where single user machines just sealed the deal.
- Ted