Closed FelixLisczyk closed 10 years ago
Looks like ACPI handle issues in the kernel. Please try older release series, such as 3.7.x and 3.9.x. (Cc: @Lekensteyn )
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?
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.
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.
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.
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 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!
Support for Haswell and such recent NVIDIA cards might not be supported.
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.
I'm attaching my ACPI dump using RWE on Windows 8:
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.
Is there actually no kernel =>3.8 that works with bumblebee on v5 573? Any workarounds?
@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/
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!
@FelixII please subscribe to https://bugzilla.kernel.org/show_bug.cgi?id=60829
@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 ;)
@Lekensteyn Thanks for creating the bug report! I added myself to the CC list and will provide additional information if requested. :-)
@Jility See the hack-lenovo branch for a new commit.
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?
@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
.
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.
@cbuchner1 I have applied two patches to acpi-handle-hack to address your issues.
@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
@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
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?
Once you hit kernel 3.10, you need 319.49 Nvidia (or whatever the current on better than that is when you read this)
is it working with nouveau as well?
weeee...it is working :) + primusrun ftw :D
@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.
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?
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 ?
The ACPI warning are harmless. @Lekensteyn What is the situation on this as of today?
That bug is fixed already with 3.12.
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...
My dmesg log prints some error messages regarding bbswitch:
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