New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bbswitch: failed to evaluate \_SB_.PCI0.RP05.PXSX._DSM (Acer V5-573G) #460

Closed
FelixII opened this Issue Aug 22, 2013 · 34 comments

Comments

Projects
None yet
9 participants
@FelixII

FelixII commented Aug 22, 2013

Hi,

I'm trying to setup Bumblebee on my new Acer Aspire V5-573G (Haswell i5-4200U, Nvidia GT 750M) running Ubuntu 13.04. Whenever I try to launch a program running optirun, I get the error message stated in the title...

felix@Felix-Laptop:~$ optirun -vv --debug bash
[  128.536692] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[  128.537077] [INFO]Configured driver: nvidia
[  128.537246] [DEBUG]optirun version 3.2.1 starting...
[  128.537258] [DEBUG]Active configuration:
[  128.537264] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[  128.537270] [DEBUG] X display: :8
[  128.537275] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia-325:/usr/lib32/nvidia-325
[  128.537281] [DEBUG] Socket path: /var/run/bumblebee.socket
[  128.537286] [DEBUG] Accel/display bridge: auto
[  128.537292] [DEBUG] VGL Compression: proxy
[  128.537297] [DEBUG] VGLrun extra options: 
[  128.537303] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
[  128.537364] [DEBUG]Using auto-detected bridge virtualgl
[  128.690221] [INFO]Response: No - error: [XORG] (EE) NVIDIA(0): Failed to initialize the NVIDIA GPU at PCI:1:0:0.  Please

[  128.690240] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) NVIDIA(0): Failed to initialize the NVIDIA GPU at PCI:1:0:0.  Please

[  128.690247] [DEBUG]Socket closed.
[  128.690267] [ERROR]Aborting because fallback start is disabled.
[  128.690273] [DEBUG]Killing all remaining processes.

My dmesg log prints some error messages regarding bbswitch:

[    2.610668] bbswitch: module verification failed: signature and/or required key missing - tainting kernel
[    2.610827] bbswitch: version 0.7
[    2.610833] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[    2.610841] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.RP05.PXSX
[    2.610855] bbswitch: failed to evaluate \_SB_.PCI0.RP05.PXSX._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
[    2.610863] bbswitch: failed to evaluate \_SB_.PCI0.RP05.PXSX._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
[    2.610910] bbswitch: No suitable _DSM call found.

I already updated my nvidia driver to version 325 and my linux kernel to version 3.10.7, but the error still occurs. I'm attaching my log files below. Please let me know, if you need additional information. Thank you for your help!

Greetings
Felix

dmesg: http://pastebin.com/0Thn6U02
Xorg.log: http://pastebin.com/kmFcWcXS
bumblebee.conf: http://pastebin.com/XJDmXbFW

@amonakov

This comment has been minimized.

Contributor

amonakov commented Aug 22, 2013

Looks like ACPI handle issues in the kernel. Please try older release series, such as 3.7.x and 3.9.x.
(Cc: @Lekensteyn )

@FelixII

This comment has been minimized.

FelixII commented Aug 22, 2013

Hi,

thanks for your reply! Bumblebee is working fine with kernel version 3.7.10 on my laptop, the bug seems to occur with kernel version 3.8.0 and upwards. (I tested 3.8.0, 3.9.11 and 3.10.7)

I can live with this solution for the moment but I want to be able to upgrade my kernel sometime in the future. What should I do next? Is this a known issue or should I report the bug somewhere?

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Aug 22, 2013

