MrMEEE / bumblebee-Old-and-abbandoned

OUTDATED!!!!! - Replaced by "The Bumblebee Project" and "Ironhide"
http://www.martin-juhl.dk/2011/08/ironhide-reporting-for-duty/
469 stars 50 forks source link

Dell XPS 15 not working on openSUSE 11.4 #413

Closed ggw closed 13 years ago

ggw commented 13 years ago

Installed Bumblebee, tried glxgears and this is all I got:

geoff@fodo:~> optirun glxgears root's password: _PS0 Enabling nVidia Card Succeded. FATAL: Module nvidia_current not found. Starting up bumblebee X server: geoff@fodo:~>

The Nvidia driver was installed from repositories (option 1) during Bumblebee installation.

Ximi1970 commented 13 years ago

You probably used an ubuntu / fedora bumblebee-disablecard / bumblebee-enablecard script. Please edit the scripts and change "nvidia-current" into "nvidia". Or if your system is already listed in the database WITH openSuSE, choose the openSuSE version. If everything works and your system was not in the database, please add your system with "bumblebee-submitsystem", so you do not have to edit the scripts again.

ArchangeGabriel commented 13 years ago

Yes, it is clearly due to the use of ubuntu scripts (for information Ximi1970, fedora and opensuse enable/disable scripts are strictly the sames).

The lines to change are modprobe nvidia-current by modprobe nvidia in the enable script and rmmod nvidia by modprobe -r nvidia.

ggw commented 13 years ago

I made the changes you suggested and it made some progress, however we're still not there yet. First off it complained that there was no nividia.ko device. It turned out that the version in the Nvidia repository for openSUSE was built for the kernel origionally supplied for the 11.4 distro and has not been updated since. So uninstalled the nvidia packages and installed the later version downloaded from the nvidia web site (version 275.09.07) and installed it. Now this is what I get:

geoff@fodo:~> optirun glxgears root's password: _PS0 Enabling nVidia Card Succeded. FATAL: Error inserting nvidia (/lib/modules/2.6.37.6-0.5-desktop/kernel/drivers/video/nvidia.ko): No such device Starting up bumblebee X server: glxgears: error while loading shared libraries: libnvidia-tls.so.270.41.06: cannot open shared object file: No such file or directory geoff@fodo:~>

This is strange as the kernel module is there.

geoff@fodo:~> ls /lib/modules/2.6.37.6-0.5-desktop/kernel/drivers/video/nvidia* /lib/modules/2.6.37.6-0.5-desktop/kernel/drivers/video/nvidia.ko

/lib/modules/2.6.37.6-0.5-desktop/kernel/drivers/video/nvidia: nvidiafb.ko geoff@fodo:~>

Also, i don't know why it was trying to load libnvidia-tls.so.270.41.06 as the installed driver version is 275.09.07.

ArchangeGabriel commented 13 years ago

Could you upload the xorg.conf.nvidia file ?

Ximi1970 commented 13 years ago

You can not install the nVidia package yourself. It will not work ! If you want to use the nVidia package from the nVidia website, please use the installer and select the nVidia package option. You can save the nVidia package next to the install.sh from bumblebee. The installer will detect the package automaticly when you select the package option.

The nVidia libraries / X11 driver will be moved by the installer to special directories so they will not clash with the libs of the Intel driver. Bumblebee will find the drivers and libraries again by using LD_LIBRARY_PATH en the --module_path option in the bumblebee X server start script.

ggw commented 13 years ago

I uninstalled bumblebee and the nvidia driver then reinstalled letting the bumblebee installer install the nvidia driver. Now this is what I get:

geoff@fodo:~> optirun glxgears root's password: _PS0 Enabling nVidia Card Succeded. FATAL: Error inserting nvidia (/lib/modules/2.6.37.6-0.5-desktop/kernel/drivers/video/nvidia.ko): No such device Starting up bumblebee X server: geoff@fodo:~>

Again, the module /lib/modules/2.6.37.6-0.5-desktop/kernel/drivers/video/nvidia.ko exists.

Following is the /etc/X11/xorg.conf.nvidia file.

Section "DRI" Mode 0666 EndSection

Section "ServerLayout" Identifier "Layout0" Screen "Screen1" Option "AutoAddDevices" "false" EndSection

