Nvidia binary driver requires Option "NvAGP" "1" for reliable suspend/resume

Bug #34043 reported by Aaron Hedch on 2006-03-08
184
This bug affects 27 people
Affects Status Importance Assigned to Milestone
xorg (Ubuntu)
Low
Unassigned
Declined for Lucid by Sebastien Bacher
Declined for Maverick by Sebastien Bacher

Bug Description

Hibernate and suspend do not work correctly on my Compaq r3200 laptop. I'm able to partially wake up from hibernation; however, all I'm greeted with is a green screen on my secondary monitor and nothing on my lapdop display. The computer will suspend (power light begins to blink indicated it's suspended), but laptop fails to wake up.

The laptop uses an nvidia chipset, and I'm using the non-free nvidia driver with twinview.

Matthew Garrett (mjg59) wrote :

Please try without the non-free nvidia drivers. They have no support for suspend/resume, and we don't have the ability to fix them.

Aaron Hedch (ah-edch) wrote :

That link helped a lot. I can now wake up from hibernate using the non-free drivers. Only catch is once resumed, I can't use the console. Also after waking up I can't suspend or hibernate again.

Peter Chabada (ubuntu-chabada) wrote :

I found this bugreport:
https://launchpad.net/distros/ubuntu/+source/acpi-support/+bug/30768

and this solution is even easier: https://wiki.ubuntu.com/NvidiaLaptopBinaryDriverSuspend

For me works sleep -> wake -> hibernate -> wake (more times I don't try).

I think nvidia-glx-config script should modify /etc/default/acpi-support to enable suspend and hibernation.

I'm thinking about how to manage this.

It should be possible for the nvidia binary driver to pop a script in:

  /etc/acpi/suspend.d/05-nvidia-override-post.sh

containing a check that it is running and then:

  SAVE_VBE_STATE=false
  POST_VIDEO=false
  USE_DPMS=false

and in the case of that wiki page, Dell 8600 is already whitelisted as having working suspend.

Peter: can you provide the dmidecode details of your Compaq R3200 and if suspend works work the normal free drivers (eg. nothing nvidia specific). If it does, I'll white list that too.

I don't have an nvidia to check this with though.

And can you file a separate bug against the Nvidia driver that it should automatically set:

  Option NvAGP true

BTW ...what exactly does this do?

Changed in acpi-support:
assignee: nobody → sladen
status: Unconfirmed → In Progress
Ante Karamatić (ivoks) wrote :

Actully, it's not that complicated. Things needed are blacklisting agpgart and agp driver for users chipset (example: intel_agp). Except that, Option NvAGP "1" is needed too (instructs nvidia driver to use nvidia agp buil-in support, and not operating systems driver; intel_agp).

SAVE_VBE_STATE=false
POST_VIDEO=false

are needed too. DPMS can stay true.

Daniel Hahler (blueyed) wrote :

I can confirm for a nVidia 6600GT chipset, I have to set SAVE_VBE_STATE=false (or uncomment the default, which is true).

When I've later accessed the "Monitor & Display" section in KDE's "System Settings", it printed "VESA BIOS Extensions not detected." to the console. So probably a fix would be to use SAVE_VBE_STATE only if the extension is present..?

Also running the grub console and typing "vbeprobe" displays:
grub> vbeprobe
 VBE BIOS is not present.

I've not set the "NvAGP" option in xorg.conf (only RenderAccel=true and NoLogo=true).

POST_VIDEO is true, but does not get used in /etc/acpi/hibernate.sh. I've not tried suspend to ram, only to disk (hibernate).

It would be great, if this could get worked out for Edgy.

The fix from Paul just seems the way to go. Thank you.

Paul Sladen (sladen) wrote :

Okay, it's been a year since there was first opened. Could either of you with this issue test Feisty, and if we still have the issue I'll try to revisit it.

Changed in acpi-support:
assignee: sladen → nobody

In my system the question is yes.

(Sony Vaio, VGN FS285M, Nvidia Go 6200)

--
Pedro Martínez Juliá
\ <email address hidden>
)| WebLog: http://www.pedromj.com/blog
/ Página web: http://www.pedromj.com
GoogleTalk: <email address hidden>
Socio HispaLinux #311
Usuario Linux #275438 - http://counter.li.org

I am still running 6.10. I will upgrade to 7.04 when the final release is
out.

On 3/19/07, Pedro Martínez Juliá <email address hidden> wrote:
>
> In my system the question is yes.
>
> (Sony Vaio, VGN FS285M, Nvidia Go 6200)
>
> --
> Pedro Martínez Juliá
> \ <email address hidden>
> )| WebLog: http://www.pedromj.com/blog
> / Página web: http://www.pedromj.com
> GoogleTalk: <email address hidden>
> Socio HispaLinux #311
> Usuario Linux #275438 - http://counter.li.org
>
> --
> Suspend and Hibernate solution for nvidia binary drivers
> https://launchpad.net/bugs/34043
>