Ehh, wtf that looks odd. Can you try a 3.11 kernel, such as http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-rc6-saucy/? If you know how to build a kernel and apply a patch, you can also try 3.10 + commit 60f75b8e97daf4a39790a20d962cb861b9220af5` (conflict resolution is described at http://www.spinics.net/lists/stable/msg18351.html).

Please also use http://gist.github.com/ to post your acpidump.

@FelixII

This comment has been minimized.

FelixII commented Aug 24, 2013

I tried kernel 3.11-rc6, the error remains the same. However, dmesg prints a new error line:

[    2.415998] bbswitch: module verification failed: signature and/or required key missing - tainting kernel
[    2.416206] bbswitch: version 0.7
[    2.416213] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[    2.416221] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.RP05.PXSX
[    2.416236] bbswitch: failed to evaluate \_SB_.PCI0.RP05.PXSX._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
[    2.416244] bbswitch: failed to evaluate \_SB_.PCI0.RP05.PXSX._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
[    2.416253] ACPI Warning: \_SB_.PCI0.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95)
[    2.416300] bbswitch: No suitable _DSM call found.

I created a gist containing my acpidump and my new dmesg log file on kernel 3.11:

https://gist.github.com/FelixII/6326862

I also compiled kernel 3.10.9 and applied the patch, but the error and dmesg output remains unchanged.

@cbuchner1

This comment has been minimized.

cbuchner1 commented Aug 26, 2013

I own the same laptop (except with core i7-4500U), having the same problem with the bbswitch ACPI messages. I am on Ubuntu 12.04.3 LTS using the hardware enablement stack for Ubuntu's raring release (Kernel 3.8.0). I also tried specifying the PCI bus ID in the xorg.conf.nvidia, which causes a few extra messages in /var/log/kern.log

vgaarb: this pci device is not a vga device
NVRM: failed to copy vbios to system memory.
NVRM: RmInitAdapter failed! (0x30:0xffffffff:711)
NVRM: rm_init_adapter(0) failed

the VGA arbiter message might be cause because lspci shows the nVidia device as "3D controller" and not as "VGA compatible controller".

I might try falling back to quantal's kernel (3.5) and matching xorg version to see if it solves the bbswitch API problems. UPDATE: the 3.5.0 kernel requires me to pass the nomodeset parameter from grub, otherwise it crashes after a few seconds. Furthermore I only see any kernel messages when passing vga=791 to the kernel and removing the $vt_handoff argument in grub.cfg. With nomodeset unfortunately the Intel driver fails to work.

@FelixII

This comment has been minimized.

FelixII commented Aug 27, 2013

I'd like to mention two other ACPI-related issues although I'm not sure if they have the same cause as the bbswitch problem:

  • I can't change the brightness. The function keys don't work and the brightness slider in the settings menu doesn't appear
  • The laptop doesn't shut down properly. It shows a black screen with a 1px-high horizontal purple line at the top forever

I also can't access nvidia-settings using optirun. I get the error message "You do not appear to be using the NVIDIA X driver. Please edit your X configuration file (just run nvidia-xconfig as root), and restart the X server." The "nvidia-xconfig" command doesn't exist on my machine.

I tested these issues on kernel versions 3.11.0 and 3.7.10 (where bumblebee is working fine otherwise).

@cbuchner1 Do you also experience these issues?

Thank you for your help!

@ArchangeGabriel

This comment has been minimized.

Member

ArchangeGabriel commented Aug 28, 2013

Support for Haswell and such recent NVIDIA cards might not be supported.

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Aug 29, 2013

Ok, I just checked the acpidump and dmesg. Reminds me never to buy acer crap.

I cannot find either the Optimus or SwitchableGraphics ("nvidia") _DSM methods.
Perhaps it is the same issue as https://bugzilla.kernel.org/show_bug.cgi?id=60592. If you have that other OS, can you use RWE in that other system to retrieve ACPI tables for comparsion? See the linked bug for an example.

@FelixII

This comment has been minimized.

FelixII commented Aug 30, 2013

I'm attaching my ACPI dump using RWE on Windows 8:

https://gist.github.com/FelixII/6388444

@sebschub

This comment has been minimized.

sebschub commented Aug 30, 2013

Same issue with the same laptop except with a i7-4500U (and openSUSE). For completeness, here my ACPI tables also created with RW everything under Win8.

@Jility

This comment has been minimized.

Jility commented Sep 1, 2013

Is there actually no kernel =>3.8 that works with bumblebee on v5 573? Any workarounds?

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Sep 1, 2013

@FelixII I just checked those tables and then looked at your previous acpidump from Linux. For some reason, acpidump only extracts three of the five SSDTs which initially confused me (I did not think of that possibility).

# assume acpidump in current directory
mkdir -p new-dat/{1..5} dat dsl
acpixtract acpidump && iasl -d *.dat
mv *.dsl dsl/ && mv *.dat dat/
# find "hidden" SSDT
awk '/^ $/{f="";}/^SSDT/{n++;f="new-dat/" n "/acpidump"}{if(f)print>f}' < acpidump
for i in new-dat/*/;do (cd "$i" && acpixtract -a acpidump);done

These two tables are not extracted:

(2)
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x00000AD8 (2776)
 *     Revision         0x01
 *     Checksum         0xB6
 *     OEM ID           "ACRSYS"
 *     OEM Table ID     "ACRPRDCT"
 *     OEM Revision     0x00003000 (12288)
 *     Compiler ID      "1025"
 *     Compiler Version 0x00040000 (262144)
 */
(4)
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x00002872 (10354)
 *     Revision         0x01
 *     Checksum         0xC4
 *     OEM ID           "ACRSYS"
 *     OEM Table ID     "ACRPRDCT"
 *     OEM Revision     0x00001000 (4096)
 *     Compiler ID      "1025"
 *     Compiler Version 0x00040000 (262144)
 */

The acpi-handle-hack can probably be modified to support your machines, but let's try to solve the real issue. Two devices both have _ADR 0, PXSX and PEGP. PEGP should have been matched, but for some reason PXSX was found to be a useful device.

Edit: acpixtract bug reported at https://bugs.acpica.org/show_bug.cgi?id=1044. Please report your laptop issue to https://bugzilla.kernel.org/

@FelixII

This comment has been minimized.

FelixII commented Sep 1, 2013

I created a acpidump file using the working kernel 3.7.10. You can find it here:

https://gist.github.com/FelixII/6404918

Two lines are different:

$ diff 3.7.out 3.11.out 
3675c3675
<   0000: 53 53 44 54 d8 0a 00 00 01 64 41 43 52 53 59 53  SSDT.....dACRSYS
---
>   0000: 53 53 44 54 d8 0a 00 00 01 b6 41 43 52 53 59 53  SSDT......ACRSYS
3678c3678
<   0030: 05 0c 0d 43 50 55 30 49 53 54 20 00 0c 98 85 36  ...CPU0IST ....6
---
>   0030: 05 0c 0d 43 50 55 30 49 53 54 20 00 0c 98 35 34  ...CPU0IST ...54

I don't know if this helps...

@Lekensteyn I never filled a kernel bug report. What should I include there besides a problem description? Only the dmesg log files containing the bbswitch error messages? The acpidump files? Any additional information?

Thank you for your help!

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Sep 1, 2013

@Jility

This comment has been minimized.

Jility commented Sep 2, 2013

@Lekensteyn: you said something about modifiing the acpi-handle-hack. any clues on that one? I am really happy with 3.8 kernel and would really love to see bumblebee runing. if you could help me/us would be nice. btw my name is Felix too ;)

@FelixII

This comment has been minimized.

FelixII commented Sep 2, 2013

@Lekensteyn Thanks for creating the bug report! I added myself to the CC list and will provide additional information if requested. :-)

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Sep 2, 2013

@Jility See the hack-lenovo branch for a new commit.

@cbuchner1

This comment has been minimized.

cbuchner1 commented Sep 2, 2013

I get a -1 No such device message when loading bbswitch from the hack-lenovo branch using modprobe or using make load.

Note also that my product name differs in that it is "Aspire V5-573PG", which is the laptop version with core i7-4500U processor and a full HD touch panel. But even after adding that dmi_match entry to acpi-handle-hack.c I don't get it to work (same -1 error).

Is there anything specific that needs to be done in order to make the bbswitch tool compatible with the GT 750M nVidia chip, maybe?

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Sep 2, 2013

@cbuchner1 What is the error message in dmesg? dmesg | tail after loading the handle hack and bbswitch. Whitespace is significant, be sure to append/prepend it to your product name string if necessary.

bbswitch does not need changes for supporting GT 750M, it supports all laptops that provide the "standard" interfaces through _DSM.

@cbuchner1

This comment has been minimized.

cbuchner1 commented Sep 2, 2013

Got it to work. Turns out I did not know that acpi-handle-hack was a separate kernel module and required separate compilation (I incorrectly assumed it was part of the updated bbswitch code)

I followed the steps detailed here for building the acpi-handle-hack kernel module.
http://chakra-project.org/bbs/viewtopic.php?id=7371
Can't we automake this as part of the Makefile when checking out bbswitch from hack-lenovo branch? EDIT: should have followed README.md instead.

In line 29 of the acpi-handle-hack.c I inserted
|| dmi_match(DMI_PRODUCT_NAME, "Aspire V5-573PG")

line 64 of the acpi-handle-hack.c had to be changed to for my 3.8.0 kernel
pdev->dev.acpi_node.handle = handle;

Now my dmesg log looks like this:

[ 3035.517967] acpi_handle_hack: Setting new ACPI handle for discrete video card
[ 3055.580894] bbswitch: version 0.5
[ 3055.580908] bbswitch: Found integrated VGA device 0000:00:02.0: SB.PCI0.GFX0
[ 3055.580921] bbswitch: Found discrete VGA device 0000:01:00.0: SB.PCI0.RP05.PEGP
[ 3055.581124] bbswitch: detected an Optimus _DSM function
[ 3055.581143] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on

Poof! Success. 750 frames per second running glxgears with optirun.

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Sep 2, 2013

@cbuchner1 I have applied two patches to acpi-handle-hack to address your issues.

@Jility

This comment has been minimized.

Jility commented Sep 3, 2013

@cbuchner1: can you pls list the order in which and what you installed/loaded/compiled. would be nice for me and other ppl with the same problem :) + which kernel are you on? thx

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Sep 3, 2013

@Jility The instructions for the hack are the same as for the Lenovo laptops from #2, see the README here: https://github.com/Bumblebee-Project/bbswitch/tree/hack-lenovo#lenovo-ideapad-y470y570-and-toshiba-satellite-p870

@Jility

This comment has been minimized.

Jility commented Sep 3, 2013

sry, but just to be sure: 1. nvidia drivers >319.17; 2. bumblebee 3.2.1; 3. lenovo-hack ?!
and all working with 3.8 kernels and higher?
@cbuchner1: does this fix the shutdown freez bug?

@WhiteWolf1776

This comment has been minimized.

WhiteWolf1776 commented Sep 3, 2013

Once you hit kernel 3.10, you need 319.49 Nvidia (or whatever the current on better than that is when you read this)

@Jility

This comment has been minimized.

Jility commented Sep 3, 2013

is it working with nouveau as well?

@Jility

This comment has been minimized.

Jility commented Sep 3, 2013

weeee...it is working :) + primusrun ftw :D

@mikedanese

This comment has been minimized.

mikedanese commented Sep 3, 2013

Having the same issue on my lenovo y510p on 3.9.4 kernel running ubuntu 13.04.

here is my dmesg and acpidump. should i be looking at lenovo-hack for a solution? i've tried building the module but I haven't had luck getting it to work yet. Help would be much appreciated.

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Sep 3, 2013

@mikedanese Your laptop is incompatible with bbswitch, it does not support any of the Optimus or SwitchableGraphics DSM methods. If I look at notebookcheck, then there does not appear to be any facility for saving power on your notebook wrt the nvidia cards.

@Lekensteyn

This comment has been minimized.

@FelixII

This comment has been minimized.

FelixII commented Sep 5, 2013

Bumblebee (stock version from ppa) works on kernel 3.11 using the patch above. There are still some ACPI warnings that don't appear when I'm using kernel 3.7.10:

[    6.999564] bbswitch: module verification failed: signature and/or required key missing - tainting kernel
[    6.999702] bbswitch: version 0.7
[    6.999708] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[    6.999715] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.RP05.PEGP
[    6.999726] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95)
[    6.999812] bbswitch: detected an Optimus _DSM function
[    6.999825] pci 0000:01:00.0: enabling device (0006 -> 0007)
[    6.999870] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
[    7.002539] bbswitch: disabling discrete graphics
[    7.002553] ACPI Warning: \_SB_.PCI0.RP05.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130517/nsarguments-95)
[    7.018770] pci 0000:01:00.0: power state changed by ACPI to D3cold

The warnings appear very often when running a program using optirun. I'm attaching a dmesg log, where I ran "optirun glxspheres" right after boot:

https://gist.github.com/FelixII/6448483

I'm also attaching my dmesg log on kernel 3.7.10 for completeness (also includes "optirun glxspheres" command):

https://gist.github.com/FelixII/6448803

Thank you for your help!

UPDATE: Booting on patched 3.11 kernel without the "nomodeset" parameter still fails. It works on kernel 3.7.10 though. Maybe this has something to do with the ACPI warnings?

@cbuchner1

This comment has been minimized.

cbuchner1 commented Sep 11, 2013

Just a heads-up: Acer has published BIOS 2.20 for Acer V5-573PG, dated September 9th. Maybe there's also one for V5-375G ?

@ghost ghost assigned Lekensteyn Dec 6, 2013

@ArchangeGabriel

This comment has been minimized.

Member

ArchangeGabriel commented Dec 6, 2013

The ACPI warning are harmless. @Lekensteyn What is the situation on this as of today?

@Lekensteyn

This comment has been minimized.

Member

Lekensteyn commented Dec 6, 2013

That bug is fixed already with 3.12.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment