Bumblebee-Project / bbswitch

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

No suitable _DSM call found #93

Closed ikn closed 10 years ago

ikn commented 10 years ago

Bumblebee itself works fine. I see there are a few old issues like this, but the various solutions don't work here. In particular, some say the kernel version is the cause, but I'm at 3.13.6. This is a new install, so I don't know if it used to work.

dmesg | grep -C 10 bbswitch: (I tried modprobe bbswitch later on):

[   10.245954] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
[   10.309014] systemd-journald[169]: Received request to flush runtime journal from PID 1
[   11.288634] nct6775: Enabling hardware monitor logical device mappings.
[   11.288643] nct6775: Found NCT6791D or compatible chip at 0x2e:0x290
[   11.360552] r8169 0000:03:00.0 enp3s0: link down
[   11.360574] r8169 0000:03:00.0 enp3s0: link down
[   11.360586] IPv6: ADDRCONF(NETDEV_UP): enp3s0: link is not ready
[   12.570397] systemd[1]: PID file /run/ntpd.pid not readable (yet?) after start.
[   13.932459] r8169 0000:03:00.0 enp3s0: link up
[   13.932464] IPv6: ADDRCONF(NETDEV_CHANGE): enp3s0: link becomes ready
[   14.806599] bbswitch: version 0.8
[   14.806603] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[   14.806606] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP
[   14.806613] bbswitch: failed to evaluate \_SB_.PCI0.PEG0.PEGP._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[   14.806616] bbswitch: failed to evaluate \_SB_.PCI0.PEG0.PEGP._DSM {0xA0,0xA0,0x95,0x9D,0x60,0x00,0x48,0x4D,0xB3,0x4D,0x7E,0x5F,0xEA,0x12,0x9F,0xD4} 0x102 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[   14.806623] bbswitch: failed to evaluate \_SB_.PCI0.GFX0._DSM {0xA0,0xA0,0x95,0x9D,0x60,0x00,0x48,0x4D,0xB3,0x4D,0x7E,0x5F,0xEA,0x12,0x9F,0xD4} 0x102 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[   14.806624] bbswitch: No suitable _DSM call found.
[   18.901258] type=1006 audit(1394975689.016:2): pid=432 uid=0 old auid=4294967295 new auid=1000 old ses=4294967295 new ses=1 res=1
[   19.300304] type=1006 audit(1394975689.416:3): pid=485 uid=0 old auid=4294967295 new auid=1000 old ses=4294967295 new ses=2 res=1
[  147.491342] nvidia: module license 'NVIDIA' taints kernel.
[  147.491346] Disabling lock debugging due to kernel taint
[  147.496099] nvidia 0000:01:00.0: enabling device (0000 -> 0003)
[  147.496170] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none
[  147.496324] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 1
[  147.496328] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  334.21  Thu Feb 27 15:55:45 PST 2014
[  148.103148] nvidia 0000:01:00.0: irq 58 for MSI/MSI-X
[  156.130196] nvidia 0000:01:00.0: irq 58 for MSI/MSI-X
[  160.795530] nvidia 0000:01:00.0: irq 58 for MSI/MSI-X
[ 2207.937427] bbswitch: version 0.8
[ 2207.937431] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[ 2207.937451] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP
[ 2207.937458] bbswitch: failed to evaluate \_SB_.PCI0.PEG0.PEGP._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[ 2207.937461] bbswitch: failed to evaluate \_SB_.PCI0.PEG0.PEGP._DSM {0xA0,0xA0,0x95,0x9D,0x60,0x00,0x48,0x4D,0xB3,0x4D,0x7E,0x5F,0xEA,0x12,0x9F,0xD4} 0x102 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[ 2207.937468] bbswitch: failed to evaluate \_SB_.PCI0.GFX0._DSM {0xA0,0xA0,0x95,0x9D,0x60,0x00,0x48,0x4D,0xB3,0x4D,0x7E,0x5F,0xEA,0x12,0x9F,0xD4} 0x102 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[ 2207.937468] bbswitch: No suitable _DSM call found.

uname -a:

Linux j-desktop 3.13.6-1-ARCH #1 SMP PREEMPT Fri Mar 7 22:47:48 CET 2014 x86_64 GNU/Linux

Distribution: Arch Linux

pacman -Q xorg-server xf86-video-intel nvidia:

xorg-server 1.15.0-5
xf86-video-intel 2.99.910-1
nvidia 334.21-2

get-acpi-info: https://bugs.launchpad.net/lpbugreporter/+bug/752542/comments/680 https://bugs.launchpad.net/lpbugreporter/+bug/752542/+attachment/4026699/+files/ASUS-All_Series.tar.gz

I tried building acpi_dump_info, but I get the error:

make -C /lib/modules/3.13.6-1-ARCH/build M=/home/j/acpi-stuff/acpi_dump_info modules
make[1]: Entering directory '/usr/lib/modules/3.13.6-1-ARCH/build'
  CC [M]  /home/j/acpi-stuff/acpi_dump_info/acpi_dump_info.o
/home/j/acpi-stuff/acpi_dump_info/acpi_dump_info.c: In function ‘meh_show’:
/home/j/acpi-stuff/acpi_dump_info/acpi_dump_info.c:25:3: error: implicit declaration of function ‘DEVICE_ACPI_HANDLE’ [-Werror=implicit-function-declaration]
   handle = DEVICE_ACPI_HANDLE(&pdev->dev);
   ^
/home/j/acpi-stuff/acpi_dump_info/acpi_dump_info.c:25:10: warning: assignment makes pointer from integer without a cast [enabled by default]
   handle = DEVICE_ACPI_HANDLE(&pdev->dev);
          ^
cc1: some warnings being treated as errors
scripts/Makefile.build:314: recipe for target '/home/j/acpi-stuff/acpi_dump_info/acpi_dump_info.o' failed
make[2]: *** [/home/j/acpi-stuff/acpi_dump_info/acpi_dump_info.o] Error 1
Makefile:1249: recipe for target '_module_/home/j/acpi-stuff/acpi_dump_info' failed
make[1]: *** [_module_/home/j/acpi-stuff/acpi_dump_info] Error 2
make[1]: Leaving directory '/usr/lib/modules/3.13.6-1-ARCH/build'
Makefile:9: recipe for target 'default' failed
make: *** [default] Error 2
system-manufacturer   : ASUS
system-product-name   : All Series
system-version        : System Version
baseboard-manufacturer: ASUSTeK COMPUTER INC.
baseboard-product-name: H81M-PLUS
baseboard-version     : Rev X.0x
bios-vendor           : American Megatrends Inc.
bios-version          : 0804
bios-release-date     : 01/06/2014
Lekensteyn commented 10 years ago

I see no sign of you having an Optimus laptop. What makes you think so?

(I found no _DSM methods having the required GUIDs.)

ikn commented 10 years ago

Ah, I didn't know Optimus was only for laptops, and I thought Bumblebee was for Optimus systems but that seems to work, so now I'm a bit confused. It seems there aren't any systems for checking secondary GPU state on desktops, then?

Lekensteyn commented 10 years ago

For AMD hardware, the DPM functionality provided with the opensource radeon driver can put the card in D3 state (if there are no screens connected), I am not sure if something similar exists for nvidia / nouveau. If you don't need the card, you can also consider fully removing it from the system to conserve power.