Subject: Re: whats the status of X on alpha so far
To: None <port-alpha@netbsd.org>
From: Andrew Isaacson <adisaacs@mtu.edu>
List: port-alpha
Date: 04/16/1999 10:48:48
On Thu, Apr 15, 1999 at 07:59:44PM -0700, Ross Harvey wrote:
> > 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? :-)

Rather than spending significant effort on the 3.3 branch of XFree86,
I would recommend that interested parties email xfree86@xfree86.org
and become XFree86 developers.  This gains you access to the
development 3.9 branch, which (so they say) has a much improved driver
model.  Among other things, the new development branch supports
multihead operation (using suitable PCI cards), and has some notion of
busses and hierarchy and the like.

Unfortunately (from the POV of getting X working in 1.4) the XFree86
developer rules prohibit distributing development snapshot code to
non-developers, but they are aiming for a public snapshot release
early this summer.

I'm sure XFree86 would welcome any help in getting X up on
NetBSD/Alpha, but I don't think they're going to be real sympathetic 
to plans to restructure their code.  After all, they want to remain
portable to other OSes like Linux, SVR4, and the like.

-andy
-- 
Andy Isaacson adisaacs@mtu.edu adi@acm.org    Fight Spam, join CAUCE:
http://www.csl.mtu.edu/~adisaacs/              http://www.cauce.org/