OpenSUSE 13.2 x64 black screen after suspend (ATI)

Hello, I can’t resume after suspending to RAM, the screen remains black and nothing seems to respond.
I have an ATI Radeon HD 6570 with fglrx propietary drivers:


# hwinfo --gfxcard
22: PCI 100.0: 0300 VGA compatible controller (VGA)             
  [Created at pci.328]
  Unique ID: VCu0.ZuUMzyPznn6
  Parent ID: vSkL.Z3S5Iv5XhrA
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "ATI Turks [Radeon HD 6570]"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0x6759 "Turks [Radeon HD 6570]"
  SubVendor: pci 0x1682 "XFX Pine Group Inc."
  SubDevice: pci 0x3191 
  Driver: "fglrx_pci"
  Driver Modules: "fglrx"
  Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable)
  Memory Range: 0xfbec0000-0xfbedffff (rw,non-prefetchable)
  I/O Ports: 0xee00-0xeeff (rw)
  Memory Range: 0xfbe00000-0xfbe1ffff (ro,non-prefetchable,disabled)
  IRQ: 47 (107016 events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v00001002d00006759sv00001682sd00003191bc03sc00i00"
  Driver Info #0:
    Driver Status: radeon is not active
    Driver Activation Cmd: "modprobe radeon"
  Driver Info #1:
    Driver Status: fglrx is active
    Driver Activation Cmd: "modprobe fglrx"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #10 (PCI bridge)

Primary display adapter: #22

I ran pm-suspend and this is the resulting log in /var/log/pm-suspend.log


Initial commandline parameters: 
Sun Mar 29 21:30:54 ART 2015: Running hooks for suspend.
Running hook /usr/lib/pm-utils/sleep.d/00logging suspend suspend:
suspend initiated: Sun Mar 29 21:30:54 ART 2015

Linux nacho-pc 3.16.7-7-desktop #1 SMP PREEMPT Wed Dec 17 18:00:44 UTC 2014 (762f27a) x86_64 x86_64 x86_64 GNU/Linux
kernel command line: 'BOOT_IMAGE=/boot/vmlinuz-3.16.7-7-desktop root=UUID=2f8f4935-e1b6-4522-a0f6-5bfc7a3b0fa5 resume=/dev/disk/by-id/ata-Samsung_SSD_840_EVO_250GB_S1DBNSAF905927M-part4 splash=silent quiet showopts elevator=deadline libata.force=noncq libata.dma=0'
Module                  Size  Used by
ctr                    13049  1 
ccm                    17773  1 
xt_pkttype             12504  3 
xt_LOG                 17718  10 
xt_limit               12711  10 
af_packet              40034  8 
ip6t_REJECT            12939  3 
xt_tcpudp              12884  3 
nf_conntrack_ipv6      14798  3 
nf_defrag_ipv6         34768  1 nf_conntrack_ipv6
ip6table_raw           12683  1 
ipt_REJECT             12541  3 
iptable_raw            12678  1 
xt_CT                  12956  4 
iptable_filter         12810  1 
ip6table_mangle        12700  0 
nf_conntrack_netbios_ns    12665  0 
nf_conntrack_broadcast    12589  1 nf_conntrack_netbios_ns
nf_conntrack_ipv4      14806  3 
nf_defrag_ipv4         12758  1 nf_conntrack_ipv4
ip_tables              27240  2 iptable_filter,iptable_raw
xt_conntrack           12760  6 
nf_conntrack          114273  6 xt_CT,nf_conntrack_netbios_ns,xt_conntrack,nf_conntrack_broadcast,nf_conntrack_ipv4,nf_conntrack_ipv6
ip6table_filter        12815  1 
ip6_tables             27026  3 ip6table_filter,ip6table_mangle,ip6table_raw
x_tables               34059  15 xt_pkttype,ip6table_filter,xt_CT,ip6table_mangle,ip_tables,xt_tcpudp,xt_limit,xt_conntrack,xt_LOG,iptable_filter,ip6table_raw,ipt_REJECT,ip6_tables,iptable_raw,ip6t_REJECT
arc4                   12608  2 
rtl8192cu             102323  0 
rtl_usb                22973  1 rtl8192cu
rtlwifi                95392  2 rtl_usb,rtl8192cu
rtl8192c_common        75191  1 rtl8192cu
mac80211              691383  3 rtl_usb,rtlwifi,rtl8192cu
cfg80211              547052  2 mac80211,rtlwifi
rfkill                 26772  2 cfg80211
gpio_ich               13586  0 
iTCO_wdt               13480  0 
iTCO_vendor_support    13718  1 iTCO_wdt
ppdev                  17671  0 
x86_pkg_temp_thermal    14205  0 
intel_powerclamp       18823  0 
coretemp               13441  0 
kvm_intel             151748  0 
snd_hda_codec_realtek    78078  1 
kvm                   501446  1 kvm_intel
crct10dif_pclmul       14268  0 
crc32_pclmul           13133  0 
crc32c_intel           22094  0 
ghash_clmulni_intel    13230  0 
aesni_intel           152552  2 
aes_x86_64             17131  1 aesni_intel
lrw                    13286  1 aesni_intel
gf128mul               14951  1 lrw
glue_helper            13990  1 aesni_intel
ablk_helper            13597  1 aesni_intel
cryptd                 16263  3 ghash_clmulni_intel,aesni_intel,ablk_helper
snd_hda_codec_generic    77129  1 snd_hda_codec_realtek
snd_hda_codec_hdmi     55740  1 
pcspkr                 12718  0 
serio_raw              13434  0 
i2c_i801               22454  0 
snd_hda_intel          34475  0 
snd_hda_controller     35103  1 snd_hda_intel
snd_hda_codec         151970  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
snd_hwdep              13602  1 snd_hda_codec
lpc_ich                21093  0 
mfd_core               13435  1 lpc_ich
snd_pcm               116857  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
atl1c                  50197  0 
snd_timer              33609  1 snd_pcm
snd                    87947  8 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
soundcore              15047  2 snd,snd_hda_codec
mei_me                 23664  0 
mei                    96067  1 mei_me
shpchp                 32951  0 
parport_pc             41414  0 
parport                46395  2 ppdev,parport_pc
processor              40484  0 
dm_mod                111114  0 
sr_mod                 22416  0 
cdrom                  60734  1 sr_mod
fglrx               11088774  43 
uas                    27255  0 
usb_storage            62302  1 uas
xhci_hcd              178893  0 
amd_iommu_v2           18909  1 fglrx
button                 13971  1 fglrx
sg                     40630  0 

             total       used       free     shared    buffers     cached
Mem:       8173748     907900    7265848      16692      48124     512272
-/+ buffers/cache:     347504    7826244
Swap:      8388604          0    8388604


/usr/lib/pm-utils/sleep.d/00logging suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00powersave suspend suspend:

/usr/lib/pm-utils/sleep.d/00powersave suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/02rtcwake suspend suspend:
rtcwake alarm not enabled in /etc/pm/config.d/rtcwake.config, doing nothing...

/usr/lib/pm-utils/sleep.d/02rtcwake suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/06autofs suspend suspend:
autofs.service - Automounts filesystems on demand
   Loaded: loaded (/usr/lib/systemd/system/autofs.service; disabled)
   Active: inactive (dead)
     Docs: man:automount(8)
           man:autofs(5)


/usr/lib/pm-utils/sleep.d/06autofs suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/30s2disk-check suspend suspend:

/usr/lib/pm-utils/sleep.d/30s2disk-check suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/45pcmcia suspend suspend:

/usr/lib/pm-utils/sleep.d/45pcmcia suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/50rcnetwork suspend suspend:

/usr/lib/pm-utils/sleep.d/50rcnetwork suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/75modules suspend suspend:

/usr/lib/pm-utils/sleep.d/75modules suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/90clock suspend suspend:

/usr/lib/pm-utils/sleep.d/90clock suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend:

/usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/95led suspend suspend:

/usr/lib/pm-utils/sleep.d/95led suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend:
ATI Catalyst driver detected, not using quirks.

/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/99Zgrub suspend suspend:

/usr/lib/pm-utils/sleep.d/99Zgrub suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/99info suspend suspend:

/usr/lib/pm-utils/sleep.d/99info suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:

/usr/lib/pm-utils/sleep.d/99video suspend suspend: success.
Sun Mar 29 21:30:55 ART 2015: performing suspend
INFO: using built-in quirks database from HAL.
INFO: S2RAM_OPTS from HAL quirks: ' '.

Try to set HIBERNATE_RESUME_POST_VIDEO=“yes” in /etc/pm/config.d/ (just create a file with that content).
And/or Setting SLEEP_MODULE=“kernel” might help too.

You could also try to uninstall pm-utils, they are deprecated anyway and just (still) used for compatibility.
To suspend, run “systemctl suspend” (note that if pm-utils are installed, this uses pm-utils).

Try to set HIBERNATE_RESUME_POST_VIDEO=“yes” in /etc/pm/config.d/ (just create a file with that content).
And/or Setting SLEEP_MODULE=“kernel” might help too.

There’s a file in /etc/pm/config.d/ called rtcwake.config, should I add those lines on that file or create a new one? in that case with which name?

[QUOTE=itaranto7;2702321]There’s a file in /etc/pm/config.d/ called rtcwake.config, should I add those lines on that file or create a new one?
Create a new one.

in that case with which name?

The name doesn’t matter. But it has to end with “.config”, I think.

I tried creating <someName>.config file in /etc/pm/config.d/ with:

HIBERNATE_RESUME_POST_VIDEO="yes"
SLEEP_MODULE="kernel"

and it didn’t work.

Also tried uninstalling pm-utils, didn’t work either.

There’s the dir /etc/pm/sleep.d/, should I put the config file there instead?

No, that’s for scripts to be called before suspend/after resume.
You could try to change /usr/lib/pm-utils/default accordingly.
But note that this has only any effect when pm-utils are installed.

If the pm-utils config change and uninstalling pm-utils doesn’t help, I cannot help you either. Sorry.

Does it work without fglrx? Such things are most of the time related to proprietary drivers…
In that case you probably should report it to AMD.

Sometimes a BIOS update might help in such cases too.

I suspect you are running into the same issue like I. Look here https://forums.opensuse.org/showthread.php/505652-Laptop-sporadically-failing-to-suspend-and-hard-lockup?p=2698258#post2698258

Regards
Telephos

No, that’s for scripts to be called before suspend/after resume.
You could try to change /usr/lib/pm-utils/default accordingly.
But note that this has only any effect when pm-utils are installed.

If the pm-utils config change and uninstalling pm-utils doesn’t help, I cannot help you either. Sorry.

Does it work without fglrx? Such things are most of the time related to proprietary drivers…
In that case you probably should report it to AMD.

Sometimes a BIOS update might help in such cases too.

Mmm look, I tried with a openSUSE KDE live CD and suspend didnt work either.

The BIOS is updated and suspend to RAM/Disk works fine on windows 7.

Thanks wolfi, I guess I’ll start reading some related post about this.

I suspect you are running into the same issue like I. Look here https://forums.opensuse.org/showthre…58#post2698258

Thanks Telephos, but I’m afraid the post is about Intel drivers, and the workaround provided is for that hardware.

Well, then the problem is probably not related to the graphics driver.

You could try a newer kernel, maybe that helps?
The latest one is available here:
http://download.opensuse.org/Kernel:/stable/standard
And it would make sense to try with and without pm-utils again in that case I suppose.

As kernel multiversions is enabled by default, you can install more than one at once, so you’d still be able to boot the older (standard) on via “Advanced Options” in the boot menu.
Use e.g. YaST’s “Versions” tab to remove specific versions.

Hi again, I’ve been wondering with this issue again, I’ve tried several distros with a live USB stick. I’ve tried Ubuntu 14.04.2, Linux Mint 17, Debian 7, Fedora 22 Beta, openSUSE 13.1, 12.3 and still happens.
The range of kernel versions here varies from 3.7 to 4.0. I don’t think this is a kernel issue.
Also, this also proves that the issue appears both with open source drivers as with the proprietary one. (I only used the open source driver with live CDs, is this ok?).

Maybe my video card isn’t well supported, but I remember that suspend used to work in openSUSE 12.X. I will try one more time with 12.1.

Again, this works fine on Windows 7. The suspend type is set to S3 from the BIOS.

Not to add anything of use, but just a “me too”. Except that mine has the the same issue with MSWin10 as well. It USED to behave perfectly, I don’t use it, because of this issue which is slightly annoying. One small thing, what IS the correct method to wake from sleep? Is there a key-combo? Or should I just briefly hit the power switch?
My HW is in my sig

As far as I know Win10 is not released yet, have you tried Win7?

You can wake from suspend by clicking the mouse, pressing a key or pressing the power button.