Latest i810 driver

Thomas Hellström thomas at tungstengraphics.com
Wed Feb 7 00:29:29 PST 2007


Lukas Hejtmanek wrote:
> On Tue, Feb 06, 2007 at 02:46:17PM -0800, Eric Anholt wrote:
>   
>>> (II) I810(0): MakeTiles failed for the front buffer
>>> (II) I810(0): Activating tiled memory for the back buffer.
>>> (II) I810(0): Activating tiled memory for the depth buffer.
>>>
>>> (II) I810(0): RandR enabled, ignore the following RandR disabled message.
>>> (WW) I810(0): Option "VideoRAM" is not used
>>>       
>> Looks like you tried to do
>> Option "VideoRam" "number"
>> instead of
>> VideoRam number
>>
>> It's still a bug if you need VideoRam at all, but at least that should
>> help you work around it for now.
>>     
>
> Using VideoRam 65536, it basically works.
>
> (--) I810(0): Pre-allocated VideoRam: 16124 kByte
> (**) I810(0): Potential VideoRam: 65536 kByte
> (**) I810(0): Requested 1200 cache lines
> (==) I810(0): video overlay key set to 0x101fe
> (**) I810(0): page flipping enabled
> (==) I810(0): Using gamma correction (1.0, 1.0, 1.0)
> (II) I810(0): Increasing the scanline pitch to allow tiling mode (1280 -> 2048).
> (**) I810(0): VideoRam: 65368 KB
>
> It's odd that Potential VideoRam is lower than default case.
>
> Using this approach, ppracer is playable again. On the other hand, glxgears
> shows less FPS causing twice more CPU usage, is this supposed to be OK?
> (regardless of exporting INTEL_BATCH=1)
>
> and for some reason, mouse cursor is disabled (and/or totally confused) in 
> fullscreen GL applications. (tested with ppracer, ufo, and return to castle
> wolfnstein)
>
>   
OK, this is how it works.
On startup, the DRM memory manager reserves a small portion (32MB) of 
AGP aperture space to work. The rest is allowed for "VideoRam". If  
"VideoRam" is set to something very large, the DRM memory manager setup 
code backs off, and disables if too little AGP aperture space is 
available. It will also back off if needed to make room for tiling.

In the first case, Potential videoRam is set to the whole aperture, and 
the DRM memory manager is disabled.
In the second case, the DRM memory manager is OK, but probably the 
driver doesn't set up tiling correctly since you have performance 
problems. You need to look at the xorg log to check this.

The problem is really that by default, potential videoram is set to the 
whole aperture space instead of the whole aperture space minus what's 
needed for DRM, (pI830->mmSize). The problem doesn't occur in 
xf86-video-intel master because potential videoram is limited there so 
whatever changed in this area between master and the branch you're using 
(modesetting ?) is causing the problem. It should IMHO be changed to be 
less greedy when determining potential videoram size.

In the end we should have a unified allocator that allocates Video 
memory from the DRM manager if available or from xf86 AGP if not. 
Something we're working on.

In your specific case, with a 256MB AGP aperture, I'd set VideoRam to 
(256 - 32) * 1024, that is 229376 (or slightly less) and hopefully you 
should be OK with performance again.

/Thomas






More information about the xorg mailing list