Struggling with my Geforce GT 635M and the nvidia Linux driver.

I’ve had this laptop (Lenovo Ideapad Z500) for nearly 2 years now but I’ve never been able to get the Nvidia card to work under Linux. It worked fine on Windows.

It is a discrete dedicated graphics card with an Intel integrated chipset. I was running Fedora, tried Ubuntu, now am on OpenSUSE. None of them really got anywhere with the graphics card. To be honest, it seems that the laptop was built on a few dodgy components (bluetooth was a borked chipset, wifi was woeful until OpenSUSE which seems to handle it alright).

I’ve tried a million different guides and none of it has worked.

Here’s the output for lspci:

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
		Subsystem: Lenovo Device 3904
		Flags: bus master, fast devsel, latency 0, IRQ 26
		Memory at d3400000 (64-bit, non-prefetchable) 
		Memory at e0000000 (64-bit, prefetchable) 
		I/O ports at 4000 
		[virtual] Expansion ROM at 000c0000 [disabled] 
		Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Capabilities: [d0] Power Management version 2
		Capabilities: [a4] PCI Advanced Features
		Kernel driver in use: i915
		Kernel modules: i915
		
		01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 635M] (rev a1) (prog-if 00 [VGA controller])
		Subsystem: Lenovo Device 3904
		Flags: fast devsel, IRQ 16
		[virtual] Memory at d2000000 (32-bit, non-prefetchable) 
		Memory at c0000000 (64-bit, prefetchable) 
		Memory at d0000000 (64-bit, prefetchable) 
		I/O ports at 3000 
		[virtual] Expansion ROM at d3000000 [disabled] 
		Capabilities: [60] Power Management version 3
		Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
		Capabilities: [78] Express Endpoint, MSI 00
		Capabilities: [b4] Vendor Specific Information: Len=14 <?>
		Capabilities: [100] Virtual Channel
		Capabilities: [128] Power Budgeting <?>
		Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
		Kernel modules: nouveau, nvidia

Here’s what bbswitch spits out under ‘dmesg’ when trying the nvidia driver:

[ 1956.125513] bbswitch: enabling discrete graphics
[ 1956.388778] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=none,decodes=none:owns=none
[ 1956.388835] NVRM: The NVIDIA GPU 0000:01:00.0 (PCI ID: 10de:0de3)
               NVRM: installed in this system is not supported by the 361.45.11
               NVRM: NVIDIA Linux driver release.  Please see 'Appendix
               NVRM: A - Supported NVIDIA GPU Products' in this release's
               NVRM: README, available on the Linux driver download page
               NVRM: at www.nvidia.com.
[ 1956.388970] nvidia: probe of 0000:01:00.0 failed with error -1
[ 1956.389027] nvidia-nvlink: Nvlink Core is being initialized, major device number 244
[ 1956.389404] NVRM: The NVIDIA probe routine failed for 1 device(s).
[ 1956.389407] NVRM: None of the NVIDIA graphics adapters were initialized!
[ 1956.389408] [drm] Module unloaded
[ 1956.389412] nvidia-nvlink: Unregistered the Nvlink Core, major device number 244
[ 1956.390276] NVRM: NVIDIA init module failed!

The release notes clearly state the card (GT 635M) as supported for 361.45.11 and, given I’ve had little success with earlier builds, I have no real inclination to keep trying them all in some kind of masochistic quest for thoroughness. (Of course, if somebody has actual insight then I’m open to trying specific versions.)

As far as I can tell, I have all the appropriate stuff set for running this in OpenSUSE - dkms, black listing ‘nouveau’, appropriate entry in /etc/X11/xorg.conf.d for Nvidia device, appropriate bits in /etc/bumblebeed.conf and anything else I’ve forgotten.

At this point I don’t give a hoot about the integrated graphics. I’d be happy to stop using it altogether.

The nouveau module seems to load but I have no idea if it gets used. I know this is not the nouveau support forum. I’m including it more for potential hints at any problems.

Output from ‘dmesg’ after modprobe:

[36064.772302] ACPI Warning: \_SB.PCI0.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[36064.772484] ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[36064.772646] ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[36064.773061] pci 0000:01:00.0: optimus capabilities: enabled, status dynamic power, hda bios codec supported
[36064.773068] VGA switcheroo: detected Optimus DSM method \_SB_.PCI0.PEG0.PEGP handle
[36065.026813] nouveau 0000:01:00.0: enabling device (0000 -> 0003)
[36065.026980] nouveau 0000:01:00.0: unknown chipset (ffffffff)
[36065.026997] nouveau: probe of 0000:01:00.0 failed with error -12

Optirun:

charles@Z500-openSUSE:~/.java/deployment/cache/6.0> optirun glxgears
[36090.360773] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied

[36090.360857] [ERROR]Aborting because fallback start is disabled.

I’ve almost entirely given up on this. I’d really appreciate any help. If this is the wrong place to ask, then redirection to the correct place would be really helpful as I just don’t know.

I have the same issue, also for about 2 years with lenovo ideapad z510 and nvidia geforce GT 740M- but it only stops working after suspend. Nouveau gives exactly the same messages in dmesg. Bumblebee gives exactly the same error.

I tried to go as far as unloading nouveau before suspend, then suspend, resume, then remove the GPU using “echo 1 > /sys/bus/pci/devices//remove” and then rescan using “echo 1 > /sys/bus/pci/rescan”, but it didn’t appear in lspci at all after I did that. The same set of commands work perfectly fine before suspend.

I wasn’t able to get any output from the nvidia driver because I didn’t try to unload it when I still had it, and I don’t want to switch again unless necessary. When I didn’t unload it - the whole system completely froze after suspend.

Any updates on that? The GPU works perfectly fine on windows.

EDIT: Actually, this seems closer to my issue: https://devtalk.nvidia.com/default/topic/962231/linux/resume-from-suspend-freezes-system-gtx-970-arch-linux-kernel-4-4-4-7-nvidia-370-/

Barteks2x, I have the same laptop, you have to add acpi_osi="!Windows 2013" to kernel command line for suspend/resume to work for kernels >3.14

harcile, you’re trying to use too many things at once, if you want to use the nvidia-driver on optimus laptops, there shouldn’t be bbswitch, vga switcheroo, bumblebee and the like at the same time. The message that your card is not supported by the driver really means that there’s something wrong with power management of the gpu, probably related to bbswitch etc.
Always use nvidia-bug-report.sh to generate a zip with logs and attach it to your post. Attachments can only be attached to existing posts.
Then you have to see after prime config, have a look at the sticky post about prime, there are hints and a config I posted for xservers >1.18.1.