Section "Module" Load "dbe" Load "extmod" Load "glx" Load "record" Load "freetype" Load "type1" EndSection

Section "Files" EndSection

Section "Device" Identifier "Device1" Driver "nvidia" VendorName "NVIDIA Corporation" BusID "PCI:01:00:0" Option "IgnoreEDID" Option "ConnectedMonitor" "CRT-0" EndSection

Section "Screen" Identifier "Screen1" Device "Device1" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1200" "1920x1080" "1680x1050" "1600x1200" "1440x900" "1280x1024" "1366x768" "1360x768" "1280x800" "1024x768" "800x600" "640x480" EndSubSection EndSection

Section "Extensions" Option "Composite" "Enable" EndSection

Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Unknown" HorizSync 28.0 - 73.0 VertRefresh 43.0 - 72.0 Option "DPMS" Modeline "1920x1200" 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync Modeline "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync Modeline "1680x1050" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync Modeline "1600x1200" 161.00 1600 1712 1880 2160 1200 1203 1207 1245 -hsync +vsync Modeline "1440x900" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync Modeline "1368x768" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync Modeline "1280x800" 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync Modeline "1280x1024" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync EndSection

Ximi1970 commented 13 years ago

Can you also upload the last part ( with the nvidia messages ) of the /var/log/messages ?

ggw commented 13 years ago

I looked at the /var/log/messages file and found messages to the effect that my graphics chip set, a GT540M, is not supported by the driver. I went back to the nvidia web site and found a new driver, version 275.19, which claims to have added support for the GT540M. So I uninstalled all then reinstalled with the new driver and tried again only to get the same messages again, both shell messages and /var/log/messages. This is the relevant part from/var/log/messages

