Closing lid triggers mirror mode |
|||||||||||
Issue descriptionWhat steps will reproduce the problem? (1) Connect two external displays (2) Close chromebook lid What is the expected result? The external displays should not be in mirror mode. What happens instead? The external displays is in mirror mode. Reason: Closing lid incorrectly triggers tablet mode entering and exiting. Entering tablet mode turns on mirror mode and exiting turns off mirror mode. Since mirror mode toggling is an asynchronous operation, 'mirror-off' request is dropped before 'mirror-on' request is complete.
,
Jan 30 2018
,
Jan 31 2018
+jonross@ Do you know when |tablet_mode_switch_is_on| [1] will be turned on? Whether it works for all devices? I tested on eve, it looks like it is set to true when lid angle goes larger than 300 degree and it is set to false when lid angle goes smaller than 230 degree. Not sure whether this also applies to other device as well? [1] https://cs.chromium.org/chromium/src/ash/wm/tablet_mode/tablet_mode_controller.h?sq=package:chromium&dr&l=216
,
Jan 31 2018
I know it's a hardware signal sent from powerd by supporting devices. My understanding is that it is generated by physical switch that doesn't exist on some older devices (e.g. glimmer, clapper, minnie).
,
Jan 31 2018
+derat@ for comments on powerd That switch should only be triggering on newer convertible devices. (flackr@ lists the exclusions) It also shouldn't be triggering on non-convertibles. If that signal is arriving during lid closure sounds like there's a bug. Since Chrome receives it from powerd derat@ might know more
,
Jan 31 2018
Oh that's not the issue - this is just in the context of resolving accelerometer flakiness I pointed out in the review that we can't rely on that signal existing on all hardware so we would need to detect its existence if we're going to filter more aggressively and rely on the tablet mode switch.
,
Jan 31 2018
powerd just forwards these events on from the kernel. I didn't realize that there's a physical switch on newer hardware rather than a fake switch that the EC derives from accelerometer readings, though. So just to be clear, are incorrect tablet mode switch events being received when the lid is closed or not? The "reason" section in the original description suggests that they are, and that that's why the system is entering mirror mode.
,
Jan 31 2018
Isn't this same as crbug.com/741939 ?
,
Jan 31 2018
Re #7: No the tablet mode switch event is not received when the lid is closed. What happens is: When closing the lid, the lid angle readings look like: [100, 50, 5, 2, 358]. So incorrect readings (due to hardware inaccuracy?) "358" is received before close lid event is received. That's why it triggers tablet mode here [1]. [1] https://cs.chromium.org/chromium/src/ash/wm/tablet_mode/tablet_mode_controller.cc?dr&l=378
,
Jan 31 2018
Re #8, Yes, I think this is the same issue as this bug.
,
Jan 31 2018
please dup, to or from, whichever you like, then.
,
Jan 31 2018
Issue 741939 has been merged into this issue.
,
Feb 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/208b44ca364b93b73286b3364f1700009197afc6 commit 208b44ca364b93b73286b3364f1700009197afc6 Author: Weidong Guo <weidongg@chromium.org> Date: Wed Feb 07 23:13:48 2018 Fix entering mirror mode on docked Background: Mirror mode is turned on upon entering tablet mode. Tablet mode is entered when lid angle is larger than 200 degree. However, closing lid triggers erroneous accelerometer reading which makes the lid appear to be fully open (e.g. 359 degree). So mirror mode is incorrectly turned on. Changes: Ignore unstable lid angle for 2 seconds and only use unstable lid angle to turn on/off tablet mode after that. Bug: 790720 Change-Id: I009901ee88e88fc6df864ceb10263c596c8ed063 Reviewed-on: https://chromium-review.googlesource.com/814936 Reviewed-by: Robert Flack <flackr@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Reviewed-by: Stefan Kuhne <skuhne@chromium.org> Commit-Queue: Weidong Guo <weidongg@chromium.org> Cr-Commit-Position: refs/heads/master@{#535181} [modify] https://crrev.com/208b44ca364b93b73286b3364f1700009197afc6/ash/wm/tablet_mode/tablet_mode_controller.cc [modify] https://crrev.com/208b44ca364b93b73286b3364f1700009197afc6/ash/wm/tablet_mode/tablet_mode_controller.h [modify] https://crrev.com/208b44ca364b93b73286b3364f1700009197afc6/ash/wm/tablet_mode/tablet_mode_controller_unittest.cc
,
Feb 8 2018
,
Feb 21 2018
,
Feb 21 2018
,
Feb 21 2018
This bug requires manual review: We are only 12 days from stable. Please contact the milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 22 2018
,
Feb 22 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ed2f05d4e7fdc00e1a3a69b02dc934a3f43acc3d commit ed2f05d4e7fdc00e1a3a69b02dc934a3f43acc3d Author: Weidong Guo <weidongg@chromium.org> Date: Thu Feb 22 23:09:07 2018 Fix entering mirror mode on docked Background: Mirror mode is turned on upon entering tablet mode. Tablet mode is entered when lid angle is larger than 200 degree. However, closing lid triggers erroneous accelerometer reading which makes the lid appear to be fully open (e.g. 359 degree). So mirror mode is incorrectly turned on. Changes: Ignore unstable lid angle for 2 seconds and only use unstable lid angle to turn on/off tablet mode after that. Bug: 790720 TBR=afakhry@chromium.org,skuhne@chromium.org (cherry picked from commit 208b44ca364b93b73286b3364f1700009197afc6) Change-Id: I1d9fa6394350303730062136c7bfe7a5a6fe98f5 Reviewed-on: https://chromium-review.googlesource.com/814936 Reviewed-by: Robert Flack <flackr@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Reviewed-by: Stefan Kuhne <skuhne@chromium.org> Commit-Queue: Weidong Guo <weidongg@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#535181} Reviewed-on: https://chromium-review.googlesource.com/927213 Reviewed-by: Weidong Guo <weidongg@chromium.org> Cr-Commit-Position: refs/branch-heads/3325@{#559} Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369} [modify] https://crrev.com/ed2f05d4e7fdc00e1a3a69b02dc934a3f43acc3d/ash/wm/tablet_mode/tablet_mode_controller.cc [modify] https://crrev.com/ed2f05d4e7fdc00e1a3a69b02dc934a3f43acc3d/ash/wm/tablet_mode/tablet_mode_controller.h [modify] https://crrev.com/ed2f05d4e7fdc00e1a3a69b02dc934a3f43acc3d/ash/wm/tablet_mode/tablet_mode_controller_unittest.cc |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by weidongg@chromium.org
, Dec 6 2017