OK, I've spent hours testing various options. The bug is much harder to reproduce in Ubuntu 12.10 because the default rendering method in Compiz 0.9.8 is the same as the workaround (1) listed at the top of the bug. To reproduce the bug I had to force the rendering method that Compiz 0.9.7 uses: CCSM > OpenGL > Framebuffer object = OFF Vertex buffer object = OFF Always use buffer swapping = OFF
Then I could reproduce the bug. And this time I noticed that glXWaitVideoSyncSGI is not returning. The spin is happening below glXWaitVideoSyncSGI, but above uki_firegl_WaitVBlank (which returns constantly). And because glXWaitVideoSyncSGI is never returning it means we have little hope of even working around the bug in compiz. It's happening 100% inside the fglrx driver, out of reach of compiz. Interestingly even with the native compiz 0.9.8 rendering method I could reproduce a similar spin in the glxgears process (not compiz). So again, the problem applies to any OpenGL application. If neither of the workarounds listed at the top of the bug work for you, then please consider uninstalling fglrx and using the default radeon driver instead. And if you haven't already, then upgrading to Ubuntu 12.10 might help, but you don't really need to because that's equivalent to the workaround at the top of the bug. Finally, I have contacted AMD directly and asked them to review the bug because even their copy has not been touched since it was logged 5 months ago: http://ati.cchtml.com/show_bug.cgi?id=535 ** Changed in: compiz Status: Triaged => Invalid ** Changed in: compiz/0.9.8 Status: Triaged => Invalid ** Changed in: compiz-core Status: Triaged => Invalid ** Changed in: fglrx-installer (Ubuntu) Importance: Undecided => Critical ** Changed in: fglrx-installer-updates (Ubuntu) Importance: Undecided => Critical ** Changed in: compiz (Ubuntu) Status: Triaged => Invalid ** Changed in: gnome-shell (Ubuntu) Status: Confirmed => Invalid -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to fglrx-installer in Ubuntu. https://bugs.launchpad.net/bugs/969860 Title: fglrx uses 100% CPU when screen turns off (spinning in glXWaitVideoSyncSGI or glXSwapBuffers) Status in Compiz: Invalid Status in Compiz 0.9.8 series: Invalid Status in Compiz Core: Invalid Status in AMD fglrx video driver: Unknown Status in The Ubuntu Power Consumption Project: Fix Released Status in “compiz” package in Ubuntu: Invalid Status in “fglrx-installer” package in Ubuntu: Confirmed Status in “fglrx-installer-updates” package in Ubuntu: Confirmed Status in “gnome-shell” package in Ubuntu: Invalid Bug description: WORKAROUND (1): 1. Open Catalyst Control Center. 2. Go to 3D > More Settings. 3. Set "Wait for vertical refresh" to "On, unless application specifies". And if that doesn't work, then also do: 4. Run "ccsm" 5. In Workarounds, enable "Force full screen redraw (buffer swap) on repaint". WORKAROUND (2): 1. Run ccsm (from package compizconfig-settings-manager) 2. In OpenGL > Sync To VBlank = OFF TEST CASE: 1. Monitor compiz CPU usage (from /proc/<pid of compiz>/stat or top in batch mode) 2. In "brightness and lock" settings set "Turn screen off when inactive" to 1 minute 3. Wait until screen turns off 4. Move mouse or press a key to turn screen back on 5. Check the CPU usage from the monitor ACTUAL RESULT: When screen turns off compiz goes to 100% When the screen turns back on, cpu usage drops immediately to a normal value The graph attached shows %CPU of compiz with a sample per second. The graph has been captured on a system with a Radeon HD5770 and fglrx if that matter ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: compiz 1:0.9.7.2-0ubuntu4 ProcVersionSignature: Ubuntu 3.2.0-21.34-generic 3.2.13 Uname: Linux 3.2.0-21-generic x86_64 NonfreeKernelModules: fglrx .tmp.unity.support.test.0: ApportVersion: 2.0-0ubuntu1 Architecture: amd64 CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell] CompositorRunning: compiz Date: Sat Mar 31 10:17:48 2012 DistUpgraded: 2012-02-01 00:15:24,616 DEBUG enabling apt cron job DistroCodename: precise DistroVariant: ubuntu MachineType: Gigabyte Technology Co., Ltd. GA-890GPA-UD3H PackageArchitecture: all ProcEnviron: TERM=xterm PATH=(custom, user) LANG=en_US.UTF-8 SHELL=/bin/bash ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-21-generic root=UUID=cf89ba34-108b-404d-9804-32d54a1df2ea ro quiet splash vt.handoff=7 SourcePackage: compiz UpgradeStatus: Upgraded to precise on 2012-01-31 (59 days ago) dmi.bios.date: 07/23/2010 dmi.bios.vendor: Award Software International, Inc. dmi.bios.version: FD dmi.board.name: GA-890GPA-UD3H dmi.board.vendor: Gigabyte Technology Co., Ltd. dmi.board.version: x.x dmi.chassis.type: 3 dmi.chassis.vendor: Gigabyte Technology Co., Ltd. dmi.modalias: dmi:bvnAwardSoftwareInternational,Inc.:bvrFD:bd07/23/2010:svnGigabyteTechnologyCo.,Ltd.:pnGA-890GPA-UD3H:pvr:rvnGigabyteTechnologyCo.,Ltd.:rnGA-890GPA-UD3H:rvrx.x:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvr: dmi.product.name: GA-890GPA-UD3H dmi.sys.vendor: Gigabyte Technology Co., Ltd. version.compiz: compiz 1:0.9.7.2-0ubuntu4 version.fglrx-installer: fglrx-installer N/A version.ia32-libs: ia32-libs N/A version.libdrm2: libdrm2 2.4.32-1ubuntu1 version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.2-0ubuntu3 version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.2-0ubuntu3 version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu8 version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.0-0ubuntu1 version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu2 version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.17.0-1ubuntu4 version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20111201+b5534a1-1build2 To manage notifications about this bug go to: https://bugs.launchpad.net/compiz/+bug/969860/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp