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

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

"Bruno G. Albuquerque" <bga@xxxxxxxxxxxxx> wrote:
> First of all, this is a very old configuration (Dual PIII 933 + 
> NVidia 
> GEForce 2 Ti). The motherboard reports AGP 4x support and so does the 
> video card, but I had to force AGP to 2x with the AGP config file or 
> the machine would hang with this configuration. I also had to disable 
> DMA acc in the nvidia.settings file.

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).
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?

> With the new AGP_GART, what hapoens is this:
> 
> 1 - Haiku boots and the display looks normal. I get the Terminal, 
> icons, the Deskbar and mouse pointer.
> 2 - After some seconds when I start to move the mouse, the mouse 
> lives 
> a trail of random white dots.
> 3 - If I do something that would display more stuff in the screen, 
> like 
> clicking the Haiku Menu, the menu also appears completelly garbled 
> and 
> the drawing engine obvious reset itself (all redrawing activies stopo 
> for up to 6 seonds) and them it restarts.
> 4 - When this happen, I still get dirty on the screen and any windows 
> displayed appears hollow (as if the background was not draw, only the 
> borders of each widget) which is *EXACTLY* the problem I had if I had 
> left DMA acc enabled.
> 
> If in nvidia.settings I forcely disable AGP, I have no problems 
> )other 
> than not having AGP enabled, that is). Any ideas?

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.
What you see is probably that everything in the command ring buffers is 
not executed which sounds very much like an acceleration problem. But 
that might be caused by the AGP mode as well, I guess :-)

Eventually, the nVidia driver does not make sure the buffers have been 
flushed in the command ring buffer before letting the device execute 
them. Are you sure your device does not use the DMA mode?

Bye,
   Axel.


Other related posts: