Users are reporting external displays goes unexpectedly to mirror mode while in desktop mode |
||||||
Issue description"I noticed every once in a while, my monitor would disconnect and reconnect itself. And about every other time, it would forget my monitor settings and reconnect in mirrored display mode instead of extending my desktop." The display is 4k. User didn't observe tablet mode UI when display was mirroring. Investigate this issue.
,
Jan 8
This has been reported on both eve and nocturne.
,
Jan 9
Have had this happen twice since I received my Slate (m3) a week ago. Slate is plugged into USB-C hub that connects to external monitor via HDMI. I have used the same exact equipment with my Pixelbook for the last year with no issues.
,
Jan 9
FYI, I've received many reports of this lately. Let me take a look ...
,
Jan 9
Other reports: - https://listnr.corp.google.com/product/5015361/report/85810007669 - b/119135229. - b/119184622.
,
Jan 9
This might have been introduced by this: https://chromium-review.googlesource.com/c/chromium/src/+/831666/ The tricky part is to repro myself.
,
Jan 9
Looking at the report in https://listnr.corp.google.com/product/5015361/report/85810007669, the display info is as follows: "display": { "external_display_mirror_info": [ "9835015645342464" ], "mixed_mirror_mode_param": {}, "port_associations": {}, "power_state": "all_on", "properties": { "3": { "display_zoom_factor": 1, "rotation": 0, "ui-scale": -1000 }, "22905026229829632": { "display_zoom_factor": 0.8999999761581421, "rotation": 0, "ui-scale": -1000 }, "9835015645342467": { "display_zoom_factor": 1, "rotation": 0, "ui-scale": -1000 } }, "rotation_lock": { "lock": false, "orientation": 0 }, "secondary_displays": { "22905026229829632,3": { "default_unified": false, "display_placement": [ { "display_id": "3", "offset": 226, "parent_display_id": "22905026229829632", "position": "top" } ], "primary-id": "22905026229829632" }, "22905026229829632,9835015645342467": { "default_unified": false, "display_placement": [ { "display_id": "22905026229829632", "offset": 487, "parent_display_id": "9835015645342467", "position": "bottom" } ], "primary-id": "9835015645342467" } }, "touch_associations": {} }, The "external_display_mirror_info" contains the ID 9835015645342464, which is in hex == 0x22F0E505E6AB00. This is the external display's masked ID (the least significant 8-bit port index is masked off). This means whenever this display gets connected as the first external display, we will mirror: https://cs.chromium.org/chromium/src/ui/display/manager/display_manager.cc?type=cs&q=ShouldSetMirrorModeOn&g=0&l=1308-1329 ....
,
Jan 10
From this report: https://listnr.corp.google.com/product/5015361/report/85770223964, we can also see from the display prefs that `external_display_mirror_info` has a display in it. I suspect this is related. I also suspect that involves 2 external displays. I can't get it to repro locally unfortunately, although I tried several scenarios. I will keep looking. "display": { "external_display_mirror_info": [ "9834342374781184" ], "mixed_mirror_mode_param": {}, "port_associations": {}, "power_state": "all_on", "properties": { "22905026229829632": { "display_zoom_factor": 0.8999999761581421, "rotation": 0, "ui-scale": -1000 }, "9834342374781189": { "display_zoom_factor": 1, "rotation": 0, "ui-scale": -1000 }, "9834342374781190": { "display_zoom_factor": 1, "rotation": 3, "ui-scale": -1000 } }, "rotation_lock": { "lock": false, "orientation": 0 }, "secondary_displays": { "22905026229829632,9834342374781189,9834342374781190": { "default_unified": false, "display_placement": [ { "display_id": "9834342374781189", "offset": -561, "parent_display_id": "22905026229829632", "position": "top" }, { "display_id": "9834342374781190", "offset": -374, "parent_display_id": "9834342374781189", "position": "right" } ], "primary-id": "22905026229829632" }, "9834342374781189,9834342374781190": { "default_unified": true, "display_placement": [ { "display_id": "9834342374781190", "offset": 0, "parent_display_id": "9834342374781189", "position": "right" } ], "primary-id": "9834342374781189" } }, "touch_associations": {} },
,
Jan 10
+gckeller +cheryljones +stevenkan Can you please describe your display setup? - How many displays are connected? - Display brands and cables/connectors? - Do you set one of the external displays as the primary? - Are you using an external mouse (prevents going into tablet mode)? - Are you using a hub or a dock? Which one? - Have you ever used mirror mode intentionally (not the automatic switch to mirror mode that happens upon switching to tablet mode)?
,
Jan 10
Also: - Are you using a Bluetooth keyboard such as the G-Type BRYDGE keyboard?
,
Jan 11
I've bumped into this too on both eve and cave. I posted a Q about it with some more details on the community here: https://support.google.com/chromebook/thread/968022 For what it's worth, here are the answers to your questions: - How many displays are connected? One. But for some reason, it is appearing as *two* displays (see details and screenshot in the community post linked above). - Display brands and cables/connectors? Asus MB16AC, with bundled cable. - Do you set one of the external displays as the primary? No. - Are you using an external mouse (prevents going into tablet mode)? Yes. Logitech M720 connected via bluetooth. - Are you using a hub or a dock? Which one? No. - Have you ever used mirror mode intentionally (not the automatic switch to mirror mode that happens upon switching to tablet mode)? No. - Are you using a Bluetooth keyboard such as the G-Type BRYDGE keyboard? Yes. Logitech K380. Perhaps also of interest, today I updated the cave machine to 72.0.3626.49 (beta), and the monitor now shows up as just a single display, and I can no longer reproduce this on that machine. The eve machine is on 71.0.3578.98 (stable), and I can still reproduce it reliably there.
,
Jan 11
- How many displays are connected? >> 1 external display - Display brands and cables/connectors? >>HP Z30i display, "monoprice" brand HDMI cable, arktek USBC-HDMI dongle (https://www.amazon.com/gp/product/B073GS288R/ref=oh_aui_search_asin_title?ie=UTF8&psc=1) - Do you set one of the external displays as the primary? >>Yes, primary - Are you using an external mouse (prevents going into tablet mode)? >>No - Are you using a hub or a dock? Which one? >>No - Have you ever used mirror mode intentionally (not the automatic switch to mirror mode that happens upon switching to tablet mode)? >>No
,
Jan 11
Thank you all for your feedback. https://listnr.corp.google.com/product/5015361/report/85901605164
,
Jan 11
Hi, I am using one external monitor (Google JN32A) connected via a USB hub (Moshi which I have through dogfood). The cable is a Monoprice DisplayPort to HDMI (not sure of model number). - Do you set one of the external displays as the primary? No - Are you using an external mouse (prevents going into tablet mode)? No - Are you using a hub or a dock? Which one? Yes, see above. - Have you ever used mirror mode intentionally (not the automatic switch to mirror mode that happens upon switching to tablet mode)? No
,
Jan 11
This report https://listnr.corp.google.com/product/5015361/report/85901605164 is actually very useful. My initial suspicion that it's related to a buggy tablet mode detection might be correct. Details below. User in #11 mentions that this issue repros only on M-71. All other reports I've seen so far are from M-71. +xdai@ +bleung@ I remember you were fixing bugs in tablet mode detection. +derat@ if he can spot something else that I can't see from powerd. ---->> Details ---->>> The user's display prefs contain: "external_display_mirror_info": [], "mixed_mirror_mode_param": {}, Meaning that no external display is considered auto-switch to mirror mode. However looking at powerd logs, we can find that the device switched to tablet mode shortly after the lid opened (note the time stamp of *********): [0111/163300:INFO:daemon.cc(1077)] Chrome is using normal display mode [0111/163300:INFO:daemon.cc(464)] Lid opened [0111/163300:INFO:input_device_controller.cc(287)] Configuring devices for mode "laptop" [0111/163300:INFO:input_device_controller.cc(216)] Un-inhibiting /sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-6/i2c-WCOM50C1:00/0018:2D1F:5143.0001/input/input4 [0111/163300:INFO:input_device_controller.cc(216)] Un-inhibiting /sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-6/i2c-WCOM50C1:00/0018:2D1F:5143.0001/input/input5 [0111/163300:INFO:input_device_controller.cc(216)] Un-inhibiting /sys/devices/pci0000:00/0000:00:15.2/i2c_designware.2/i2c-8/i2c-ACPI0C50:00/0018:18D1:5028.0003/input/input9 [0111/163300:WARNING:input_device_controller.cc(199)] No power/wakeup sysattr available for /sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-6/i2c-WCOM50C1:00/0018:2D1F:5143.0001/input/input5 [0111/163300:WARNING:input_device_controller.cc(199)] No power/wakeup sysattr available for /sys/devices/pci0000:00/0000:00:15.2/i2c_designware.2/i2c-8/i2c-ACPI0C50:00/0018:18D1:5028.0003/input/input9 [0111/163300:INFO:input_device_controller.cc(203)] Enabling wakeup for /sys/devices/platform/i8042/serio0/input/input3 through /sys/devices/platform/i8042/serio0 [0111/163300:INFO:input_device_controller.cc(203)] Enabling wakeup for /sys/devices/platform/i8042/serio0/input/input3/event3 through /sys/devices/platform/i8042/serio0 [0111/163300:INFO:daemon.cc(750)] On battery at 96% (displayed as 99%), 5.234/5.471Ah at 0.297A, 0s until empty (calculating) [0111/163300:INFO:activity_logger.cc(20)] Hovering started [0111/163300:INFO:keyboard_backlight_controller.cc(550)] Setting brightness to 60 (60%) over 200 ms [0111/163303:INFO:ambient_light_handler.cc(252)] Transitioning panel to 47.62% (step 1) for lux 183 [507 507 0 0 0 0 0 0 0 0 ...] [0111/163303:INFO:ambient_light_handler.cc(252)] Transitioning keyboard to 0% (step 1) for lux 183 [507 507 0 0 0 0 0 0 0 0 ...] [0111/163303:INFO:keyboard_backlight_controller.cc(550)] Setting brightness to 0 (0%) over 2000 ms [0111/163303:INFO:keyboard_backlight_controller.cc(550)] Setting brightness to 0 (0%) over 200 ms [0111/163305:INFO:daemon.cc(750)] On battery at 96% (displayed as 99%), 5.233/5.471Ah at 0.400A, 7h26m47s until empty (7h12m46s until shutdown) [0111/163314:INFO:daemon.cc(1077)] Chrome is using presentation display mode [0111/163314:INFO:state_controller.cc(944)] Updated settings: dim=1m screen_off=1m10s lock=1m20s idle_warn=0s idle=7m (suspend) lid_closed=no-op use_audio=1 use_video=1 wake_locks= [0111/163316:INFO:suspend_delay_controller.cc(62)] Registering suspend delay 79560713 (DisplayLinkSuspendHandle) of 30000 ms on behalf of :1.148 [0111/163316:INFO:daemon.cc(750)] On AC (Mains, 5.0V) with battery at 96% (displayed as 99%), 5.231/5.471Ah at 0.818A, 0s until empty (calculating) [0111/163316:INFO:state_controller.cc(944)] Updated settings: dim=1m screen_off=1m10s lock=1m20s idle_warn=0s idle=9m (suspend) lid_closed=no-op use_audio=1 use_video=1 wake_locks= [0111/163317:INFO:daemon.cc(750)] On AC (Mains, 20.3V) with battery at 100%, 5.471/5.471Ah at 1.403A, full [0111/163317:INFO:daemon.cc(1077)] Chrome is using presentation display mode [0111/163318:INFO:daemon.cc(750)] On AC (USB_PD, 20.2V, max 2.2A at 20.0V) with battery at 100%, 5.471/5.471Ah at 0.191A, full [0111/163321:INFO:daemon.cc(750)] On AC (USB_PD, 20.2V, max 2.2A at 20.0V) with battery at 100%, 5.471/5.471Ah at 1.561A, full [0111/163321:INFO:input_watcher.cc(420)] Watching power button: /dev/input/event11 [0111/163321:INFO:input_watcher.cc(491)] Input device /dev/input/event11 is not wake-capable [0111/163321:INFO:daemon.cc(1077)] Chrome is using presentation display mode [0111/163326:INFO:activity_logger.cc(20)] Hovering stopped 20 sec ago [0111/163336:INFO:activity_logger.cc(20)] User activity reported [0111/163339:INFO:daemon.cc(1077)] Chrome is using presentation display mode ********* [0111/163339:INFO:daemon.cc(494)] Tablet mode on ********* [0111/163339:INFO:input_device_controller.cc(287)] Configuring devices for mode "tablet" [0111/163339:INFO:input_device_controller.cc(216)] Un-inhibiting /sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-6/i2c-WCOM50C1:00/0018:2D1F:5143.0001/input/input4 [0111/163339:INFO:input_device_controller.cc(216)] Un-inhibiting /sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-6/i2c-WCOM50C1:00/0018:2D1F:5143.0001/input/input5 [0111/163339:INFO:input_device_controller.cc(216)] Inhibiting /sys/devices/pci0000:00/0000:00:15.2/i2c_designware.2/i2c-8/i2c-ACPI0C50:00/0018:18D1:5028.0003/input/input9 [0111/163339:WARNING:input_device_controller.cc(199)] No power/wakeup sysattr available for /sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-6/i2c-WCOM50C1:00/0018:2D1F:5143.0001/input/input5 [0111/163339:INFO:input_device_controller.cc(203)] Disabling wakeup for /sys/devices/platform/i8042/serio0/input/input3 through /sys/devices/platform/i8042/serio0 [0111/163339:INFO:input_device_controller.cc(203)] Disabling wakeup for /sys/devices/platform/i8042/serio0/input/input3/event3 through /sys/devices/platform/i8042/serio0 [0111/163339:INFO:daemon.cc(709)] Enabling tablet mode wifi transmit power ---->>>>> From the chrome user logs: the display configurator says that software mirroring is enforced at a matching timestamp, which can only mean tablet mode is on, since "mixed_mirror_mode_param": {} is empty in the display prefs: https://cs.chromium.org/chromium/src/ui/display/manager/display_configurator.cc?type=cs&q=DisplayConfigurator::DisplayLayoutManagerImpl::GetDisplayLayout&g=0&l=294 and https://cs.chromium.org/chromium/src/ui/display/manager/display_manager.cc?type=cs&q=DisplayManager::IsSoftwareMirroringEnforced&g=0&l=1449 [1388:1388:0111/163313.708236:VERBOSE1:drm_display_host_manager.cc(248)] Got display event CHANGE for /dev/dri/card0 [1388:1388:0111/163314.741332:WARNING:display_configurator.cc(295)] Ignoring request to enter hardware mirror mode because software mirroring is enforced [1388:1388:0111/163316.443515:VERBOSE1:drm_display_host_manager.cc(248)] Got display event CHANGE for /dev/dri/card2 [1388:1388:0111/163317.451504:WARNING:display_configurator.cc(295)] Ignoring request to enter hardware mirror mode because software mirroring is enforced
,
Jan 12
Your interpretation of the powerd logs looks correct to me: the kernel told powerd that tablet mode was enabled 39 seconds after the lid was opened.
,
Jan 12
I suspect those logs may have come from me (I submitted an Alt+Shift+I report at around the time in those logs). If that's the case, the fact that tablet mode was enabled *may* not have been an error. When using it with the external keyboard, mouse, and monitor, I flip the keyboard under into "stand mode". I assume that would switch it to tablet mode? If it would help, I can try working with it in "laptop mode" to see if I can reproduce it (I left the monitor at work, so I might not have a chance to do this until Monday). I'll also try switching the eve device to the beta channel and upgrading to 72 to see if that resolves it in case that's useful.
,
Jan 13
Please cc nkolluru@ Question to those affected: are you folding over the device into "slate" configuration, when docking it? Are you using an external USB or BT KB/M? It might be worth checking dmesg for any spurious USB HID disconnect events.
,
Jan 14
I'm using the device in laptop mode, so the external monitor is my secondary monitor. I don't have an external kb or mouse connected.
,
Jan 14
Re: #18 I am folding over the device when docking. I'm using a USB keyboard, and Bluetooth mouse and headphones. Note that my external display would periodically reset, but it doesn't always go back into mirror mode when that happens.
,
Jan 14
For display resetting, I suspect issue 921275 might be related. I'm not sure if a Bluetooth mouse would temporarily disconnect that it could cause the folded back device to go into tablet mode. +xdai@
,
Jan 14
My device is in laptop mode, plugged into a second monitor through a USB-C hub -> HDMI. Using the Google keyboard for Slate.
,
Jan 14
When ui mode changes (clamshell mode <-> tablet mode), Bluetooth mouse connection status won't be changed. But if for some reason, Bluetooth mouse is disconnected while the device is in folded back position, (and if it's the only external pointing device), it does cause the device switch from clamshell mode to tablet mode. That might explain the sudden mirror mode if it's the case. But the user can also notice that his/her Bluetooth mouse can't be used at the same time.
,
Jan 15
New feedback received: https://listnr.corp.google.com/product/208/report/85908525275
,
Jan 16
(6 days ago)
Re #18: I'm using the device in "stand" mode (keyboard folded under ~300 degrees) with bluetooth keyboard and mouse. I don't see any USB disconnects in dmsg; the only thing that shows up when this happens seems to be the following: ``` [12315.561111] evdi: [D] evdi_detect:76 (dev=2) Painter is connected [12315.561119] evdi: [D] evdi_painter_get_edid_copy:215 (dev=2) 00 ff ff ``` Re #21/#23: I have noticed on a couple of occasions some mouse lag before/during the time that the device switches to mirror mode. I can also reliably reproduce the issue by turning my BT mouse off and on again while the device is in "stand" or "tablet" mode. Doing the same thing with the device in "laptop" mode does not cause the issue to occur.
,
Jan 16
(6 days ago)
This is expected, disconninging the last pointing device while in a folded back position should switch the UI to tablet mode, and hence the displays to mirroring.
,
Jan 16
(6 days ago)
So it sounds like, at least in my case, that this is probably just down to a flaky Bluetooth connection, and may be a different issue than what other users who are working in laptop mode (#19 & #22) are seeing.
,
Jan 18
(4 days ago)
Re #25: "evdi" suggests you are using a DisplayLink (USB-data-based) monitor. This appears to be the case based on your comment Re #11. > - How many displays are connected? > One. But for some reason, it is appearing as *two* displays (see details and screenshot in the community post linked above). > > - Display brands and cables/connectors? > Asus MB16AC, with bundled cable. The reason you are seeing two displays is this is a hybrid monitor that is both "USB Type-C DP AltMode" AND "USB Data DisplayLink" capable. The "two instances" are likely the result of it enumerating using both methods simultaneously. To avoid that, use only the A-to-C cord. Please start a new crbug and I'll see if I can follow up regarding that issue separately. This is likely a software bug on Asus' side. (For all the CB knows, this is a perfectly permissible arrangement. 2 lane DP + 2 lane SSUSB, with appropriate devices on both.) As a caution: this monitor is KNOWN to violate the USB-C specification and cause OCP events. Please see crbug/913233 for relevant data and commentary. b/ for additional repro. The tidbit that a USB device (in this case "evdi") re-enumeration occurs leads me to suspect the following: Re #19 + #20 + #22: 19: Laptop state - Unknown computer + internal KB 20: Tablet state - Unknown computer + USB KB + BT mouse and headphones. 22: Laptop state - Pixel Slate + Slate magnetic KB First, apologies to all; pardon if my comments are mere speculation or unhelpful. But perhaps some device/process is clobbering the USB bus, causing this behavior? AFAIK even BT modules are connected to USB so even "BT lag" is a useful datapoint. Please ping aaboagye@ regarding some experimental patches I am verifying regarding that possibility. (I haven't had the opportunity to test the impact of those patches on docking use case, yet. I will do so now.)
,
Jan 18
(4 days ago)
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by afakhry@chromium.org
, Jan 8