Bumblebee-Project / bbswitch

Disable discrete graphics (currently nvidia only)
GNU General Public License v2.0
487 stars 78 forks source link

UX32VD - Kernel 3.13.0 - Refused to change power state #86

Closed memstick closed 10 years ago

memstick commented 10 years ago

I have issues with bbswitch 0.8 on my laptop.

For reference: posted this issue earlier today: https://github.com/Bumblebee-Project/Bumblebee/issues/532

I was recommended to upgrade bbswitch. This causes different behavior when the module attempts to disable the card. Dmesg output:

[   14.435156] bbswitch: detected an Optimus _DSM function
[   14.435165] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
<removed non-relevant output>
[  100.164725] bbswitch: disabling discrete graphics
[  100.164736] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20131115/nsarguments-95)
[  100.177196] pci 0000:01:00.0: Refused to change power state, currently in D0

Seems the card refuses to change state. When I try to run optirun glxgears:

[  114.520342] bbswitch: enabling discrete graphics
[  114.978921] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  319.82  Mon Dec 30 02:18:32 PST 2013
[  115.293555] vgaarb: this pci device is not a vga device
[  115.300257] NVRM: failed to copy vbios to system memory.
[  115.302136] NVRM: RmInitAdapter failed! (0x30:0xffffffff:711)
[  115.302142] NVRM: rm_init_adapter(0) failed

Notes:

I'll be happy to do some debugging with the devs, since I struggled so much with this now I no longer know where to look.

modinfo bbswitch
filename:       /lib/modules/3.13.0/misc/bbswitch/bbswitch.ko
version:        0.8
author:         Peter Wu <lekensteyn@gmail.com>
description:    Toggle the discrete graphics card
license:        GPL
srcversion:     90CDB6EFB3C4142AB1E1E16
depends:        
vermagic:       3.13.0 SMP mod_unload modversions 
parm:           load_state:Initial card state (0 = off, 1 = on, -1 = unchanged) (int)
parm:           unload_state:Card state on unload (0 = off, 1 = on, -1 = unchanged) (int)
parm:           skip_optimus_dsm:Skip probe of Optimus discrete DSM (default = false) (bool)
ArchangeGabriel commented 10 years ago

I don’t know what card you have but it’s probable that nouveau don’t work well with it.

Everything you report about bbswitch is normal, that is the expected behavior.

Please don’t patch the kernel, it won’t work, you should rather patch nvidia before compiling and installing it, see #80.

I’m closing this issue since it’s a duplicate.