[haiku-development] Re: AGP changes broke NVidia display.

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 02 Feb 2008 17:20:52 +0100 CET

Bruno Albuquerque <bga@xxxxxxxxxxxxx> wrote:
> Axel Dörfler escreveu:
> > The new AGP bus manager does not support a settings file at all at
> > this
> > point; I'm no friend of settings files for kernel drivers if they
> > aren't strictly necessary (and they usually aren't).
> Well, the usual solution to settings file is to make the driver aware
> of
> all probblems in chipsets and disable features or enable workarounds
> when needed. As we probably don't have enough hardware to test every
> possible combination, settings files are a good workaround.

Sure, but only if your aim is to fix all those bugs before deployment :
-)
It's always interesting to see how other platforms deal with these
issues, and what work-arounds they have in their code. Now you can add
a work-around for your hardware, yay ;-))
If you know some options are problematic, it's better to only enable it
on certain (tested) hardware by default. AGP fast writes seem to be
such a case.

> > But since it does not hang as before, I guess there might have been
> > a
> > bug in the old AGP bus manager that caused this hang? Does it
> > report
> > AGP 2x or 4x for you now?
> Correction, now it started to hang (the drawing engine hangs and do
> not
> come back anymore). Sometimes it hangs but come bacl after 5 or 6
> seconds.
>
> I tried to figure out if it was using AGP 4X or 2X but funny enough
> there was no debug output whatsoever from the nvidia driver or
> agp_gart
> driver to the syslog. Looking at the code it seems you are matching
> chipset and graphics card capabilities and, in this case, it would
> enable AGP 4X (as both report it).

The nvidia driver should have some debug output in it. I might have
forgotten about it in the AGP driver (update: confirmed, fixed in r).

> I have dma_acc set to false in the nevidia settings file. So I guess
> it
> is not enabled. Funny enough, DMA works if AGP is disabled but the
> graphics operations seem to be slower than using PIO mode.

Strange, it should always be faster than with PIO. But I guess Rudolf
could tell us more about it.
Maybe you should always disable DMA for that card in the driver.
Or is anyone out there who hasn't got any problems with that one?

> > You could try to disable fast-writes and see if that helps. To do
> > that,
> > just remove the AGP_FAST_WRITE bit in the set_agp_mode() function
> > call
> > in the nVidia driver.
> I disabled fastwrites on the BIOS and now it seems to work. In fact,
> even DMA seems to be working. Some interesting stuff:
>
> 1 - I tried GLTeapot. It seems it is drawing outside of its window
> when
> you move the window around.

That's more or less what happens on other systems, too, at least there
seem to be some problems left in that code (I only looked shortly at
that, but I couldn't even find any code that would stop all direct
windows when moving a window).

> 2 - If DMA acc is enabled, not only it will draw outside its windows
> as
> it will also crash GLTeapot somewhere in
> MesaSoftwareRenderer::SwapBuffers().

That shouldn't really have any impact on that, sounds strange.

> Having this in minda, any ideas? How much of a performance boost is
> fatswrites?

I have no idea, I just know that the Radeon driver always disables it.
I guess Rudolf has some numbers somewhere (maybe in his blog or the
update/read-me files of his nVidia/AGP releases).
I don't think it'll be a huge problem.

Bye,
   Axel.


Other related posts: