Summary: |
[Arrandale] Randr hangs X after a suspend/resume cycle |
Product: |
DRI
|
Reporter: |
Kamil Iskra <kamil.42920> |
Component: |
DRM/Intel | Assignee: |
Chris Wilson <chris> |
Status: |
CLOSED
DUPLICATE
|
QA Contact: |
|
Severity: |
major
|
|
|
Priority: |
high
|
CC: |
jbarnes
|
Version: |
unspecified | |
|
Hardware: |
x86-64 (AMD64) | |
|
OS: |
Linux (All) | |
|
Whiteboard: |
|
i915 platform:
|
|
i915 features:
|
|
Attachments: |
|
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 46986 [details] dmesg I'm seeing "flip queue failed: Invalid argument" type errors if I try to configure displays using xrandr after suspend (S3)/resume. These result in a hang of the X server. Randr works just fine before suspend. This is on Thinkpad x201 i3 (Arrandale), x86_64. xf86-video-intel: 2.15.0 xorg-server: 1.10.1.901 mesa: 7.10.2 libdrm: 2.4.25 kernel: 2.6.39 distro: Gentoo Note: I also saw the same problem with xorg-server 1.9.5 and kernel 2.6.38. The error is highly reproducible (~100%) if I follow the following steps: 1. Boot without any external display attached (LVDS1 only) 2. Attach external display to VGA1. Do *not* activate it. xrandr shows: Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192 LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm 1280x800 60.0*+ 50.1 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA1 connected (normal left inverted right x axis y axis) 1024x768 60.0 800x600 60.3 56.2 848x480 60.0 640x480 59.9 HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis) 3. Suspend (S3) 4. Resume 5. Activate the external display: xrandr --output VGA1 --auto This results in an hang X, and I see the following errors in Xorg.0.log: [ 412.472] (WW) intel(0): flip queue failed: Invalid argument [ 412.557] (WW) intel(0): Page flip failed: Invalid argument [ 424.588] (EE) intel(0): Detected a hung GPU, disabling acceleration. [ 424.588] (EE) intel(0): When reporting this, please include i915_error_state from debugfs and the full dmesg. Note: the problem does not occur if the external display is activated before suspend. It must be inactive, but connected. Alternatively, the external display may be active, but LVDS1 should be off. Basically, it seems that at least one display should be connected, but inactive during suspend for this bug to be triggered. Also, this is related to compositing (I use kwin with kde 4.6.2). If I disable compositing, I don't see the problem, although that's not a complete workaround, because if I perform the above cycle with compositing disabled and *then* enable it, X hangs immediately. So compositing can't be used after resume at all.