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>