Jul 19 16:59:06 fido sudo: geoff : TTY=pts/1 ; PWD=/home/geoff ; USER=root ; COMMAND=/etc/init.d/bumblebee enable Jul 19 16:59:06 fido kernel: [ 1293.534949] acpi_call: Calling _SB.PCI0.PEG0.PEGP._ON Jul 19 16:59:07 fido kernel: [ 1294.004616] acpi_call: Call successful: {0x00, 0x10, 0x00, 0xa1, 0x00, 0x00, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x68, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xb4, 0x02, 0x00, 0xa0, 0x8d, 0x2c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x4d, 0x05, 0x00, 0x00, 0x00, 0x01, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 Jul 19 16:59:07 fido kernel: , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0 Jul 19 16:59:07 fido kernel: [ 1294.368024] nvidia 0000:01:00.0: power state changed by ACPI to D0 Jul 19 16:59:07 fido kernel: [ 1294.368029] nvidia 0000:01:00.0: power state changed by ACPI to D0 Jul 19 16:59:07 fido kernel: [ 1294.368032] nvidia 0000:01:00.0: enabling device (0006 -> 0007) Jul 19 16:59:07 fido kernel: [ 1294.368038] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 Jul 19 16:59:07 fido kernel: [ 1294.368043] nvidia 0000:01:00.0: setting latency timer to 64 Jul 19 16:59:07 fido kernel: [ 1294.368047] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=none,decodes=none:owns=none Jul 19 16:59:07 fido kernel: [ 1294.368198] NVRM: The NVIDIA GPU 0000:01:00.0 (PCI ID: 10de:0df4) installed Jul 19 16:59:07 fido kernel: [ 1294.368198] NVRM: in this system is not supported by the 275.19 NVIDIA Linux Jul 19 16:59:07 fido kernel: [ 1294.368199] NVRM: graphics driver release. Please see 'Appendix A - Jul 19 16:59:07 fido kernel: [ 1294.368199] NVRM: Supported NVIDIA GPU Products' in this release's README, Jul 19 16:59:07 fido kernel: [ 1294.368200] NVRM: available on the Linux graphics driver download page at Jul 19 16:59:07 fido kernel: [ 1294.368200] NVRM: www.nvidia.com. Jul 19 16:59:07 fido kernel: [ 1294.368205] nvidia 0000:01:00.0: PCI INT A disabled Jul 19 16:59:07 fido kernel: [ 1294.368210] nvidia: probe of 0000:01:00.0 failed with error -1 Jul 19 16:59:07 fido kernel: [ 1294.368238] NVRM: The NVIDIA probe routine failed for 1 device(s). Jul 19 16:59:07 fido kernel: [ 1294.368239] NVRM: None of the NVIDIA graphics adapters were initialized! Jul 19 16:59:07 fido acpid: 1 client rule loaded Jul 19 16:59:08 fido kernel: [ 1295.388038] nvidia 0000:01:00.0: power state changed by ACPI to D0 Jul 19 16:59:08 fido kernel: [ 1295.388043] nvidia 0000:01:00.0: power state changed by ACPI to D0 Jul 19 16:59:08 fido kernel: [ 1295.388050] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 Jul 19 16:59:08 fido kernel: [ 1295.388057] nvidia 0000:01:00.0: setting latency timer to 64 Jul 19 16:59:08 fido kernel: [ 1295.388061] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=none,decodes=none:owns=none Jul 19 16:59:08 fido kernel: [ 1295.388145] NVRM: The NVIDIA GPU 0000:01:00.0 (PCI ID: 10de:0df4) installed Jul 19 16:59:08 fido kernel: [ 1295.388146] NVRM: in this system is not supported by the 275.19 NVIDIA Linux Jul 19 16:59:08 fido kernel: [ 1295.388146] NVRM: graphics driver release. Please see 'Appendix A - Jul 19 16:59:08 fido kernel: [ 1295.388147] NVRM: Supported NVIDIA GPU Products' in this release's README, Jul 19 16:59:08 fido kernel: [ 1295.388147] NVRM: available on the Linux graphics driver download page at Jul 19 16:59:08 fido kernel: [ 1295.388148] NVRM: www.nvidia.com. Jul 19 16:59:08 fido kernel: [ 1295.388163] nvidia 0000:01:00.0: PCI INT A disabled Jul 19 16:59:08 fido kernel: [ 1295.388169] nvidia: probe of 0000:01:00.0 failed with error -1 Jul 19 16:59:08 fido kernel: [ 1295.388197] NVRM: The NVIDIA probe routine failed for 1 device(s). Jul 19 16:59:08 fido kernel: [ 1295.388198] NVRM: None of the NVIDIA graphics adapters were initialized!

The PCID of the device matches that listed in Appendix A of the accompanying documentation so this is probably a bug in the nvidia driver. Unless the above messages give some clue to a solution it looks like I'll have to wait untill nvidia fixes their driver.

Ximi1970 commented 13 years ago

You get these message also when your nVidia chip is not properly enabled by the acpi_call function. So have an extra look at the enable / disable functions.

The 540M chip was already supported in the 270 driver ( atleast the 540M version (0x0df4) in the Asus N53SV ). nVidia just forgot to mention it in Appendix A.

ggw commented 13 years ago

In the bumblebee-enablecard script there is a line

echo _PS0 $(acpi_call "_SB.PCI0.PEG0.PEGP._ON")

In the bumblebee-disablecard script there is a line

echo _PS0 $(acpi_call "_SB.PCI0.PEG0.PEGP._OFF")

How can I check if these are the correct parameters to the acpi_call function.

Ximi1970 commented 13 years ago

According to google ( google is always your best friend, search for: Dell XPS 15 acpi_call ) you need to do more..... In the page https://wiki.archlinux.org/index.php/Dell_XPS_15z you can a find an acpi_call script from Ubuntu: http://dl.dropbox.com/u/542913/dell.sh. From this script you take the OFF part:

echo _DSM $(acpi_call "\_SB.PCI0.PEG0.PEGP._DSM" \
"{0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47," \
 "0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0}" \
 "0x100 0x1A {0x1,0x0,0x0,0x3}")
# ok to turn off: Buffer {0x59 0x0 0x0 0x11}
# is already off: Buffer {0x41 0x0 0x0 0x11}
echo _PS3 $(acpi_call "\_SB.PCI0.PEG0.PEGP._PS3")

And the ON part:

echo _PS0 $(acpi_call "\_SB.PCI0.PEG0.PEGP._PS0")

Hopefully this will work for your Dell also. If not try google again :-)

Or do not use the on / off....

ggw commented 13 years ago

Well the given values didn't work, probably because they were for a different model computer, and Googling didn't turn up any useful information. Any further suggestions?

Ximi1970 commented 13 years ago

Only one option remaining: do not use the power scripts. They are not necessary for bumblebee. Just put a # in front of the echo commands. And hope that someone will find the right solution for your laptop.