I have had a problem with hibernate/resume on my computer since at least opensuse 11.4 until now (12.3).
The hibernate and resume just go on all right (success at the end of pm-suspend.log and 100% of data image loaded) but I get a black screen afterward (and neither Ctrl-Alt-F1 to F12 works nor Ctrl-Alt-Esc or Ctrl-Alt-Del).
By checking Xorg.0.log against Xorg.0.log.old, I see that at the end after the EDID checks I have
4863.515] (II) Open ACPI successful (/var/run/acpid.socket)
4863.592] (WW) NVIDIA(GPU-0): Failed to enter interactive mode.
4863.592] (EE) NVIDIA(GPU-0): Failed to determine display capabilities
4863.592] (EE) *** Aborting ***
4863.592]
Fatal server error:
4863.592] EnterVT failed for screen 0
4863.592]
4863.592] (EE)
Please consult the The X.Org Foundation support
at xorg
for help.
4863.592] (EE) Please also check the log file at “/var/log/Xorg.0.log” for additional information.
4863.592] (EE)
4863.594] (II) evdev: Logitech HID compliant keyboard: Close
4863.594] (II) UnloadModule: “evdev”
4863.594] (II) evdev: Logitech HID compliant keyboard: Close
4863.595] (II) UnloadModule: “evdev”
4863.596] (II) evdev: Microsoft Corporation Microsoft ® Laser Mouse 6000: Close
4863.596] (II) UnloadModule: “evdev”
4863.596] (II) evdev: STV06xx: Close
4863.596] (II) UnloadModule: “evdev”
4863.597] (II) evdev: Power Button: Close
4863.597] (II) UnloadModule: “evdev”
4863.597] (II) evdev: Power Button: Close
4863.597] (II) UnloadModule: “evdev”
I have tried to google “(EE) NVIDIA(GPU-0): Failed to determine display capabilities” but the only reference (2) are for my former post on the alionet opensuse forum that describes the problem in much more details for the French-speaking people!..
My graphics card is a GTX260 and I use x11-video-nvidiaG03, nvidia-gfx03-kmp-desktop and nvidia-computeG03 from obs://build.suse.de/home:sndirsch:drivers though I do not have this repo in my list (I have ftp://download.nvidia.com/opensuse/12.3/ …
Any help will be appreciated.
PS: Since it does not work for me, and I usually have plenty of softs and virtual machines open at the same time (I have 24 GB of RAM), I almost never shutdown and reboot my PC, so you will also make a good action for the planet if I can use hibernation at the end of every working day!
Have a look at /etc/pm/sleep.d/99at . You’d have to create a file, f.e. “99nvidia”, and make it unload the nvidia driver when going into suspend/hibernation, reloading it during resume.
I have verified that I indeed checked “Subscribe to this thread and notify me of changes: instantly using email”, but it seems to me I have not received any mail signaling your answer. I saw it by chance.
I have looked at the file that you pointed (and also at 99apcupsd in the same directory).
I have 2 problems:
1°) when I try “echo $PM_UTILS_LIBDIR” as root, the answer is empty
2) what is the name of the service to stop and restart for the nvidia driver? nvidia_drv?
I looked at the list of files installed with pm_utils and found some documentation that I will have to read,… when I will find time to do so…
I have many things going on at the moment on the PC that I do want to risk stopping, hence I can not experiment at the moment.
Do you think that the following hook would work? (I named it 99znvidia so that it would be executed last during hibernate and first during thaw)
::::::::::::::
/etc/pm/sleep.d/99znvidia
::::::::::::::
#!/bin/bash
. $PM_UTILS_LIBDIR/functions
case “$1” in
hibernate|suspend)
modunload nvidia
;;
thaw|resume)
modreload nvidia
;;
*)
;;
esac
I have at last found the time to try hibernate with the proposed script 99znvidia present in etc/pm/sleep.d and it did not work.
(more precisely, the script was executed during hibernate and thaw with success, but my screen stayed black and unresponsive after the image was loaded into memory and pm_suspend.log contains only success.
I also tried with the same script but named 99nvidia for it to have a lower priority than 99video, but the result was the same.
The script above you created works with my computer.
Thank your for the tip.
I didn’t have any problem to hibernate/resume with openSUSE 11.4 but i don’t recall if I had to do something to get it work.
openSUSE 13.1, KDE and graphics chip GTS 450 with nvidia driver
You should really clean up that mess, otherwise the driver/your system could randomly stop working if there are updates. (the G02 and G03 packages contain equally-named files)
Remove all those packages, f.e. in YaST, then start YaST again and install only exactly those 3:
nvidia-gfxG03-kmp-desktop, x11-video-nvidiaG03, nvidia-computeG03
Maybe that would even remove your hibernate/resume problem without an extra script?
Currently it is not certain which X driver and kernel module are actually installed now. (maybe a mixture between G02 and G03, which of course causes problems as they are not compatible)
PS: the G03 packages are no upgrade to the G02 packages. They are completely different, except for the fact that they contain files with the same names and thus never should be installed together.
I cleaned up the packages as suggested.
I even removed OSS Nvidia driver leaving only xxx-G03-xxxx.
With this driver, I don’t need the script, 99znvidia, in /etc/pm/sleep.d.
Now I can even suspend in memory too, i.e., sleep works!
The problem came back after several updates, I believe there was Nvidia driver update too.
Now I have to have 99znvidia script in /etc/pm/sleep.d to get resume works from hibernation.
I may have to clarify what my problem is since it seems a bit different from what the original poster is experiencing.
The symptom I have is that the desktop or window manager cannot recover after resume so I have to hit ‘Ctrl+Alt+Backspace’ to restart the window manger.
Here is the packages installed.
nvidia-glG03-331.38-23.1.x86_64
nvidia-gfxG03-kmp-desktop-331.38_k3.11.6_4-23.1.x86_64
x11-video-nvidiaG03-331.38-23.1.x86_64
nvidia-computeG03-331.38-23.1.x86_64
Here is more information I have found. It seems hibernation or sleep works only once after boot up or after window manger is restarted.
In other word, if I boot up the computer or restart the window manager and put it in hibernation or sleep it can resume with no problem.
However if put the computer in hibernation or sleep second time the window manager does not resume so i have to kill it and restart.
If i restart the window manager, resuming from hibernation works fine just once again.
Because of this behavior I thought hibernation/resumes worked fine with driver update once I tested only once but actually it was a premature conclusion.
Really weird.
By they way i don’t see any error message in pm-suspend.log file.
Hm. No idea then.
On my system there is a setting in the BIOS named “Repost Video on S3 Resume”.
If this is set wrong, I also experience a black screen after resume. (what is wrong changed over the time, with different kernel versions)
Maybe you have a similar setting?
I’m not sure if this would apply to the nvidia driver at all though, I am using the open source radeon driver.
But as I said, if you don’t have any other problems, just keep the file and don’t worry about it.
I finally got read of the problem.
I installed opensuse 13.2 with a zypper dup from my opensuse 13.1.
The problem was still there with nouveau as my driver for the GTX-260 NVIDIA card
Then I uninstalled pm-utils, installed NVIDIA drivers for 13.2 and reinstalled pm-utils and now the problem is gone.
I do not have any script left in /etc/pm/sleep.d now!!!
pm-utils is version 1.4.1-38.1.2 from Sept. 25th, 2014
i forgot to say that I also put “threads = y” in /etc/suspend.conf.
Do not know if this helped solved the problem or just speeds up the hibernate/resume process.