fglrx uses 100% CPU when screen turns off (spinning in glXWaitVideoSyncSGI or glXSwapBuffers)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Invalid
|
High
|
Unassigned | ||
0.9.8 |
Invalid
|
High
|
Unassigned | ||
Compiz Core |
Invalid
|
High
|
Unassigned | ||
The Ubuntu Power Consumption Project |
Fix Released
|
Undecided
|
Unassigned | ||
fglrx |
Confirmed
|
Medium
|
|||
compiz (Ubuntu) |
Invalid
|
High
|
Canonical Desktop Experience Team | ||
fglrx-installer (Ubuntu) |
Fix Released
|
Critical
|
Unassigned | ||
fglrx-installer-updates (Ubuntu) |
Fix Released
|
Critical
|
Unassigned | ||
gnome-shell (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
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-
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
ProcVersionSign
Uname: Linux 3.2.0-21-generic x86_64
NonfreeKernelMo
.tmp.unity.
ApportVersion: 2.0-0ubuntu1
Architecture: amd64
CompizPlugins: [core,composite
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
PackageArchitec
ProcEnviron:
TERM=xterm
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=
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:bvnAwardSof
dmi.product.name: GA-890GPA-UD3H
dmi.sys.vendor: Gigabyte Technology Co., Ltd.
version.compiz: compiz 1:0.9.7.2-0ubuntu4
version.
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.32-1ubuntu1
version.
version.
version.
version.
version.
version.
version.
version.
Changed in compiz-core: | |
milestone: | none → 0.9.7.8 |
Changed in ubuntu-power-consumption: | |
status: | New → Confirmed |
Changed in compiz: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
importance: | Undecided → High |
status: | New → Triaged |
no longer affects: | compiz-core |
description: | updated |
Changed in compiz: | |
milestone: | 0.9.8.0 → 0.9.8.1 |
Changed in compiz: | |
milestone: | 0.9.8.2 → 0.9.8.4 |
Changed in compiz: | |
milestone: | 0.9.8.4 → 0.9.9.0 |
assignee: | Daniel van Vugt (vanvugt) → nobody |
Changed in compiz-core: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 0.9.7.10 |
Changed in compiz: | |
status: | Triaged → Fix Released |
Changed in compiz-core: | |
status: | Triaged → Fix Released |
Changed in ubuntu-power-consumption: | |
status: | Confirmed → Fix Released |
Changed in compiz (Ubuntu): | |
status: | Triaged → Fix Released |
Changed in fglrx-installer (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in fglrx-installer-updates (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in gnome-shell (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in compiz: | |
status: | Fix Released → Triaged |
Changed in compiz-core: | |
status: | Fix Released → Triaged |
Changed in compiz (Ubuntu): | |
status: | Fix Released → Triaged |
Changed in fglrx-installer (Ubuntu): | |
status: | Fix Released → Confirmed |
Changed in fglrx-installer-updates (Ubuntu): | |
status: | Fix Released → Confirmed |
Changed in gnome-shell (Ubuntu): | |
status: | Fix Released → Confirmed |
Changed in compiz-core: | |
milestone: | 0.9.7.10 → 0.9.7.12 |
Changed in fglrx: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
tags: | added: battery-power-consumption quantal |
I can't reproduce this with intel graphics in 12.04.
jibel, could you please try ssh'ing into the machine when this happens and getting a few stack snapshots of the busy compiz process using gdb?
This bug might be related to the buggy implementation of wait-for-vsync in the fglrx driver. So please also try this as a workaround:
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".