You are not logged in.

#1 2019-05-12 02:40:32

onexused
Member
Registered: 2009-10-07
Posts: 117

optirun: nvidia card doesn't work after suspend/resume

I ran a program with optirun, closed this program and suspended (s2ram) my laptop, then when I resumed, I wasn't able to use optirun without rebooting:

421 [user@localhost ~]% optirun glxgears
[11912.726106] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver

[11912.726205] [ERROR]Aborting because fallback start is disabled.
422 [user@localhost ~]% sudo modprobe nvidia
modprobe: ERROR: could not insert 'nvidia': No such device
423 [user@localhost ~]% lspci 
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation 6 Series/C200 Series Chipset Family KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b4)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b4)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b4)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM67 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [Quadro NVS 4200M] (rev a1)
03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)
0d:00.0 System peripheral: Ricoh Co Ltd PCIe SDXC/MMC Host Controller (rev 08)
0d:00.3 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 PCIe IEEE 1394 Controller (rev 04)
424 [user@localhost ~]% pacman -Qi nvidia-390xx
Name            : nvidia-390xx
Version         : 390.116-18
Description     : NVIDIA drivers for linux, 390xx legacy branch
Architecture    : x86_64
URL             : http://www.nvidia.com/
Licenses        : custom
Groups          : None
Provides        : None
Depends On      : linux  nvidia-390xx-utils=390.116  libglvnd
Optional Deps   : None
Required By     : None
Optional For    : bumblebee
Conflicts With  : nvidia
Replaces        : None
Installed Size  : 9.20 MiB
Packager        : Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Build Date      : Sun 05 May 2019 03:31:23 PM EDT
Install Date    : Thu 09 May 2019 02:22:20 PM EDT
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

This has happened a couple times.  I'm using a Thinkpad T520 with packages up to date as of two days ago.
A couple other posts I've found talk about using pm-utils to unload modules before suspend and reload them after.  pm-utils doesn't appear in the repo and its wiki page is archived, so should I assume it's depreciated?  Is un/reloading the modules still the kind of thing I should look at? If so, how is that done now?

Edit: I tried manually `rmmod nvidia` before suspending but couldn't: it wasn't loaded, so that won't necessarily help.

Last edited by onexused (2019-05-12 17:54:28)

Offline

#2 2019-05-14 16:11:11

onexused
Member
Registered: 2009-10-07
Posts: 117

Re: optirun: nvidia card doesn't work after suspend/resume

This does not happen every time.  It's perhaps every third or fourth time and I don't know what triggers it.
After resume with the issue and trying to run `optirun glxgears`, dmesg says:

[36697.609020] nvidia-nvlink: Nvlink Core is being initialized, major device number 234
[36697.609273] NVRM: This is a 64-bit BAR mapped above 4GB by the system
               NVRM: BIOS or the Linux kernel, but the PCI bridge
               NVRM: immediately upstream of this GPU does not define
               NVRM: a matching prefetchable memory window.
[36697.609273] NVRM: This may be due to a known Linux kernel bug.  Please
               NVRM: see the README section on 64-bit BARs for additional
               NVRM: information.
[36697.609277] nvidia: probe of 0000:01:00.0 failed with error -1
[36697.609291] NVRM: The NVIDIA probe routine failed for 1 device(s).
[36697.609292] NVRM: None of the NVIDIA graphics adapters were initialized!
[36697.640895] nvidia-nvlink: Unregistered the Nvlink Core, major device number 234

which doesn't look like much info to me.  Are there other logs which might be useful?

Last edited by onexused (2019-05-14 16:23:46)

Offline

Board footer

Powered by FluxBB