0

I have a Clevo N871EJ1 (Schenker Media 17) laptop here which gives me quite a headache. I tried to install Ubuntu 18.10, Debian Stretch and Debian Buster (Testing) and all locked up during installation or after installation with "CPU stuck" kernel messages. Was easily reproducible by calling lspci on command line which immediately locked up the machine. I was able to solve this by specifying the pci=noacpi kernel parameter and everything works fine now EXCEPT the NVidia GPU and that's what my question here is about (Just mentioned the initial locking problems in case it is related).

The laptop has two GPUs:

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile)
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)

The firmware of the machine (UEFI only, no legacy mode) has pretty much no configuration options so no way to select a dedicated GPU. So I guess this dreaded NVidia Optimus stuff is in use here.

The Intel GPU works without problems with video acceleration and 3D acceleration so that's fine. But it would be a shame not using this GTX 1050 in there.

So I installed bumblebee and the proprietary nvidia drivers (Debian package nvidia-driver version 390.87-6, Kernel 4.19.12-1), made sure the nouveau driver is properly blacklisted, buuuut it doesn't work:

$ optirun glxinfo
[29571.477699] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver

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

In the kernel log I see this:

[29571.206327] nvidia: module license 'NVIDIA' taints kernel.
[29571.206329] Disabling lock debugging due to kernel taint
[29571.224868] nvidia-nvlink: Nvlink Core is being initialized, major device number 240
[29571.225080] nvidia 0000:01:00.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[29571.225082] NVRM: Can't find an IRQ for your NVIDIA card!
[29571.225083] NVRM: Please check your BIOS settings.
[29571.225083] NVRM: [Plug & Play OS] should be set to NO
[29571.225083] NVRM: [Assign IRQ to VGA] should be set to YES 
[29571.225085] nvidia: probe of 0000:01:00.0 failed with error -1
[29571.225095] NVRM: The NVIDIA probe routine failed for 1 device(s).
[29571.225095] NVRM: None of the NVIDIA graphics adapters were initialized!
[29571.266406] nvidia-nvlink: Unregistered the Nvlink Core, major device number 240

When I follow the tips in the output and set pci=biosirq then the machine locks up again during boot. There is also no option for "Plug & Play OS" or "Assign IRQ to VGA" in the firmware (UEFI only, no legacy mode).

So what else can I try to get the NVidia GPU working?

  • pci=biosirq expects the BIOS to assign IRQ. Have you tried it setting the IRQ in the BIOS for VGA? If not try it. If so what was the result? – Michael Prokopec Jan 16 at 16:44
  • The BIOS (UEFI-only firmware) of the machine doesn't have any options except boot device order, toggling secure boot and toggling the network stack. No PCI settings, no GPU settings... – kayahr Jan 17 at 7:19
0

To answer my own question, I finally found the solution here:

So the actual problem is that the X Server and lspci freezes the system when encountering an NVidia GPU which is powered off. I guess setting the kernel option pci=noacpi just accidentally worked around this problem by breaking access to the NVidia GPU completely (Driver can't be loaded).

The fix is to modify /etc/bumblebee/bumblebee.conf:

  • Set PMMethod to none
  • Set AlwaysUnloadKernelDriver to true

After this I was able to remove the pci=noacpi kernel option and the system boots up correctly, lspci no longer freezes and I'm able to use the NVidia GPU with optirun.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.