Subject: Re: Alpha X server limitations
To: Ben Tober <tober@bbnplanet.COM>
From: Chris G. Demetriou <cgd@CS.cmu.edu>
List: port-alpha
Date: 01/28/1997 17:43:51
> How different is the new console from the console facility provided by
> Linux on the Alpha?

"very."

> Supposedly, XFree86 is working with Linux on the Alpha,
> and, unless there are good ideological reasons for doing so, things probably
> ought to be made such that the code in XFree86 need not be that different
> for Linux/Alpha and NetBSD/Alpha.

OK, where should i start?

(1) Alpha Linux's console interface is, from what I can tell, i386
Linux's console interface (perhaps with a few tweaks).  They basically
said "these are PCs on speed."  That is quite simply _wrong_,
especially if there's any desire to support turbochannel frame
buffers.

(2) the existing X server code in Xfree86 on the Alpha uses functions
'inb()' and 'outb()', with their traditional arguments.  What do they
mean (what _can_ they mean) if you've got multiple ISA or multiple
primary PCI busses?  What do they mean on systems that look nothing
like PCs?

(3) XFree86 is completely wrongheaded in the way it does frame bufffer
detection.  Basically, it looks through PCI configuration space (on
Alpha Linux by using some routines in libc(?), from what i can tell
reading the mailing lists), figures out what frame buffers are there,
where they are in /dev/mem, and accesses them that way.  _That_ is
totally wrong-headed, as well.  It might make sense for PCs, and on
OSes that have no reasonable console interface, but it doesn't make
sense on workstations or on systems with console interfaces which
actually do a fair bit of work (e.g. detecting generic 'classes' of
devices for you).

(4) I want a console interface that can be picked up by other ports;
i'm already aware of one port-in-progress that's planning to use it.



Quite honestly ... i'm not impressed by the XFree86 support for the
Alpha.


cgd