Suspending a laptop (Dell Latitude D620) with nVidia video adapter in Fedora 8 »

Saturday, 26 January 2008 | Linux | Dawid Lorenz

While suspend feature in my laptop was working more-or-less right with Fedora 7, ever since I’ve upgraded to Fedora 8, I was not able to use it at all. Because my computer has nVidia video adapter, I just assumed that is a video driver’s fault, and never really investigated problem properly. Until today.

As I was playing around video and wireless drivers on my computer today, I’ve googled out interesting website (in fact, I knew that site before, and I think it’s really useful source of information). One of the latest articles was F8 Binary NVIDIA Suspend. Ha! Quick try, and - tada! - suspend works flawlessly! Let me explain you how.

Clemson’s page mentions Lenovo T61 laptop, while mine is Dell Latitude D620. However, we both have similar nVidia Quadro NVS video cards, and the same xorg-x11-drv-nvidia-169.07-4 video driver from Livna RPM repository. Trick used to make suspend working is known as quirk (well, in fact the trick is to *remove* a quirk :). So, the only difference in that matter is to tweak a different file with different values. So, in case of Dell Latitude D620 I took following file into consideration: /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-dell.fdi. Within that file I’ve had to replace following bit:

<match key="system.hardware.product" contains_outof="D620;D800">
  <merge key="power_management.quirk.vbe_post" type="bool">true</merge>
  <merge key="power_management.quirk.vbestate_restore" type="bool">true</merge>
</match>

With another:

<match key="system.hardware.product" contains_outof="D620;D800">
  <match key="info.linux.driver" string="nvidia">
    <merge key="power_management.quirk.none" type="bool">true</merge>
  </match>
</match>

Once changes are saved, there is only a single reboot between you and finally working suspend feature on your laptop. :) I was actually really surprised with suspends of my computer after applying that trick - 4 out of 4 tries were successful. Also, resuming from suspend is actually instant - I’ve had my desktop back within seconds, with everything working as it should (including WLAN adapter). :) UPDATE: next day I’ve been suspending/resuming my machine quite extensively, and not a single crash encountered!

I’m pretty sure that trick above would work on any other laptop that is using the same (or similar) video card, as in my case it was just a matter of finding appropriate file and quirk. Good luck!

Sources:
Clemson Linux Initiative - F8 Binary NVIDIA Suspend
HAL Sleep Quirks (useful source of information about quirks in general)

Anything to say?