PRIME dynamic GPU switching does not turn off the dedicated GPU until after a suspend-resume cycle

Bug #1299523 reported by Nicolás Abel Carbone
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

I have a HP Envy 14 laptop with a Intel Ironlake / AMD 5650m switchable graphics.

It is correctly detected and configured as such using PRIME/runpm/vgaswitcheroo dynamic GPU switching and I can successfully use both GPUs. By default, the Integrated GPU is used to do OpenGL rendering and, if I use the DRI_PRIME=1 variable, the discrete GPU (dGPU) can be used as OpenGL renderer.

The thing that is not working properly is that the discrete GPU is not automatically switched off when not in use. If I cat /sys/kernel/debug/vgaswitcheroo/switch I always obtain the following:

0:DIS: :DynPwr:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0
2:DIS-Audio: :Pwr:0000:01:00.1

Meaning that the dGPU is on, but should be turned off when not in use, but it never happens despite the fact that the dGPU is not in use. As a result, battery life decreases and temperature and power consumption increases notably.

What is weird, is that if the notebook goes through a suspend - resume cycle, PRIME starts to work as expected. After resuming, cat /sys/kernel/debug/vgaswitcheroo/switch returns:

0:DIS: :DynOff:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0
2:DIS-Audio: :Off:0000:01:00.1

and only goes to DynPwr when I use the dGPU through DRI_PRIME=1. It goes back to DynOff after some seconds without dGPU usage. This "solution" only last until next reboot.

Is there anything I can do in order to make PRIME switch off my dGPU automatically without going through a suspend-resume cycle?

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-3.13.0-20-generic 3.13.0-20.42
ProcVersionSignature: Ubuntu 3.13.0-20.42-generic 3.13.7
Uname: Linux 3.13.0-20-generic x86_64
ApportVersion: 2.13.3-0ubuntu1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: nicolas 2405 F.... pulseaudio
 /dev/snd/controlC0: nicolas 2405 F.... pulseaudio
 /dev/snd/pcmC0D0p: nicolas 2405 F...m pulseaudio
CurrentDesktop: Unity
Date: Sat Mar 29 14:23:38 2014
HibernationDevice: RESUME=UUID=1c8681ad-8f9c-4447-a49f-52416dba9f57
InstallationDate: Installed on 2013-09-23 (186 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Beta amd64 (20130923.1)
MachineType: Hewlett-Packard HP ENVY 14 Notebook PC
ProcFB:
 0 inteldrmfb
 1 radeondrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-20-generic root=UUID=ca667e96-4f50-4077-8344-88c49b0769a2 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-20-generic N/A
 linux-backports-modules-3.13.0-20-generic N/A
 linux-firmware 1.126
SourcePackage: linux
UpgradeStatus: Upgraded to trusty on 2014-03-28 (0 days ago)
dmi.bios.date: 12/01/2011
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: F.26
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: 1436
dmi.board.vendor: Hewlett-Packard
dmi.board.version: 59.24
dmi.chassis.asset.tag: CNU03538DZ
dmi.chassis.type: 10
dmi.chassis.vendor: Hewlett-Packard
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnHewlett-Packard:bvrF.26:bd12/01/2011:svnHewlett-Packard:pnHPENVY14NotebookPC:pvr0492100000241910000620000:rvnHewlett-Packard:rn1436:rvr59.24:cvnHewlett-Packard:ct10:cvrChassisVersion:
dmi.product.name: HP ENVY 14 Notebook PC
dmi.product.version: 0492100000241910000620000
dmi.sys.vendor: Hewlett-Packard

Revision history for this message
Nicolás Abel Carbone (nicocarbone) wrote :
summary: - PRIME dynamic GPU switching does not turn off the dedicated GPU until a
- suspend-resume cycle
+ PRIME dynamic GPU switching does not turn off the dedicated GPU until
+ after a suspend-resume cycle
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.14 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14-trusty/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
Nicolás Abel Carbone (nicocarbone) wrote :

The bug is present in the last upstream kernel. Tagging this bug a such.

Thank you!

tags: added: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.