Subject: Re: S3 X server for Alpha? (updated)
To: Lindgren, Jon <jlindgren@SLK.com>
From: R. C. Dowdeswell <elric@mabelode.imrryr.org>
List: port-alpha
Date: 12/16/1998 12:59:25
On 913823629 seconds since the Beginning of the UNIX epoch
"Lindgren, Jon" wrote:
>
>> XFree86 runs just fine on Linux/Alpha.  Most of the drivers are
>> supported.
>>
>> The newest version of XFree86, 3.3.3, has more support for the TGA
>> (including 24-bit versions), and some 64-bit bug fixes.
>>
>> -andy
>
>Fantastic.  I'll see what I can do to make some servers run on NetBSD.
>I'll
>most likely work on S3 and SVGA first, then do the TGA stuff if I feel
>I can
>handle it.

NetBSD/alpha already supports the TGA under X.  It isn't terribly
accelerated, but I am working on that myself.  Currently I am
concentrating on accelerating the console, which is pretty slow on
my Multia, and am having some success.

$ time ( for i in $(jot 256); do echo $i; done )

took around 79.something seconds of system time, and I have it down
to 4.5 seconds of system time so far.  And I have only optimised
the screen to screen copy.

I'll be sending something to Ross pretty soon, so he can check it
out, I just need to hook my Multia up to a multisync monitor and
see how the code works in different resolutions (it only does
1152x900 right now, so I probably have some weird dependencies on
this, somewhere).  I also am only leaving my Multia on for pretty
short periods since I have not heat sinked it or replaced the
naughty part that burns out.  (I've already lost one of them.)

I looked at the XFree86 code, and actually got it to compile
(although not do anything.)  I think that I lost the changes to an
accidental sup.  You'll have to deal with countless:

 #if defined(__alpha__) && defined(linux)
	/* Do alpha/linux specific assembly code */
 #else
 #ifdef __mips__
	/* Do mips assembly */
 #else
	/* Do i386 assembly */
 #endif
 #endif

But it shouldn't be too hard to clean up.  You just need to provide
the equivalent of i386_ioperm for the alpha, and inb() and outb().
Another thing that you'll find is that XFree86 actually traverses
the PCI bus.  Which is not the way that I'd want to do things..

Anyway the short of it is that after getting a few Multia's I became
a lot more interested in getting my Multia to do fast X..

 == Roland Dowdeswell
 == http://www.imrryr.org/~elric/