--
www.onesojourner.com

If you get a chance to test this, we may be able to fix it before Feisty gets released. The DesktopCD (LiveCD) should be enough to confirm whether it is happening with a suspend to ram and without needing a full installation to test.

ok I will download the latest tonight. I will go ahead and do a complete
install so I can test it with the latest nvidia drivers.

On 3/19/07, Paul Sladen <email address hidden> wrote:
>
> If you get a chance to test this, we may be able to fix it before Feisty
> gets released. The DesktopCD (LiveCD) should be enough to confirm
> whether it is happening with a suspend to ram and without needing a full
> installation to test.
>
> --
> Suspend and Hibernate solution for nvidia binary drivers
> https://launchpad.net/bugs/34043
>

--
www.onesojourner.com

I'm unable to get suspend/hibernate working in latest feisty with binary drivers. Works perfectly with free drivers. What kind of information would be useful to help resolve this? (I'm still using a Compaq R3000 type laptop with a geforce go 440)

Thanks,

Aaron

Paulus (donmatteo) wrote :

Please try to fix this before the release if you can. I can cofirm that the bug is still present in current feisty. When resuming from hibernation, it crashes when switching to graphics mode (num-lock doesn't react any more). See also #79286 for logs.

However, the solution mentioned above works: force the "NvAGP" option in xorg.conf. This is what it looks like for me (after using restricted-manager and the adding the option):

Section "Device"
    Identifier "Standardgrafikkarte"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "AddARGBGLXVisuals" "True"
    Option "NvAGP" "1"
EndSection

It is not necessary to disable "POST_VIDEO" in /etc/default/acpi-support (although it doesn't do any harm either).

After that, it works without hassles.

I confirm. I would love to see this fixed.

On 3/24/07, Paulus Esterhazy <email address hidden> wrote:
>
> Please try to fix this before the release if you can. I can cofirm that
> the bug is still present in current feisty. When resuming from
> hibernation, it crashes when switching to graphics mode (num-lock
> doesn't react any more). See also #79286 for logs.
>
> However, the solution mentioned above works: force the "NvAGP" option in
> xorg.conf. This is what it looks like for me (after using restricted-
> manager and the adding the option):
>
> Section "Device"
> Identifier "Standardgrafikkarte"
> Driver "nvidia"
> BusID "PCI:1:0:0"
> Option "AddARGBGLXVisuals" "True"
> Option "NvAGP" "1"
> EndSection
>
> It is not necessary to disable "POST_VIDEO" in /etc/default/acpi-support
> (although it doesn't do any harm either).
>
> After that, it works without hassles.
>
> --
> Suspend and Hibernate solution for nvidia binary drivers
> https://launchpad.net/bugs/34043
>

--
www.onesojourner.com

Suspend/Resume works the first time, but not after that. Problem appears to be hal:
Mar 25 04:09:42 localhost kernel: [ 298.948000] Stopping user space processes timed out after 20 seconds (1 tasks refusing to freeze):
Mar 25 04:09:42 localhost kernel: [ 298.948000] hald-addon-stor

Hariolf Häfele (hariolf) wrote :

Hibernate doesn't work for me either, not even after I set NvAGP to "1" and POST_VIDEO to false.

Does the NvAGP setting only have an effect on AGP graphics cards, but not on other types (PCI express or whatever)?

Paulus (donmatteo) wrote :

FYI, the latest updates break resuming for me even with the "nv" driver (#97551) so what I said above may or may not be true now.

Paulus (donmatteo) wrote :

Jan: may I suggest that you open another bug for your problem? It seems to be quite unrelated.

Pedro Martinez-Julia (pedromj) wrote :

Suspend still doesn't work with Nvidia driver 9755. Hibernate still works (I'm using uswsusp but I think it works with swsusp too).

With new drivers I can't use text consoles. Thay are always black.

¿Anybody with 9755 drivers that can suspend and/or have no-black text console?

Jan Van Buggenhout (chipzz) wrote :

Please disregard my last comment; it wasn't relevant here and was fixed after upgrading.

NvAGP = 1 does the trick for me with 9755 and latest Feisty. Suspend and hibernate both working on my Dell Inspiron 8600.

hardyn (arlenn) wrote :

does NvAGP have any effect if you have a PCIE card in your notebook?

Sitsofe Wheeler (sitsofe) wrote :

Paul:
"Option NvAGP true
BTW ...what exactly does this do?"

I believe NvAGP is meant to take a number:
http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9755/README/appendix-d.html
and is meant to tell the nvidia driver to use its own agpgart rather than the in kernel one if possible. The best solution would be if NVIDIA could submit fixes to the in kernel agpgart drivers. The nvidia agpgart supports less chipsets than the in kernel one and may have different stability/performance characteristics to the in kernel agpgart.

Vivian Stewart (vivichrist) wrote :

I had to force the unloading of "nvidia" with uswsusp.

cement_head (andor-udel) wrote :

How did you force the unloading of the "nvidia" module?

I followed the first step on this page
https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend . it seems
to work pretty good with 6.10 and 7.04.

On 5/22/07, cement_head <email address hidden> wrote:
>
> How did you force the unloading of the "nvidia" module?
>
> --
> Nvidia binary driver requires Option "NvAGP" "1" for reliable
> suspend/resume.
> https://bugs.launchpad.net/bugs/34043
> You received this bug notification because you are a direct subscriber
> of the bug.
>

--
www.onesojourner.org

I have a geforce 7300gt pci-e... If I don't set NvAGP "0", I have slowdowns after resume (both from ram and from disk)..
I've posted this problem on nvnews forum, http://www.nvnews.net/vbulletin/showpost.php?p=1270163&postcount=8

"I have a Geforce 7300gt pci-e. I've also noticed this slowdown after both suspend to disk and suspend to ram. Normally glxgears gives me ~ 5900 fps, after suspend, ~ 4000 fps, and in addition, videos are slow, scrolling windows etc..
I've also found a solution, using drivers versions 8776, 9631 and 9755:
- disable completely NvAGP, in xorg.conf, it's not needed, because I have a PCI-E card..
- configure your suspend script to switch to console before suspend and after resume. If you don't do this, the framerate will be ~ 5600 fps... you can also try switching to console manually, to see the difference.

I've only a problem now, after suspend to ram, using driver 9631 and 9755, console screens remain disabled. Notice that I have two monitors used with twinview. Xorg after suspend works, only the virtual consoles don't work.
This problem doesn't occur with driver version 8776.

These tests are done using Debian Etch, Ubuntu Edgy and later (after an upgrade) Ubuntu Feisty."

Bye!

How can be disabled NvAGP? Are you sure that PCI-E doesn't need it?

Useless consoles are a little price to pay for a working suspend/resume.
This can be fixed soon by Nvidia (maybe for gutsy?) or Nouveau.

--
Pedro Martínez Juliá
\ <email address hidden>
)| WebLog: http://www.pedromj.com/blog
/ Página web: http://www.pedromj.com
GoogleTalk: <email address hidden>
Socio HispaLinux #311
Usuario Linux #275438 - http://counter.li.org

I've not noticed any problem disabling nvagp. If you see on xorg.0.log, the driver when you have a pci-e card, uses another data path. Perhaps, I'm not a nvidia developer, nor I can see the code...! This is the damnation of closed source drivers!

Useless consoles is a regression of drivers > 8776. It's strange that nobody in the net, notices this. I'm alone? It's only my card?

With version > 9631 (9755 or something like that) I've got always a
black console, not only after hibernate.

I can't resume from suspend to ram. Suspend to disk goes like a charm.

I'll try with NvAGP=0 but I think it doesn't mind with PCI-E.

I tried suspend to ram again. My laptop needs 4 or 6 minutes to resume from suspend to ram because of NVidia card. ¿Any suggestion?

I confirmed that NvAGP is not needed in PCI-E cards.

Capineiro Capaz (paulogotardo) wrote :

Suspend to ram works for me out-of-the-box with my HP dv9000t. Hibernate, however, will not poweroff my computer (it hangs with a dark screen, all LEDs on). My laptop has a PCI-Express video card. So I added the following two lines to /etc/modprobe.d/blacklist

blacklist intel_agp
blacklist agpgart

Also, in the device section of my xorg.conf, I added:

Option "NvAGP" "0"

Do this and try hibernating now. If it doesn't work, here is the weird part: keep the settings above and run glxgears on a xterm for about 15 seconds, before trying to hibernate. I guess this may initialize some junk in the nvidia module. After doing this, my system powers off after I click on hibernate. Sometimes it reboots instead of powering off. I'm going to try uswsusp now and see if there is any difference.

This thing with glxgears affecting hibernate makes me wonder if those people reporting working hibernate are also beryl/compiz users. Hum...

With intel_agp and agpgart blacklisted and with "Option NvAGP 0", either
suspend and hibernate works for me. The weird thing is that resuming
from suspend hangs a while (4-6 minutes) and then works. In dmesg I saw
that Nvidia kernel driver crashes but then resets it and the system work
perfectly.

¿What's your configuration? (acpi-support and specific Options in
xorg.conf)

I'm using hibernate through uswsusp because it seems to be faster than
plain swsusp. At least resuming from hibernation is very fast.

Hibernation is less buggy than suspend because it's resume process goes
through BIOS POST and usually it's not needed any trick. Take a look
into acpi-support and see if any POST, VBE or DPMS option is enabled.

Today that there is the new nvidia driver 100.14.19, the black console problem is still not fixed. The only driver that allows me full functionality after suspend is the old 8776 driver. That is bad, because I can't use the new features of the new drivers... (texture_from_pixmap!).

:-(

James (james-ellis-gmail) wrote :

This configuration allows Hibernate and Suspend to work for me on a Dell Inspiron 8600, Nvidia binary driver 9631 (nvidia-glx), Twinview enabled

xorg.conf
============
Section "Device"
    Identifier "NVIDIA Corporation NV28 [GeForce4 Ti 4200 Go AGP 8x]"
    Driver "nvidia"
    Option "NvAGP" "1"
EndSection

/etc/modprobe.d/blacklist
============
blacklist intel_agp
blacklist agpgart

And the acpi-support changes at this page
https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend

HTH

Josh (jharris0221) wrote :

Seems like this bug is still in effect in Gutsy beta.... :-/

Restricted nvidia drivers won't allow suspend or hibernate to work. When I uninstall them, suspend and hibernate work again.

Josh (jharris0221) wrote :

Was able to fix this in Gutsy beta using the Xorg.conf and acpi-support edits found here- https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend as well as changing SAVE_VBE_STATE=false (false after the change) in the acpi-support file. I don't know what combo of the three is needed, however I tried the first two without the VBE state off and it did not work until I changed VBE state to false.

Suspend now works with restricted devices in Gutsy.

Ketil Malde (ketil-ii) wrote :

I had the problem of resuming from suspend, it would result in only a black screen and no apparent response (powerbutton would shut down, and correctly display the Ubuntu screen as part of that process). Possibly, it would work if I waited long enough, as some indicate.

Setting SAVE_VBE_STATE and POST_VIDEO to false solved the problem - although I need to switch to a console (Shift-Ctrl-F1) and back (Ctrl-7) to get the display.

Gutsy, AMD64, nvidia-glx-new.

Probably the sam bug as https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.17/+bug/71839

-k

Ketil Malde (ketil-ii) wrote :

I guess I was wrong - the POST_VIDEO etc fix didn't solve it after all.

I tried multiple suspend/resume cycles which did work, but later it didn't, perhaps due
to a longer period in suspend? I'll try blacklisting the intel agp modules next (just setting
NvAGP to "1" in the xorg.conf doesn't seem to have any effect).

-k

Rafael Sachetto (rsachetto) wrote :

I've blacklisted intel_agp modules and setted NvAGP to "1" and now my suspend/resume/hibernate works well....

antonioni (antonioni-rocha) wrote :

Aff.

exactt (giesbert) wrote :

I just tried getting susoend2ram working on my Compal Hel80 with a Nvidia 7600Go using the nvidia-glx-new driver of the latest Hardy (Alpha5+Updates).

I followed only step 2 of https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend .

Otherwise i could reproduce the exact same behaviour as experienced by Capineiro Capaz here: https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/34043/comments/33

including:
"If it doesn't work, here is the weird part: keep the settings above and run glxgears on a xterm for about 15 seconds, before trying to hibernate. I guess this may initialize some junk in the nvidia module. After doing this, my system powers off after I click on hibernate."

Confirmed on a Toshiba Tecra M9 w/ nvidia Quadro NVS 130M running Gutsy. To hibernate with the nvidia driver (with is required with this card, nv does not work), must edit acpi-support and xorg.conf as described above, and blacklist both modules. Suspend does not work even with all those changes (the screen never returns, although the computer seems to be working very hard on something after coming out of suspend based on the cranking of the fan). Unfortunately, this particular card is apparently a problem even with Windows....

Just to give an additional datapoint.
I have a Asus V6J laptop with Nvidia GeForce 7400 running up-to-date Kubuntu Hardy using the nvidia drivers (not nv).
Suspend works perfectly. Hibernate works up to a point. Hibernate will write the image to disk, but not turn off the system. I can manually turn off the system (after all disk activity is finished).
Resume works in both modes flawlessly.
Using the nv drivers, both suspend and hibernate works flawlessly.

With nvidia drivers, I did add the NVAGP option to 1. Unloading intel_agp had no effect.

Dr. Nikhil Joshi (atheist) wrote :

Simply changing

USE_DPMS=false

solved in case of GF 5700 LE using restricted driver NVIDIA-Linux-x86-100.14.19-pkg1 on Gutsy.

antonioni (antonioni-rocha) wrote :

This problem must be resolved!

Nick B. (futurepilot) wrote :

Adding the NvAGP option to my xorg.conf made suspend work correctly, however that option seems have a downside in that it causes a performance drop. Everything is a bit more sluggish feeling with that option. If I remove it, everything goes back to normal, however then suspend doesn't work.

Sitsofe Wheeler (sitsofe) wrote :

NickB:
That's more of a support question. You might get better/faster responses from the forums ( http://ubuntuforums.org/ ) or https://answers.launchpad.net/ ...

After upgrading to Hardy, and degrading to 32-bits, I could not resume from a suspend to memory. First, I made the following changes:

In /etc/modprobe.d/blacklist:

  blacklist intel_agp
  blacklist agpgart

In /etc/X11/xorg.conf:

  Section "Device"
    Identifier "Device0"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    Option "NvAgp" "1"
  EndSection

This allowed me to suspend and resume reliably by switching to a text console before suspending. The only exception was if I suspended when docked and connected to an external monitor (dual head, using twinview), and then waking up with the external monitor disconnected, in that case, the computer would probe CD etc and display a black screen (backlight on). Couldn't find anything in the logs.

Making another change, to /etc/default/acpi-support:

  # SAVE_VBE_STATE=true
  SAVE_VBE_STATE=false
  # POST_VIDEO=true
  POST_VIDEO=false

Suspending with an external monitor also works. I haven't really tested suspending directly from a graphical display with these options, nor have I tested suspend to disk.

My hardware is: Dell D620 with nVidia card (G72M [Quadro NVS 110M/GeForce Go 7300] (rev a1)), running Ubuntu Hardy

  linux-image-2.6.24-17-generic 2.6.24-17.31
  linux-restricted-modules 2.6.24.17.19

-k

My graphic card is nVidia Quadro NVS 140M (use properietary driver), on T61 Thinkpad laptop.

I can suppend but not hibernate. When computer resuming from hibernation, the monitor does not display correctly. All I can do is powering it off.

Charles Profitt (cprofitt) wrote :

lusiads; I have the same laptop and do not have the issue. What version of Ubuntu are you using and what Kernel version?

Tran Anh Tuan (trananhtuan) wrote :

My kernel is 2.6.14.29, Ubuntu 8.04.1 (up-to-date).
Keep in mind that I using proprietary nVidia driver.

Tran Anh Tuan (trananhtuan) wrote :

Sorry, that was a typing mistake.
Kernel version is 2.6.24-19-generic #1 SMP Fri Jul 11 23:41:49 UTC 2008 i686 GNU/Linux.

Paulus (donmatteo) wrote :

The problem is still present in hardy, all -updates. The setting Option "NvAGP" "1" is still required to wake up from hibernation. Observations:

- Different nvidia drivers are alike - all need the setting.

- The problem is present in Kubuntu and Ubuntu, also in a fresh install.

- The problem is present with two different cards: MX400 and Geforce 6200.

- In xorg.conf, Option "NvAGP" "1" must be present - NOT Option "NvAGP" "True". I can't explain it, it's very weird.

- I get "NVRM: not using NVAGP, an AGPGART backend is loaded!" in dmesg when setting this. STILL the setting is required (Xorg.log has "Use of NVIDIA internal AGP requested"). This is weird, I can't explain it.

- When NvAGP is set to "1", other quirks in acpi-default or elsewhere are not required - hibernation just works.

- This is a VIA chipset in a desktop laptop (not laptop). Most likely, this problem is a related to some VIA bug. "dmesg | grep -i agp" yields:

[ 35.054019] Linux agpgart interface v0.102
[ 35.206112] agpgart: Detected VIA KT400/KT400A/KT600 chipset
[ 35.210183] agpgart: AGP aperture is 64M @ 0xe0000000

Paulus (donmatteo) wrote :

Correction: I meant: it's a desktop computer, not a laptop.

Tran Anh Tuan (trananhtuan) wrote :

I did steps following the intructions at https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend

Modifying /etc/X11/xorg.conf and /etc/default/acpi-support but the problem still persists. I can only suppend, not hibernate.

The thing about Linux desktop is it saves your time by 30 mins to install, but it costs you 30 days to make it works the way it should.

My Nvidia card suspends perfectly on my laptop without twinview. The title of this bug is very deceptive as this only effects users in twinview mode so I have edited the title accordingly.

Sitsofe Wheeler (sitsofe) wrote :

(Subscribed Andrew so he can see the reply)

Andrew:
Alas in my case (where I am only using one monitor and a card that doesn't have more than one head) the desktop does not suspend/resume properly so the title is accurate in my case. Watch out when you change existing bugs - you have to cover the original reporters cases too : ) It is almost certainly chipset dependent as to what needs to be done and when.

Sitsofe Wheeler (sitsofe) wrote :

Andrew:
Any chance you can undo the changes you made please?

Gaspard Leon (gaspard.leon) wrote :

OK!!

So for ages now I've just thought my motherboard was not supported...

Stumbled across this bug and the https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend pages...

So I thought... what the hell, suspend would be nice!

My setup is Hardy 8.04.1 with updates and backports and proposed and several PPAs and envy-ng with nvidia drivers: 173.14.12
Abit NF7-S mobo (NForce 2 Ultra)
Geforce 5900XT AGP
Never suspended correctly before in Windows XP

So I set the option in xorg.conf in Section "Device"
 Option "NvAGP" "1"

And I changed the 2 options in /etc/default/acpi-support
SAVE_VBE_STATE=false
POST_VIDEO=false

AND guess what!! it F@#$#@king works for the first time ever!!! I'm so happy I could cry!!

Previously it would sleep ok.. then it would just beep continously with a blank screen until reset when you tried to wake up.

Any disadvantage to NvAGP "1" I should know?
If not, this should seriously be the default!

Thanks to all the hackers that discovered this!
I'm going to post this to brainstom idea 94: http://brainstorm.ubuntu.com/idea/94/

Sitsofe Wheeler (sitsofe) wrote :

Gaspard:
For a technical explanation see https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/34043/comments/24 . The quick explanation is that it makes your system "even more binary only" as you switch to using NVIDIA's agpgart (or no agpgart at all). Ideally one should also make sure that the default agpgart driver (which varies by chipset) is blacklisted if you decide to switch by blacklisting otherwise the NVIDIA driver will not use agpgart at all (which results in performance loss) but that's really a support question and if you haven't noticed a difference I wouldn't waste time "fixing" it.

Gaspard Leon (gaspard.leon) wrote :

ok well I didn't mess with blacklisting modules...

I will do some more testing tonight to figure out which of the settings actually made suspend work...
e.g. if NvAGP is not required and it was just the acpi-support changes or the other way around and performance differences if i blacklist the modules or not.
PS: I tried Hibernate, and besides taking about as long as a normal boot, it does work.

Gaspard Leon (gaspard.leon) wrote :

well it appears I got too excited.

The option NvAGP "1" actually is equivalent to NvAGP "0"
unless you blacklist agpgart and nvidia_agp and the setting agp=off is passed to the kernel..
if you set 1 then it uses 0 if agpgart is loaded
and a check using:
cat /proc/driver/nvidia/agp/status
shows "Status: Disabled" (when suspend works... using NVAGP "0")

anyway I guess I'll be using 0 for now.

on the upside, no agp still yields 5300 fps in glx gears... 6150 with AGP...

Tim Abell (tim-abell) wrote :

I'm on intrepid ibex 8.10 on a dell inspiron 8500 with nvidia geforce 4200.
For the record I now have suspend/hibernate/resume working. (haven't tried multiple consecutive yet)

For me initially if i recall correctly, hibernate would hang on resuming, and suspend would fail to turn the the laptop's screen back on.

The thing that confused me most, having read all the links etc, is that under 8.10 xorg.conf appears to be empty by default. I applied all the other settings mentioned, and I'm not sure what cured hibernate, but that started working first.

The thing that seemed to get the display to come back on after suspend was running the nvidia settings program and unchecking 'sync to vblank' under 'xvideo settings'/'video texture adapter' and rebooting. This created some content in my xorg. I have no idea if it started working directly or indirectly because of what I did.

I never set the NvAGP setting in the end.
-----

new xorg:

Section "Screen"
 Identifier "Default Screen"
 DefaultDepth 24
 Option "AddARGBGLXVisuals" "True"
EndSection

Section "Module"
 Load "glx"
EndSection

Section "Device"
 Identifier "Default Device"
 Driver "nvidia"
 Option "NoLogo" "True"
EndSection

Pacho Ramos (pacho) wrote :

I also need NvAGP set to "1" even on a different distribution (Gentoo). The problem is that it will force the usage of NVIDIA AGP that won't work on all motherboards. On these motherboards that doesn't support (like mine), GPU GART (-> internal, and slower, AGP) will be used. Then, suspend will also work, but permormance will also decrease

In my case, the problem seems related with agpgart-amd64 (provided by kernel) not being able to resume properly, I have tried the following using NvAGP=3 or 2
1. Switch to a console -> Ctrl+Alt+F1
2. Run "pm-hibernate"
3. Resume, it will resume ok to console
4. If I check /var/log/messages or dmesg (sometimes this depends on distribution), I will see a lot of errors related with AGP and, if I switch back to X (Ctrl+Alt+F7), I will get the freeze

maximi89 (maximi89) wrote :

If this help...
i use Debian testing "Squeeze"

Linux Maximiliano 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686 GNU/Linux

maximi89@Maximiliano:~$ lsmod |grep nv
nvidia 7214640 26
agpgart 28776 1 nvidia
i2c_core 19828 2 nvidia,i2c_nforce2
sata_nv 19208 9
libata 140384 2 ata_generic,sata_nv
maximi89@Maximiliano:~$ cat /proc/driver/nvidia/
cards/ registry version warnings/
maximi89@Maximiliano:~$ cat /proc/driver/nvidia/warnings/README
The NVIDIA graphics driver tries to detect potential problems
with the host system and warns about them using the system's
logging mechanisms. Important warning message are also logged
to dedicated text files in this directory.
maximi89@Maximiliano:~$ cat /proc/driver/nvidia/registry
EnableVia4x: 0
EnableALiAGP: 0
NvAGP: 3
ReqAGPRate: 15
EnableAGPSBA: 0
EnableAGPFW: 0
Mobile: 4294967295
ResmanDebugLevel: 4294967295
RmLogonRC: 1
ModifyDeviceFiles: 1
DeviceFileUID: 0
DeviceFileGID: 0
DeviceFileMode: 438
RemapLimit: 0
UpdateMemoryTypes: 4294967295
UseVBios: 1
RMEdgeIntrCheck: 1
UsePageAttributeTable: 4294967295
EnableMSI: 0
MapRegistersEarly: 0
RegistryDwords: ""
maximi89@Maximiliano:~$ cat /proc/driver/nvidia/
cards/ registry version warnings/
maximi89@Maximiliano:~$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86 Kernel Module 180.29 Wed Feb 4 23:44:25 PST 2009
GCC version: gcc version 4.3.3 (Debian 4.3.3-3)
maximi89@Maximiliano:~$ cat /proc/driver/nvidia/cards/0
Model: GeForce 6200 TurboCache(TM)
IRQ: 18
Video BIOS: 05.44.02.45.00
Card Type: PCI-E
DMA Size: 39 bits
DMA Mask: 0x7fffffffff
Bus Location: 03.00.0

cat /etc/X11/xorg.conf some parts...

Section "Module"
    Load "i2c"
    Load "bitmap"
    Load "ddc"
    Load "extmod"
    Load "freetype"
    Load "glx"
    Load "int10"
    Load "vbe"
EndSection

Section "InputDevice"
    Identifier "Generic Keyboard"
    Driver "kbd"
    Option "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "es"
EndSection

Section "InputDevice"
    Identifier "Configured Mouse"
    Driver "mouse"
    Option "CorePointer"
    Option "Device" "/dev/input/mice"
    Option "Protocol" "ImPS/2"
    Option "Emulate3Buttons" "true"
EndSection

Section "Monitor"
    Identifier "AOC FT7x0g"
    Option "DPMS"
EndSection

Section "Device"
    Identifier "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)]"
    Driver "nvidia"
EndSection

Section "Screen"
    Identifier "Default Screen"
    Device "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)]"
    Monitor "AOC FT7x0g"
    DefaultDepth 24
    Option "NvAGP" "1"

Steve Langasek (vorlon) wrote :

The acpi-support package is not involved in suspend/resume in recent versions of Ubuntu, and in any case making suspend/resume work appears to depend on a setting in xorg.conf - which acpi-support doesn't manage.

Reassigning to jockey, which is the package used for managing binary drivers in Ubuntu and can add this option to the xorg.conf by default for nvidia if that's the appropriate action.

Changed in acpi-support:
status: In Progress → Confirmed
Luigi Maselli (grigio) wrote :

The bug is still there. I installed the "nvidia" driver and to edit /etc/xorg.conf to have a working suspend/resume

Section "Device"
    ....
    Option "NvAGP" "1"
EndSection

greenstuff (dutchtest) wrote :

Found this bug on new and old systems. The oldest system I use was a p4 2.6ghz with an nvidea gforce 4200 card.

adding Option "NvAGP" "1" to device worked, but with a panalty i'm afraid.

Martin Pitt (pitti) on 2009-07-08
affects: jockey (Ubuntu) → nvidia-graphics-drivers-173 (Ubuntu)
Paulus (donmatteo) wrote :

For me NvAGP 1 is still required on Karmic with -173 drivers.

Sandeep (sandys-gmail) wrote :

This issue is affecting me in Kubuntu 10.04 with a nvidia 7400 (Dell XPS 1210).

I had to blacklist intel_agp and put nvagp options to get suspend/resume working

EricL (eric-lapuyade) wrote :

I have the problem in a fresh 10.04 fully updated. I use a GeForce4 Ti 4800 SE with nvidia driver 96.43.17 (automatically installed).

Blacklisting intel_agp and adding Option "NvAGP" "1" also works for me.

papukaija (papukaija) on 2010-09-10
tags: added: metabug
ssulaco (jhptro) wrote :

I also have a fresh install of 10.04,Dell Dimension 4600,Nvidia Geforce FX 5200....would not resume from suspend using open source driver,like Eric and Sandeep,I blacklisted intel_agp and added "NvAGP " "1".using these instructions:
https://help.ubuntu.com/community/NvidiaLaptopBinaryDriverSuspend

justin_p (justin-prior) wrote :

I have a fresh install of 10.10 (64-bit) and am getting the same issue. I haven't tried the fix above but I am not using AGP.
Nvidia Gefore 210 (pic-e)
Samsung Syncmaster 171t (oldie but a goodie) via DVI
Gateway GT5404 with 4 GB ram (http://support.gateway.com/s/PC/R/1009371/1009371sp3.shtml)

The only fix for me so far in order to get the monitor to come back is to turn everything off. Unplug the power to the monitor and CPU. Wait 30 mins. Plug in and reboot.

Old Dell Inspiron 8600 with:

01:00.0 VGA compatible controller: nVidia Corporation NV34M [GeForce FX Go5200 64M] (rev a1)

Ubuntu 11.10 Oneiric Ocelot server with TDE desktop ("Kubuntu trinity remix") manually installed afterwards.

By default, resume from both suspend to ram & disk failed.

Problem solved by:

*) removing all quirks from:

/usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-dell.fdi

/usr/lib/pm-utils/video-quirks/20-video-quirk-pm-dell.quirkdb

*) adding "NvAGP " "1" to xorg.conf

I've also edited /etc/default/acpi-support; AFAIU in principle this should not matter. Nevertheless, changes are as follows:

- SUSPEND_METHODS="dbus-pm dbus-hal pm-utils"
+ SUSPEND_METHODS="dbus-pm pm-utils"

- ACPI_SLEEP=true
+ #ACPI_SLEEP=true

- ACPI_HIBERNATE=true
+ #ACPI_HIBERNATE=true

- ACPI_SLEEP_MODE=mem
+ ACPI_SLEEP_MODE=standby

- SAVE_VBE_STATE=true
+ SAVE_VBE_STATE=false

- POST_VIDEO=true
+ POST_VIDEO=false

- # DOUBLE_CONSOLE_SWITCH=true
+ DOUBLE_CONSOLE_SWITCH=true

That's all folks!

Hope it helps.

Aaron Hedch, please execute the following command, as it will automatically gather debugging information, in a terminal:
apport-collect 34043

Please ensure you have xdiagnose installed, and that you click the Yes button for attaching additional debugging information.

affects: nvidia-graphics-drivers-173 (Ubuntu) → xorg (Ubuntu)
Changed in xorg (Ubuntu):
importance: Medium → Low
status: Confirmed → Incomplete
Launchpad Janitor (janitor) wrote :

[Expired for xorg (Ubuntu) because there has been no activity for 60 days.]

Changed in xorg (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers