← Back to team overview

compiz team mailing list archive

[Bug 1100456] Re: Every screen change triggers full screen XDamage event


On Fri, Jan 18, 2013 at 7:50 AM, Launchpad Bug Tracker
<1100456@xxxxxxxxxxxxxxxxxx> wrote:
> You have been subscribed to a public bug:
> STR:
> 1. Compile and run the attached code - http://paste.ubuntu.com/1538829/ dumping the output to a file
> 2. Do something, open applications, open Dash, etc
> 2. Analyse the output
> Expected results:
> Various offsets and area width/height.

No, it is not supposed to be like that.

> Actual results:
> XDamage @ x=0 y=0 - 1366x768

OpenGL applications always post full-screen damage whenever they call

Just because you get getting a fullscreen damage rectangle reported
when using XDamageReportRawRectangles, it doesn't necessarily mean the
whole screen got redrawn. Think about it, if libGL needs to calculate
and post the damage region to the server, how is it supposed to figure
out what regions of the image changed when it gets told that the
pointer to the image itself changed. For all OpenGL cares, the new
buffer is completely different to the old buffer, because the new
buffer always starts out in an undefined state, so it could be

Having a full-screen damage region is just another way of telling
clients "I have no idea what the contents of this window are going to
be". Which is about accurate.

It doesn't actually ask the server to redraw the whole window. When
you draw directly to a double-buffered root window, its effectively
the same as the monitor scanning out the pixels from the buffer you're
drawing into. So changing the pointer is a very inexpensive operation.

It sucks if you're either a compositor or a VNC app. For VNC apps -
that's life: OpenGL simply can't know what the contents of new buffers
will be. For compositors: thats why we have full screen window

> ProblemType: Bug
> DistroRelease: Ubuntu 13.04
> Package: unity 6.12.0daily13.01.11.2bzr3042pkg0raring0 [origin: LP-PPA-unity-team-staging]
> ProcVersionSignature: Ubuntu 3.8.0-0.4-generic 3.8.0-rc3
> Uname: Linux 3.8.0-0-generic x86_64
> .tmp.unity.support.test.0:
> ApportVersion: 2.8-0ubuntu1
> Architecture: amd64
> CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
> CompositorRunning: compiz
> CrashDB: unity
> Date: Wed Jan 16 21:30:47 2013
> DistUpgraded: Fresh install
> DistroCodename: raring
> DistroVariant: ubuntu
> GraphicsCard:
>  Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09) (prog-if 00 [VGA controller])
>    Subsystem: Lenovo Device [17aa:21e2]
> InstallationDate: Installed on 2013-01-04 (12 days ago)
> InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Alpha amd64 (20130104)
> MachineType: LENOVO 1141PZ5
> MarkForUpload: True
> ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.8.0-0-generic root=UUID=0e822d3c-f45d-4f15-a2c9-7968357ac544 ro quiet splash vt.handoff=7
> SourcePackage: unity
> UpgradeStatus: No upgrade log present (probably fresh install)
> dmi.bios.date: 11/03/2011
> dmi.bios.vendor: LENOVO
> dmi.bios.version: 8HET40WW(1.22)
> dmi.board.asset.tag: Not Available
> dmi.board.name: 1141PZ5
> dmi.board.vendor: LENOVO
> dmi.board.version: Not Available
> dmi.chassis.asset.tag: No Asset Information
> dmi.chassis.type: 10
> dmi.chassis.vendor: LENOVO
> dmi.chassis.version: Not Available
> dmi.modalias: dmi:bvnLENOVO:bvr8HET40WW(1.22):bd11/03/2011:svnLENOVO:pn1141PZ5:pvrThinkPadE420:rvnLENOVO:rn1141PZ5:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
> dmi.product.name: 1141PZ5
> dmi.product.version: ThinkPad E420
> dmi.sys.vendor: LENOVO
> version.compiz: compiz 1:0.9.9~daily13.01.14bzr3563pkg0raring0
> version.ia32-libs: ia32-libs N/A
> version.libdrm2: libdrm2 2.4.40-1
> version.libgl1-mesa-dri: libgl1-mesa-dri 9.0.1-0ubuntu1
> version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
> version.libgl1-mesa-glx: libgl1-mesa-glx 9.0.1-0ubuntu1
> version.xserver-xorg-core: xserver-xorg-core 2:
> version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.3-0ubuntu2
> version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.0.0-0ubuntu1
> version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.20.17-0ubuntu1
> version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.6-0ubuntu1
> xserver.bootTime: Wed Jan 16 21:17:33 2013
> xserver.configfile: default
> xserver.errors:
> xserver.logfile: /var/log/Xorg.0.log
> xserver.version: 2:
> xserver.video_driver: intel
> ** Affects: compiz
>      Importance: Undecided
>          Status: New
> ** Tags: amd64 apport-bug compiz-0.9 raring rc-6.12.0daily13.01.11.2bzr3042pkg0raring0 running-unity third-party-packages ubuntu
> --
> Every screen change triggers full screen XDamage event
> https://bugs.launchpad.net/bugs/1100456
> You received this bug notification because you are a member of Compiz Maintainers, which is subscribed to Compiz.

Sam Spilsbury

** Changed in: compiz
       Status: New => Invalid

** Changed in: compiz (Ubuntu)
       Status: New => Invalid

You received this bug notification because you are a member of compiz
packagers, which is subscribed to compiz in Ubuntu.

  Every screen change triggers full screen XDamage event

To manage notifications about this bug go to: