LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Laptop and Netbook (http://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/)
-   -   Suspend/Hibernation resume problems with ATI graphics card. (http://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/suspend-hibernation-resume-problems-with-ati-graphics-card-760878/)

defensorfedei 10-09-2009 06:55 PM

Suspend/Hibernation resume problems with ATI graphics card.
 
Hi all,

I have scoured the web for a few days trying to find a fix for my suspension/hibernation resume problems. Everything I have tried has not yielded any new results. I have tried...

Editing acpi-support files in accordance with many tutorials. Nothing.

Disabling pm-utils and installing uswusp for suspension in accordance with many tutorials. Nothing.

I have tried a few other things that required a complete system restoration. Good times.

I am using an ATI Radeon HD 3650 graphics card on an MSI GX730 laptop with AMD Turion X2 processor (RM-70). I am running Linux Mint 7 64bit. I am also using the proprietary ATI Catalyst 9.6 fglrx driver. Many a source on the internet claims that this is the source of my problems. When my laptop resumes, I either get a black screen with movable mouse cursor, or Mint splash screen with movable cursor.....but that is all. It never gives me the option to log in at resume, it just hangs requiring a hard restart.

Has anyone, who is using the proprietary ATI driver been able to get suspend to resume properly? I know nvidia folks have accomplished this with their proprietary drivers. Has anyone had success with suspension/hibernation using the open-source ATI driver? Can anyone offer up a possible solution or a place to find one? Just wondering what my chances are.

Thanks in advance for any help you can offer.

business_kid 10-10-2009 01:43 PM

Presuming you are set up, go for hibernate first.
cat /sys/power/state should tell you where you can suspend to

For hibernate, you need resume=<your_swap_partition> e.g. resume=/dev/sda9
sync; echo disk > /sys/power/state should do it. Personally I'm too lazy to chase susspend graphic issues. I have a previous ati chipset (rs690/sb600)

defensorfedei 10-11-2009 11:08 AM

Ok, I am glad to finally get a response. Thanks for that.

I ran cat /sys/power/state which yielded this: standby mem disk

I am not entirely sure what this means since it didn't give me an actually device like /dev/sda4 for example.

I ran nautilus and went to /sys/power and tried opening the "state" and "resume" files to see what was going on. I get an error that no such files exist and they cannot be opened. I am using root privileges to open these files, but the same error. Could this have something to do with my problems?

I also tried tux on ice (suspend2) to try and get it to work. After a good hour of hacking, I got hibernate to work but then it fouled up my system pretty bad. Thank God for Clonezilla!!

Does anyone think that "state" and "resume" file errors are the source of my problem. What should these files say?

Thanks again for any help.

business_kid 10-12-2009 03:51 AM

You have to recompile the kernel for hibernate with
CONFIG_STD_PM_PARTITION=/your/swap

That may help.

defensorfedei 10-12-2009 09:53 AM

Problem Solved....Well Found!!!!!!
 
I have found out that my problem is a confirmed bug for debian based systems using Compiz-fusion. As it turns out, it truly had nothing to do with the proprietary ATI catalyst driver. I checked my kernel modules and discovered that I had everything in order for suspend/hibernate to work. All I needed to change was the priority of my swap partition and then disable all desktop effects by going to SYSTEM->PREFERENCES->APPEARANCE->VISUAL EFFECTS. Then just toggle the no effects button. Or it has been suggested that you use Metacity instead. Here is what I did.

Next open a terminal and type the following:

swapon -s

-You should get something like this:

Filename Type Size Used Priority
/dev/sdb8 partition 2048184 0 1 (don't worry if your swap device is a different number......it could be /dev/sda4 or whatever else it may be in your case). If you get any number lower than one (like 0 or a negative value) then you will have to do the following. In my case, the number was -1.

In the terminal type:

sudo gedit /etc/fstab and make your file look like this one, taking note of the bolded addition.

# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sdb9
UUID=1e603731-5088-4e2f-b239-399b51e437c1 / ext3 relatime,errors=remount-ro,data=writeback 0 1
# /dev/sdb8
UUID=19fcf2e9-ed0d-4d6f-ba27-ad3821d8d533 none swap pri=1 0 0


Then in the terminal type:

sudo swapoff -a to disable swap drive.

sudo swapon -a to re-enable the swap drive.

sudo swapon -s to look at priority level. Where it was a 0 or negative number last time, it should read one now.

Now feel free to try suspend/hibernate and your computer should resume perfectly.

New Fix:

Kudos to the ATI devs for finally getting on top of this one. I downloaded the new ATI fglrx driver from the AMD website. Version 9.9 works perfectly. I can now suspend and resume just fine while leaving compiz enabled. I would still recommend following the instructions in this thread on how to set swap partition priority for hibernation purposes. I also made changes to my acpi-support file just in case. In /etc/default/acpi-support I changed SAVE_VBE_STATE=true to false. It works great. Best of luck

business_kid 10-13-2009 03:14 AM

Now edit the original post and put 'solved' in the subject so people will check it for answers


All times are GMT -5. The time now is 12:05 AM.