Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 May 2014 18:45:42 +0300
From:      Arto Pekkanen <isoa@kapsi.fi>
To:        freebsd-x11@freebsd.org
Subject:   Acer laptop with Intel HD3000 + nVidia (Optimus), massive issues with S3 suspend and resume (10.0-RELEASE-p2 GENERIC, i915kms etc)
Message-ID:  <53778426.7020906@kapsi.fi>

next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--HLLIJCjakx93GlkOsULkPEFl0Gb3iDlik
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Like the subject states, laptop's LCD turns off permanently after S3 resu=
me.

Here are the use cases in which this happens.



=3D> CASE 1: boot without HDMI

When I do `acpiconf -S3`, the system suspends to RAM just as it should. B=
ut when I resume (by pressing power button or any key), LCD turns on only=
 for a few seconds, after which the LCD powers off by itself.

If I was in X.org, I can see the previous framebuffer contents on the scr=
een during the few seconds the LCD is on.

And when I mean the LCD turns off, I mean it goes completely dead, as if =
I had closed the lid on the device!

I tried the following:
1) sysctl hw.syscons.sc_no_suspend_vtswitch=3D1
2) sysctl hw.acpi.reset_video=3D1
3) sysctl hw.acpi.sleep_delay=3D5

=2E. but no combination of these help.

I can SSH into the laptop and do whatever; kernel did not panic, everythi=
ng works. It's just that LVDS is not powered back on, even if it definite=
ly should.



=3D> CASE 2: boot without HDMI, connect HDMI after boot

This case is the same as previous, with one exception: if I configure HDM=
I output with xrandr so that I get signal on the external display, then d=
o S3 suspend, the device locks up after S3 resume: HDMI loses signal, LCD=
 turns on but with blank screen, device does not react to power button, a=
ssuming kernel crash.

IMPORTANT NOTE: if I configure HDMI output AFTER S3 resume, the framebuff=
er is corrupted, I get garbled output on the external.

Restarting X.org does not help, it just makes X.org unresponsive to xrand=
r or any other commands, it cannot be killed with -9 either. When this ha=
ppened, I got the following interesting dmesg:

i915_gem_object_put_fence: pin_count -1
error: [drm:pid1320:intel_lvds_disable] *ERROR* timed out waiting for pan=
el to power off
error: [drm:pid1320:intel_lvds_disable] *ERROR* timed out waiting for pan=
el to power off
error: [drm:pid1577:intel_lvds_enable] *ERROR* timed out waiting for pane=
l to power off
error: [drm:pid12:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed=
=2E.. GPU hung
info: [drm] capturing error event; look for more information in sysctl hw=
=2Edri.0.info.i915_error_state

The i915_error_state from this occurrence can be viewed with the followin=
g link:
https://app.younited.com/?shareObject=3Db39812ee-5dc7-235e-7996-905e66ddf=
5b1



=3D> CASE 3: boot with HDMI connected

Another problem is that when I boot the laptop with HDMI connected, LCD s=
tays turned off and all output goes to HDMI display. It is the BIOS that =
forcefully redirects output to HDMI. Furthermore, LVDS (LCD) cannot be po=
wered on! I tried `xrandr --output LVDS1 --left-of HDMI1 --auto`, the res=
ult was that a "screen" was acquired in LVDS but the LCD stays turned off=
=2E

With HDMI connected at boot, S3 suspend and resume work perfectly, but ON=
LY IF I had syscons console on the screen. If I had X.org and HDMI connec=
ted when S3 suspending, after S3 resume HDMI loses signal, LVDS is turned=
 on but there is NO output in it. I also assume kernel crashed  because I=
 cannot get SSH, nor does the system react to pressing the power button. =
The only option is to force power off by long-pressing power button.

The by tailing /var/log/messages I did not see any errors in dmesg.

X.org log reported the following:
[  1010.471] (II) AIGLX: Suspending AIGLX clients for VT switch
[  1010.471] (WW) intel(0): drmDropMaster failed: Unknown error: -22

Hmm, interesting?=20

I also tried `hw.syscons.sc_no_suspend_vtswitch=3D1`, and tried S3 suspen=
d. After S3 resume, HDMI loses signal, LVDS is turned on with blank scree=
n, device does not react to anything so assuming kernel crash.=20

The only difference was X.org log:
[   350.423] (EE) intel(0): Failed to submit batch buffer, expect renderi=
ng corruption: Device busy.

Since there was no vt switch, the i915kms driver managed to do something =
else, and reported failure to submit batch buffer, what ever that means .=
=2E.



As a final note, I remember I did not have this issue on 9.2-RELEASE a lo=
ng time ago. I had to update to 10.0-RELEASE because in 9.x the video pla=
yback was horribly choppy.

Regarding these issues I have the following questions:
1) Is this issue fixed in 10-STABLE ?
2) Is this issue fixed in CURRENT ?
3) What more can I do to fix this problem, considering that I am not a so=
ftware developer? I can submit more info for devs etc ...
4) Do I have to wait till i915kms is updated in par with Linux 3.8, or is=
 there any way to get around these problems?

--=20
Arto Pekkanen, s=E4=E4t=E4j=E4
ksym@IRCnet


--HLLIJCjakx93GlkOsULkPEFl0Gb3iDlik
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (MingW32)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iF4EAREIAAYFAlN3hC8ACgkQTBivhqtJa26Q7gEAm7t9lK3vJFYjom+DdY6hNuIi
vyp1JcucXKdFIX5R1OQBALHFVBRt/q4re2LmXweAH6rkoDpngV345oxR+jdO/nvb
=GcgZ
-----END PGP SIGNATURE-----

--HLLIJCjakx93GlkOsULkPEFl0Gb3iDlik--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53778426.7020906>