2014-11-09 15:40:34 |
Jean-Pierre van Riel |
description |
1)
Mint Version: Linux Mint 17 Cinnamon 32 bit,
Kernel Version: 3.13.0-29-generic
Laptop: Acer Extensa 5220
Chipset: Intel GM965/GL960 (GMA X3100)
Suspected driver at fault: xf86-video-intel
2)
Suspend and resume does not work reliably. After suspending, pressing any key or the power button causes the system to attempt to resume, but during the process it reboots instead of resuming. Only on rare occasions did resume work, so fault appeared intermittent.
After much experimentation the following process confirms the bug is related to the Intel graphics driver and DDX 2D acceleration mode by changing X org config:
- test suspend and resume with Option "AccelMethod" "sna"and resume from suspend often fails and causes reboot
- test suspend and resume with Option "AccelMethod" "uxa" and resume from suspend seems reliable (no reboot noticed yet)
Example config to test with
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
#Option "AccelMethod" "uxa"
Option "AccelMethod" "sna"
EndSection
3) What happened?
Laptop rebooted instead of resuming
4) What you expected to happen instead.
Expected resume to restore current session with windows previously open, etc
5) If the problem happened once, sometimes, or always.
Very frequent. I'd say only 1 in 10 resume attempts (with Option "AccelMethod" "sna") worked and the rest failed and caused a reboot.
6) Other important observations and notes
Attempted to follow some suggestions here: https://01.org/linuxgraphics/documentation/how-debug-suspend-resume-issues-0
- resume from S3 suspend to RAM without mdm (display manager) running appeared to work fine, e.g. 'echo mem > /sys/power/state'
- the default suspend via menu GUI in Cinnamon often caused the resume bug to surface
- S4 hibernation worked fine and didn't seem to trigger the bug
Found several similar bug reports for Intel 965 / X3100 type laptops and Intel drivers in Ubuntu 14.04 and or Kernel 3.13. My suspicion is newer Intel video drivers have caused a number of regressions in the latest Kernels, especially with older Intel Chipsets.
- [TOSHIBA Satellite U400] suspend/resume failure: https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/1290787
- [965gm regression v3.13] TOSHIBA Satellite U400 intel GM965/GL960 suspend/resume failure kernel 3.14 rc7, rc6, 3.13: https://bugs.freedesktop.org/show_bug.cgi?id=76520
- [Dell Inspiron 1525] Cannot resume from suspend: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1331654
- Bug#747247: Problem Solved: https://lists.debian.org/debian-kernel/2014/07/msg00179.html
Similar bugs and fixes for drm/i915 already backported to ubuntu kernel 3.13.0.35
http://changelogs.ubuntu.com/changelogs/pool/main/l/linux/linux_3.13.0-39.66/changelog
* drm/i915: Avoid div-by-zero when pixel_multiplier is zero
- LP: #1347088
So the problem I had was additional issue not yet fixed by those previous patches. During reading up, I noticed that a change had occurred in the default acceleration method lntel drivers a while ago. I stumbled on other bugs like this one:
- Re: Fonts in Firefox "crumble" (Mint 16 Mate RC): http://forums.linuxmint.com/viewtopic.php?f=47&t=151054&start=40
- The workaround/fix was to switch back to "uxa"
After more reading up:
* Three backends backends available for accelerating DDX: UXA, SNA and glamor
* DDX: Device Dependent X, and is part of the 2D graphics device driver which is hardware specific.
* The old methode is UXA - (Unified Acceleration Architecture). More mature and introduced to support the GEM driver model.
* The new methode is SNA - (Sandybridge's New Acceleration). Targets newer chipsets.
* xf86-video-intel X.org driver in 13.1 uses the newer SNA acceleration by default.
My hardware was older (not SandyBridge), so reverting to the UXA acceleration option appears to be a promising workaround as using the SNA (default) option somehow triggers the resume bug. SNA is probably not well suited to or optimised for older graphics like X3100 :-/
A possible solution is for upstream maintainers (or Mint/Ubuntu via a patch) to revert to UXA if older Intel hardware is present and not force the SNA default. The proper fix might be to trace how SNA acceleration causes the suspend resume regression bug to surface, but given the resume crashes and reboots the system, it's hard to find evidence in logs. |
1)
Mint Version: Linux Mint 17 Cinnamon 32 bit,
Kernel Version: 3.13.0-29-generic
Laptop: Acer Extensa 5220
Chipset: Intel GM965/GL960 (GMA X3100)
Suspected driver at fault: xf86-video-intel
2)
Suspend and resume does not work reliably. After suspending, pressing any key or the power button causes the system to attempt to resume, but during the process it reboots instead of resuming. Only on rare occasions did resume work, so fault appeared intermittent.
After much experimentation the following process confirms the bug is related to the Intel graphics driver and DDX 2D acceleration mode by changing X org config:
- test suspend and resume with Option "AccelMethod" "sna"and resume from suspend often fails and causes reboot
- test suspend and resume with Option "AccelMethod" "uxa" and resume from suspend seems reliable (no reboot noticed yet)
Example config to test with
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
#Option "AccelMethod" "uxa"
Option "AccelMethod" "sna"
EndSection
3) What happened?
Laptop rebooted instead of resuming
4) What you expected to happen instead.
Expected resume to restore current session with windows previously open, etc
5) If the problem happened once, sometimes, or always.
Very frequent. I'd say only 1 in 10 resume attempts (with Option "AccelMethod" "sna") worked and the rest failed and caused a reboot.
6) Other important observations and notes
Attempted to follow some suggestions here: https://01.org/linuxgraphics/documentation/how-debug-suspend-resume-issues-0
- resume from S3 suspend to RAM without mdm (display manager) running appeared to work fine, e.g. 'echo mem > /sys/power/state'
- the default suspend via menu GUI in Cinnamon often caused the resume bug to surface
- S4 hibernation worked fine and didn't seem to trigger the bug
Found several similar bug reports for Intel 965 / X3100 type laptops and Intel drivers in Ubuntu 14.04 and or Kernel 3.13. My suspicion is newer Intel video drivers have caused a number of regressions in the latest Kernels, especially with older Intel Chipsets.
- [TOSHIBA Satellite U400] suspend/resume failure: https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/1290787
- [965gm regression v3.13] TOSHIBA Satellite U400 intel GM965/GL960 suspend/resume failure kernel 3.14 rc7, rc6, 3.13: https://bugs.freedesktop.org/show_bug.cgi?id=76520
- [Dell Inspiron 1525] Cannot resume from suspend: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1331654
- Bug#747247: Problem Solved: https://lists.debian.org/debian-kernel/2014/07/msg00179.html
Similar bugs and fixes for drm/i915 already backported to ubuntu kernel 3.13.0.35
http://changelogs.ubuntu.com/changelogs/pool/main/l/linux/linux_3.13.0-39.66/changelog
* drm/i915: Avoid div-by-zero when pixel_multiplier is zero
- LP: #1347088
So the problem I had was additional issue not yet fixed by those previous patches. During reading up, I noticed that a change had occurred in the default acceleration method lntel drivers a while ago. I stumbled on other bugs like this one:
- Re: Fonts in Firefox "crumble" (Mint 16 Mate RC): http://forums.linuxmint.com/viewtopic.php?f=47&t=151054&start=40
- The workaround/fix was to switch back to "uxa"
After more reading up:
* Three backends backends available for accelerating DDX: UXA, SNA and glamor
* DDX: Device Dependent X, and is part of the 2D graphics device driver which is hardware specific.
* The old methode is UXA - (Unified Acceleration Architecture). More mature and introduced to support the GEM driver model.
* The new methode is SNA - (Sandybridge's New Acceleration). Targets newer chipsets.
* Ubuntu 14.04 xf86-video-intel X.org driver uses the newer SNA acceleration by default.
My hardware was older (not SandyBridge), so reverting to the UXA acceleration option appears to be a promising workaround as using the SNA (default) option somehow triggers the resume bug. SNA is probably not well suited to or optimised for older graphics like X3100 :-/
A possible solution is for upstream maintainers (or Mint/Ubuntu via a patch) to revert to UXA if older Intel hardware is present and not force the SNA default. The proper fix might be to trace how SNA acceleration causes the suspend resume regression bug to surface, but given the resume crashes and reboots the system, it's hard to find evidence in logs. |
|