Subject: Re: whats the status of X on alpha so far
To: None <port-alpha@netbsd.org, simonb@netbsd.org>
From: Ross Harvey <ross@ghs.com>
List: port-alpha
Date: 04/15/1999 19:59:44
> From: Simon Burge <simonb@netbsd.org>
>
> Just to clear this up (if it's a hardware question and it doesn't
> involve a pmax, I tend to give up :-), is it just a SMOP to get X
> working on any joe-random PCI VGA card?  The Alpha/FAQ doesn't say
> what the problems are with support for video cards...  I take it
> that plain text mode stuff "just works"?
>
> If it is just a SMOP, I suspect there'll be a bunch of us working on
> this RSN if there's a lot of new AlphaPC164's running NetBSD soon ;)

No, it's not "just a SMOP". 

The short answer is: they could be made to work, but it requires that we
kludge the alpha to look like a PeeCee. There is some merit in this approach,
but it was such a kludge that previous NetBSD developers didn't want to
touch it. (``Solutions not hacks'' and all that. :-)

In more detail, the XFree86 servers really expect the world to
like like a PeeCee, in particular, they expect:

	* a direct mapped PCI host bridge
	* byte and word addressibility, with atomic rmw
	* just one single bus (oh yeah, exactly _what_ does "inb()" mean? :-)

They don't have any notion of hierarchical I/O attachments and multiple
(possibly hierarchical) bus attachments. I think they actually troll PCI
config space, examining device types.

If we had a user-mode bus_space(9) and bus_dma(9), and if XFree86
would use it, then a clean and respectable solution would emerge.
It is rumoured that Chris Demetriou gave them such a spec, or the
outline of one, but that they ignored it.

So, that kind of leaves the kludge. Since most alphas only have one
PCI bus and usually the RAM fits in a direct mapped window, it's certainly
possible to run most cards on most platforms. This is essentially what linux
does. I can imagine some reasonable interfaces we could specify to define the
mapping from the real alpha HW to the picture presented to the Xserver.

Are you volunteering to work on it? :-)

	Ross.Harvey@Computer.Org