Issues resuming from suspend on 367

Since going to 367 I’m getting occasional issues on resuming from suspend – can ssh in from a remote machine, but can’t get the display up, and can’t switch to a tty or shutdown cleanly. Have this in the last line of dmesg:

[ 6009.036415] nvidia-modeset: WARNING: GPU:0: Unable to read EDID for display device LG Electronics LG PJTR (HDMI-0)

This is also an issue on the newest 364 driver, on Ubuntu 16.04. Quite frustrating; can anyone help?

I get an activity light on my main monitor (connected via DVI->VGA) during these resume hangs, but nothing on my other displays (one HDMI and one DP->DVI).

I just upgraded my graphics card from a GTX-560Ti to GTX-970 and I am having this problem too using the 370.23 with Linux v4.7.1 and xorg server 1.18.4.

When resuming from standby the screens sometimes don’t come back up, but the green LED lights on my “first” monitor.

These messages are in dmesg

[18581.013209] Restarting tasks ... done.
[18591.308316] nvidia-modeset: WARNING: GPU:0: Lost display notification; continuing.
[18599.417105] e1000e: eth0 NIC Link is Down
[18599.420432] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[18603.359895] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
[18607.363286] nvidia-modeset: WARNING: GPU:0: Unable to read EDID for display device Arnos Instruments K-A19 (DVI-I-0)

All I can do is SSH in to the box and restart it, or press the power button to shut it down.
I have 2 monitors connected. one 1920x1080 on DVI, and one 1440x900 on a DVI->VGA convertor. The 1920x1080 is my main screen but when the PC starts up it is the one on the DVI->VGA that displays the BIOS/startup messages - so my graphics card treats that as the first screen. That is also the screen giving the warning about unable to read EDID.

When it goes wrong, my 1920x1080 monitor doesn’t even wake up.

I have the same problem with driver 367.44 on Linux 4.7.1 and xorg 1.18.4 too.

It seemed to happen more often when I had my second screen disabled (using xrandr) when the PC went to sleep so I added a little script in /etc/pm/sleep.d to make sure the second screen was enabled before sleeping. This didn’t fix the problem although it might have made it less frequent.

I have tried using both pm-suspend and pm-suspend-hybrid.

edit: the graphics card is an ASUS GTX-970 direct CU II model

I am having the exact same issue as all you guys. I have three monitors (two DVI and one HDMI, all 1920 x 1080) and sometimes on resume from suspend, I’ll get a black screen on my primary monitor (the LED light on the power button will turn on and the backlight will come on but thats it), while the other monitors do not turn on. All I can do is hold the power button and do a force restart. The error message in the logs is always:

[18759.807825] nvidia-modeset: WARNING: GPU:0: Unable to read EDID for display device Ancor Communications Inc VS248 (DVI-D-0).

My graphics card is a MSI GTX-970. I’ve had this issue using 364, 367, and 370 on Linux Mint 18 (kernel 4.4). It’s very frustrating.

So, it doesn’t seem to matter if the main screen is on HDMI, DVI-D or DVI-I. I thought it could have been something to do with me using a DVI to VGA convertor.

I have now tried getting the graphics card to go into a text mode before sleep by switching to the first text virtual terminal to see if that fixes the problem for me. I added the following to a file called /etc/pm/sleep.d/20chvt1

#!/bin/sh
chvt 1
sleep 1

It has only been to sleep twice since I created that so it’s too early to tell if it makes a difference. To get back to my X console I press ALT+F7 after the PC wakes again.

Switching to a text mode console is actually something which is done by pm-utils as standard, but if you have the nvidia drivers installed it skips that quirk.

Adding that file to /etc/pm/sleep.d so that my PC switches to VT1 at sleep time seems to have fixed the problem for me. It does mean I have to switch back to VT7 to get to X again, but that’s a lot less hassle than forcing the PC to power off.

Yeah, it’s definitely a huge improvement over forcing the PC off and losing any unsaved work. Thanks for the workaround!

I spoke too soon. It didn’t go wrong for over a week but then today I came back and got the black primary screen bug again.

Seems a lot of people have this problem. I dont let my system suspend anymore.

What is everyones hardware that seems affected by the problem?

I have 980 Ti, and tried drivers 352 - 370, kernels 3.16 - 4.4

I have the same issue on Linux Mint 17.3 x64, Linux kernel 4.4.0-040400-generic and a GeForce 820M card.

I’ve tried both Fedora and Mint. Both seems to have the same issue.
I’m guessing every distribution is equally affected by the issue.

I added the kernel option

vga=normal

to grub and since then I haven’t had a problem with suspending. Before using vga=normal my kernel was using a different video mode for the text console framebuffer so that might have been causing the problem.

Nice! Thanks for sharing.

This solution did not work on my system.

Adding /etc/pm/sleep.d/20chvt1 with the lines from af7567 comment didn’t do anything. I’ve also tried adding these kernel boot parameters with no results: vga=normal rdblacklist=nouveau nouveau.modeset=0 and vga=0 rdblacklist=nouveau nouveau.modeset=0

System Specs:

Graphics card: GTX 980 TI (driver version 375.20)
Motherboard: ASUS Z170 Pro Gaming (BIOS ver. 2003)
Kernel 4.8.11

I am having this issue. I am running Arch Linux, 4.10.6-1-ARCH, and nvidia 378.13-4 drivers are installed. This is my dmesg error log, https://pastebin.com/Kq0meUkw. This happens frequently when I resume from sleep.

This is conjecture, but maybe it is related to bad audio re initialization. In addition to the attached dmesg info about nvidia failing, earlier in the resume process my sound throws errors:

[16034.848110] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 2
[16034.881695] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 0

[16034.918111] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 0

