Inconsistent/unhandled use case when using eDP + 3 external displays
Reported by
nathan.d...@intel.com,
Mar 3 2017
|
||||||||||
Issue descriptionWhat steps will reproduce the problem? (1) Cherry-pick the series https://chromium-review.googlesource.com/c/422053/2 on chromeos-3.18 which enables DP MST (2) Use a chell system with this backport and connect 2 DP MST daisy -chained monitors (3) Connect a 3rd external monitor to (a) the 2nd DP MST monitor or (b) to the other USB-C port What is the expected output? What is the best way to handle this? - Since i915 only supports 3 monitors (eDP + 2 external) ChromeOS UI should give the user a choice of selecting which monitor to use when plugging a 3rd external monitor? - Other OSs seem to do this. - What happens if I have a Chromebook with 2 external (DP MST) monitors but I also want to plug in a TV/bigger display let's say? With DP MST that will not work although it would be expected to. What do you see instead? (a) eDP + 3 DP daisy-chained monitors - The last (3rd daisy-chained) monitor doesn't turn on, display manger in ChromeOS UI settings doesn't show a 4th monitor. - Pipes A B and C remain assigned to the initial eDP + 2 DP daisy chained DP MST monitors (b) eDP + 2 DP daisy-chained + 1 directly connected (HDMI/DP/USB-C) monitor - The last monitor (4th) that gets plugged directly into the USB-C port turns on - The 2nd daisy chained DP MST monitor turns off - Pipe A remains assigned to eDP, pipe B gets assigned from 1st DP MST monitor to the USB-C attached monitor, and pipe C gets assigned to 1st DP MST monitor. Please provide any additional information below.
,
Mar 3 2017
/run/debugfs_gpu/i915_display_info can be used to determine what displays are physically connected to the Chromebook. I attached one with eDP on plus 3 DP MST (daisy-chained) physically connected external monitors but only the first 2 are displaying the desktop, while the 3rd is in power save mode, so not displaying anything (as expected) since the 3 pipes are already assigned.
The CRTC info section shows three pipes being used (A, B, C):
CRTC info
---------
CRTC 27: pipe: A, active=yes, (size=3200x1800), dither=yes, bpp=24
fb: 69, pos: 0x0, size: 3200x1800
encoder 36: type: TMDS-36, connectors:
connector 37: type: eDP-1, status: connected, mode:
CRTC 31: pipe: B, active=yes, (size=3840x2160), dither=yes, bpp=24
fb: 94, pos: 0x0, size: 3840x2160
encoder 55: type: DP MST-55, connectors:
connector 63: type: DP-3, status: connected, mode:
CRTC 35: pipe: C, active=yes, (size=2560x1440), dither=yes, bpp=24
fb: 133, pos: 0x0, size: 2560x1440
encoder 56: type: DP MST-56, connectors:
connector 68: type: DP-5, status: connected, mode:
CRTCs, or pipes, represent the display pipelines while connectors are the actual DP sync or hub devices. Connector 37 is assigned to pipe A, connector 63 to pipe B and connector 68 to pipe C. The video streams are output from one physical port, DP-2 on the Chromebook.
,
Mar 3 2017
@2: You shouldn't use driver-specific APIs like /run/debugfs_gpu/i915_display_info to determine anything, since it is inherently non-portable. We have proper ways of doing this through the KMS API.
,
Mar 3 2017
,
Mar 3 2017
I suggested Nathan to add comment #2 for pure testing and demonstration purposes. It was not hinting at any kind of implementation.
,
Mar 14 2017
For the record here's the final drm set call: https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc?type=cs&q=setcrtc&l=449 Multi-monitor code seems to be spread in ws/ ozone/ display/
,
Jul 7 2017
Ping: could be get this bug at least triaged? Enabling issue 329267 seems nearly done.
,
Jul 19 2017
DP MST is enabled in v3.18 by default last night(July 17). I have tested this scenario after DP MST got enabled in v3.18 kernel (3.18.0-15819-gb0dc4581a5b2). Issue is still reproduced on Chell.
,
Jul 20 2017
I wonder what happens if you close the lid, anyone tried that yet?
,
Oct 5 2017
I tested this on a pixelbook running FSI firmware 9584.86 and a 10/3 R63 9998 OS image. I have 2 SST monitors connected into a Kensington dock which is plugged into the DUT via USB-C. When I plug an MST monitor into the other DUT USB-C port using a ding-dong, the HDMI monitor on the dock goes black. The new monitor lights up and the Display control panel correctly identifies the monitor. When I unplug the new monitor the HDMI monitor lights up. When I close the lid and go into dock mode, whatever monitors are lit up stay that way. The third external monitor does not light up in dock mode.
,
Oct 5 2017
Thanks Russ for the recent reproduction. The key fact here is: a *random* monitor is turned off. Unlike Windows ChromeOS doesn't offer a choice.
,
Oct 6 2017
,
Oct 10 2017
,
Oct 18 2017
Here's a different issue in the same area, can someone help labelling and triaging it? issue 775757 with multiple (external) monitors, switching resolution reverts other monitor to default resolution
,
Oct 18 2017
marcheu@ please help triage
,
Nov 8 2017
This is a UI problem, to Albert for the UI side.
,
Nov 8 2017
Thanks for triaging! Reproducing this issue currently requires MST hardware which can itself be unreliable (and then mask this issue). Avoid current MST pitfalls listed here and there: https://bugs.chromium.org/p/chromium/issues/detail?id=329267#c58 https://bugs.chromium.org/p/chromium/issues/detail?id=714236#c6
,
Nov 9 2017
,
Nov 26 2017
Almost the same topic: is there already a user interface to enter "Dock mode" without closing the lid = without losing the keyboard and trackpad? Some users want to use just (one) large external monitor *and* the built-in keyboard and trackpad at the same time. Gathering multiple people around a laptop screen doesn't really work. This is *especially* useful for Android apps which seem all clueless and utterly confused as soon as there's more than one screen (and probably even more confused when the number of screens changes while the app is already running)
,
Feb 6 2018
Copying this question here https://bugs.chromium.org/p/chromium/issues/detail?id=329267#c66 Curious how bandwidth is allocated to multiple monitors sharing a single MST cable _and_ bottleneck? I mean first come first serve, "balanced", other?
,
Mar 6 2018
,
Mar 6 2018
Olga, I can't do much about it, this is a UI problem...
,
Mar 7 2018
Olga did you ever connect 3 external monitors simultaneously? Then the problem becomes super obvious. You need at least one MST hub, either standalone or embedded in a monitor that supports daisy chaining.
,
Mar 9 2018
Marc, we are exploring introducing UI element which will notify users of Max number of external displays supported.
,
Mar 13 2018
Thanks Olga for sharing this, appreciated. comment #20 > Almost the same topic: is there already a user interface to enter "Dock mode" without closing the lid = without losing the keyboard and trackpad? Just found by chance that this is implemented: just lower the brightness to zero! Tested with 66.0.3359.10 / 10452.1.0 but it could have been there for much longer. Only the lack of "dock mode" notification is misleading Issue 816519 I also tried a couple of Android apps (which prompted this question in the first place) and found that external monitors may be more usable in ARC++ now. While testing I found an unrelated bug, it doesn't seem filed yet in https://bugs.chromium.org/p/chromium/issues/list?q=component:UI%3EShell%3EMultipleMonitor so please let me know if I should create a new one: Cannot arrange monitors when external monitor is rotated 90 or 270 degrees (180 orientation works fine) Dragging does nothing.
,
Apr 3 2018
Issue 828104 has been merged into this issue.
,
Nov 30
#26 - the dragging issue is not reproducible in R72 |
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by jparent@chromium.org
, Mar 3 2017