BackingStore vs. acceleration method with intel driver

Tomas Davidek Tomas.Davidek at cern.ch
Mon Aug 11 05:46:03 PDT 2008


Hello,
   since some time I am observing strange problem in Xorg:
Some "odds" remain on the screen in several applications (mozilla, xdvi,
acroread, ...), that appear:
   - if one tries to select a region (xdvi, acroread)
   - if one clicks a roll-down menu (mozilla) and does not select any
item, e.g.
     by clicking outside of the window
It basically means that the respective part of the application window is
not
re-drawn. In all cases, the screen can be restored either by
iconifying/de-iconifying the application window (acroread, xdvi) or by
simply
moving the window in any direction (mozilla).

This behaviour appears since xserver-xorg-core (>= 1.4) with the respective
xserver-xorg-video-intel driver (>= 2:2.2), I tried with current testing,
unstable and even experimental distributions, they all behave in the same
manner.

In the older versions, e.g. in
ii xserver-xorg 1:7.2-5
ii xserver-xorg-core 2:1.3.0.0.dfsg-12lenny2
ii xserver-xorg-input-evdev 1:1.1.5-3
ii xserver-xorg-input-kbd 1:1.2.0-1+1.2.1
ii xserver-xorg-input-mouse 1:1.2.2-1
ii xserver-xorg-input-synaptics 0.14.7~git20070517-2
ii xserver-xorg-video-intel 2:2.1.0-2
everything works well. This is nice, but prevents me from any further
upgrades.

I've investigated the problem in several Xorg versions and settings, the
problem seems to be in the combination of BackingStore and acceleration
method used by the intel driver. Whereas in the older version (xserver 1.3,
see the installed packages above) intel uses XAA acceleration method, newer
intel drivers use EXA method by default. However, when using XAA method
with
newer drivers, another problem appear in ROOT application
(http://root.cern.ch,
packages are parts of standard debian archives nowadays):
   - the resulting graphics window (so-called TCanvas) does not remember its
     content when another window is being moved over. This is exactly why
     BackingStore has been developed long time ago, but it does not work
under
     these circumstances.
   - other applications that need BackingStore (e.g. paw, part of cernlib)
     work correctly, i.e. the graphics window does remember its content
This feature also makes Xwin quite unsusable.

When comparing the outputs in /var/log/Xorg.0.log, I got impression that
framebuffer compression may play a role. In the old version
(xserver-1.3), the
respective part looks like:
------------------------
(II) intel(0): [drm] DRM interface version 1.3
(II) intel(0): [drm] created "i915" driver at busid "pci:0000:00:02.0"
(II) intel(0): [drm] added 8192 byte SAREA at 0xf897c000
(II) intel(0): [drm] mapped SAREA 0xf897c000 to 0xb7b45000
(II) intel(0): [drm] framebuffer handle = 0xf00f0000
(II) intel(0): [drm] added 1 reserved context for kernel
(II) intel(0): Unable to use TTM-based memory manager with DRM version 1.6
(II) intel(0): [drm] Registers = 0xfaf80000
(II) intel(0): [drm] ring buffer = 0xf0000000
(II) intel(0): [drm] init sarea width,height = 1400 x 1400 (pitch 2048)
(II) intel(0): [drm] Mapping front buffer
(II) intel(0): [drm] Front Buffer = 0x2e01e000
(II) intel(0): [drm] Back Buffer = 0xf4000000
(II) intel(0): [drm] Depth Buffer = 0xf5000000
(II) intel(0): [drm] textures = 0xf6000000
(II) intel(0): [drm] Initialized kernel agp heap manager, 33554432
(II) intel(0): [dri] visual configs initialized
(II) intel(0): Page Flipping disabled
(==) intel(0): Write-combining range (0xf0000000,0x8000000)
(II) intel(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is
0x0000
(II) intel(0): Using XFree86 Acceleration Architecture (XAA)
         Screen to screen bit blits
         Solid filled rectangles
         8x8 mono pattern filled rectangles
         Indirect CPU to Screen color expansion
         Solid Horizontal and Vertical Lines
         Offscreen Pixmaps
         Setting up tile and stipple cache:
                 32 128x128 slots
                 32 256x256 slots
                 16 512x512 slots
(**) intel(0): Option "BackingStore" "true"
(**) intel(0): Backing store enabled
(==) intel(0): Silken mouse enabled
(II) intel(0): Initializing HW Cursor
------------------------------------------------------

when using xserver 1.4, framebuffer compression gets automatically disabled
(and EXA is the default method as already mentioned above). The output
looks
like as follows:
------------------------------
(II) intel(0): [drm] Using the DRM lock SAREA also for drawables.
(II) intel(0): [drm] framebuffer mapped by ddx driver
(II) intel(0): [drm] added 1 reserved context for kernel
(II) intel(0): X context handle = 0x1
(II) intel(0): [drm] installed DRM signal handler
(**) intel(0): Framebuffer compression enabled
(**) intel(0): Tiling enabled
(==) intel(0): VideoRam: 131072 KB
(II) intel(0): Attempting memory allocation with tiled buffers.
(WW) intel(0): xf86AllocateGARTMemory: allocation of 1536 pages failed
         (Cannot allocate memory)
(WW) intel(0): Allocation error, framebuffer compression disabled
(WW) intel(0): xf86AllocateGARTMemory: allocation of 10 pages failed
         (Cannot allocate memory)
(WW) intel(0): Failed to allocate texture space.
(II) intel(0): Tiled allocation failed.
(II) intel(0): Attempting memory allocation with untiled buffers.
(WW) intel(0): xf86AllocateGARTMemory: allocation of 10 pages failed
         (Cannot allocate memory)
(II) intel(0): Untiled allocation successful.
....
(II) EXA(0): Offscreen pixmap area of 23654400 bytes
(II) EXA(0): Driver registered support for the following operations:
(II)         Solid
(II)         Copy
(II)         Composite (RENDER acceleration)
(**) intel(0): Option "BackingStore" "true"
(**) intel(0): Backing store enabled
(==) intel(0): Silken mouse enabled
(II) intel(0): Initializing HW Cursor
----------------------------------------

Can someone please suggest a possible solution and/or have a look,
whether some
bug was introduced in xserver-1.4 ?? Unfortunately I cannot judge
whether it's
a pure xserver or a pure intel driver problem, I rather guess there is
some bad
interference....

Thanks a lot for any hint,

        best regards
                            Tomas Davidek

Some technical details:
- Dell Latitude D505
- video card intel 855GM
- kernel 2.6.21.1

  E-mail : davidek at ipnp.troja.mff.cuni.cz,
	  Tomas.Davidek at cern.ch


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: xorg.conf
URL: <http://lists.x.org/archives/xorg/attachments/20080811/c4321061/attachment.ksh>


More information about the xorg mailing list