[16036.019470] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900
[16036.019471] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900
[16036.019472] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900
[16036.019473] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900
[16036.019474] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900
[16036.019475] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900
[16036.019475] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900
[16036.019476] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900
[16036.019477] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900
[16036.019478] snd_hda_intel 0000:01:00.1: spurious response 0x80000000:0x0, last cmd=0x4f0900

Found this blurb in an old 2012 issue in the Bumblebee project:

“This is a known thing, though we’re not sure how to “fix” it. Basically, the hda-intel driver seems to occupy the HDMI (?) port on the graphics card that is responsible for audio. But when the card is disabled, obviously hda-intel won’t get the expected messages back and therefore print these messages.”

Anyway, just confirming, I am still experiencing this problem.

I get tons of snd_hda_intel “spurious response” errors on resume with my GTX 1660 Ti after resume (drivers 450.57, Linux kernel 5.7.10):

[    0.148139] pci 0000:07:00.1: [10de:1aeb] type 00 class 0x040300
[    0.148156] pci 0000:07:00.1: reg 0x10: [mem 0xf7080000-0xf7083fff]
[    0.161356] pci 0000:07:00.1: D0 power state depends on 0000:07:00.0
[    0.163459] pci 0000:07:00.1: Adding to iommu group 21
[    2.487804] snd_hda_intel 0000:07:00.1: Disabling MSI
[    2.567083] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.1/0000:07:00.1/sound/card0/input3
[    2.568632] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.1/0000:07:00.1/sound/card0/input4
[    2.569455] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.1/0000:07:00.1/sound/card0/input5
[    2.571032] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.1/0000:07:00.1/sound/card0/input6
[    2.573023] input: HDA NVidia HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:03.1/0000:07:00.1/sound/card0/input7
[    2.573457] input: HDA NVidia HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:03.1/0000:07:00.1/sound/card0/input8
[    2.573816] input: HDA NVidia HDMI/DP,pcm=12 as /devices/pci0000:00/0000:00:03.1/0000:07:00.1/sound/card0/input9
[ 9426.756113] snd_hda_intel 0000:07:00.1: azx_get_response timeout, switching to polling mode: last cmd=0x001f000a
[ 9426.756115] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f000a
[ 9426.756116] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f000a
[ 9426.756117] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f000a
[ 9426.756117] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f000a
[ 9426.756118] snd_hda_intel 0000:07:00.1: spurious response 0x3:0x0, last cmd=0x1f000a
[ 9426.756118] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f000a
[ 9426.756119] snd_hda_intel 0000:07:00.1: spurious response 0xc0:0x0, last cmd=0x1f000a
[ 9426.756120] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f000a
[ 9426.756120] snd_hda_intel 0000:07:00.1: spurious response 0x84:0x0, last cmd=0x1f000a
[ 9426.756121] snd_hda_intel 0000:07:00.1: spurious response 0x1:0x0, last cmd=0x1f000a
[ 9427.760124] snd_hda_intel 0000:07:00.1: azx_get_response timeout, switching to single_cmd mode: last cmd=0x005f0900
[ 9433.335926] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x870e00
[ 9433.335961] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x870e00
[ 9433.336045] snd_hda_intel 0000:07:00.1: spurious response 0x3:0x0, last cmd=0x473500
[ 9433.336086] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x4f0700
[ 9433.336127] snd_hda_intel 0000:07:00.1: spurious response 0x40:0x0, last cmd=0x470700
[ 9433.336169] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x470700
[ 9800.556610] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x820000
[ 9800.556652] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x820000
[ 9800.568066] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f0500
[ 9800.568107] snd_hda_intel 0000:07:00.1: spurious response 0x233:0x0, last cmd=0x1f0500
[12030.729603] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f0500
[12030.729643] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x4f0015
[12030.729684] snd_hda_intel 0000:07:00.1: spurious response 0x3:0x0, last cmd=0x473500
[12030.729725] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x470700
[12030.729767] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x4f0015
[12030.729809] snd_hda_intel 0000:07:00.1: spurious response 0x3:0x0, last cmd=0x473501
[12030.729850] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x470700
[12030.729892] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x4f0015
[12030.729933] snd_hda_intel 0000:07:00.1: spurious response 0x3:0x0, last cmd=0x473502
[12030.729975] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x470700
[12384.141937] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f0500
[12384.141977] snd_hda_intel 0000:07:00.1: spurious response 0x233:0x0, last cmd=0x1f0500
[13235.057059] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f0500
[13235.057117] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x4f0015
[13235.057140] snd_hda_intel 0000:07:00.1: spurious response 0x3:0x0, last cmd=0x473500
[13235.057182] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x470700
[13235.057223] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x4f0015
[13235.057265] snd_hda_intel 0000:07:00.1: spurious response 0x3:0x0, last cmd=0x473501
[13235.057306] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x470700
[13235.057348] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x4f0015
[13235.057390] snd_hda_intel 0000:07:00.1: spurious response 0x3:0x0, last cmd=0x473502
[13235.057431] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x470700
[13240.090349] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x870e00
[13240.090372] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x870e00
[13240.090470] snd_hda_intel 0000:07:00.1: spurious response 0x3:0x0, last cmd=0x473500
[13240.090497] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x4f0700
[13240.090537] snd_hda_intel 0000:07:00.1: spurious response 0x40:0x0, last cmd=0x470700
[13240.090580] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x470700
[13547.955550] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x820000
[13547.955590] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x820000
[13547.967550] snd_hda_intel 0000:07:00.1: spurious response 0x0:0x0, last cmd=0x1f0500
[13547.967591] snd_hda_intel 0000:07:00.1: spurious response 0x233:0x0, last cmd=0x1f0500