[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: XFree86 4.1.0pre1v1.3 on Alpha



On Sat, Jun 30, 2001 at 10:06:05AM -0400, Doug Larrick wrote:
>
> The attached patch makes a PCI Voodoo3 3000 PCI card work on my Alpha
> PC164LX.  Without it, the system goes into a whole lot of bad during X
> initialization: 'sync' works afterwards, but 'halt' does not.
> 
> The root of the problem is that the int10 subsystem is extremely broken for
> Alpha, at least for the type of Alpha that I have (LX).  After int10 has
> done its work, calls to sleep(), usleep(), nanosleep(), etc. never return.
> 
> My patch simply disables the use of int10 (and therefore also DDC) in the
> tdfx driver, like is done on PowerPC.  This change probably precludes use
> of a 3dfx card as a second head on Alpha.  The functionality obviously
> worked for someone, or it would not have been put in.  But IMHO this way is
> safer for more users.

I had a similar problem with a Voodoo Banshee card in an LX, though it
was more serious - it crashed the machine back to SRM console.

But that same card, and a Voodoo3 3000, work just fine in the newer
(EV6) boxes, without the need for disabling int10 processing.

The same type of int10-related problem has cropped up with other drivers
on other cards when run on an LX; I seem to remember it was the GLINT
driver, but it could have been the R128 one.

As it turns out, one can add an option in the Device Section of the
XF86Config file:

	Option	"NoInt10"

to prevent int10 from getting run on a 3DFx card. Unfortunately, this
does not work for some other drivers, so is not a general solution to
int10-related problems.

It would be much better if we could determine what it is about running
int10 on some cards' BIOS code on an LX that causes problems. It's
been on my TODO list for a while, and Egbert Eich, one of the XFree86
fellows responsible for "int10" and who has a number of Alphas, would
also like to see a solution. But to this point, the time hasn't been
available to attack it.

I have some int10-related patches against 4.1.0 that remove most if
not all of the unaligned accesses that occur during the running of int10,
but I don't believe they solve this problem with Voodoo cards.

So, bottom line WRT the patches, is that they provide the best safety
against uninformed folks using 3DFx cards on LX-style machines, but
I don't recommend those patches be passed along to XFree86. They are
overkill, don't apply to all Alpha machines, and will have side-effects
when attempting to do multi-head with 3DFx cards, as Doug noted.

--Jay++

-----------------------------------------------------------------------------
Jay A Estabrook                            Alpha Engineering - LINUX Project
Compaq Computer Corp. - MRO1-2/K20         (508) 467-2080
200 Forest Street, Marlboro MA 01752       Jay.Estabrook@compaq.com
-----------------------------------------------------------------------------



Reply to: