New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 682010 link

Starred by 3 users

Issue metadata

Status: Fixed
Merged: issue 442441
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocked on:
issue 720596
issue 790723



Sign in to add a comment

Can't use external monitor in HiDPI mode

Project Member Reported by jwer...@chromium.org, Jan 17 2017

Issue description

Chrome Version: 56.0.2924.58 (Official Build) beta (32-bit)
OS: 9000.58.0 (Official Build) beta-channel kevin

What steps will reproduce the problem?
(1) Connect to external HP ZR30w monitor via Type-C to DP cable 
(2) Go to chrome://settings/display

What is the expected result?

There should be a way to switch into 1280x800 HiDPI mode.

What happens instead?

I can only choose between "2560x1600 (Best)" which is the normal maximum resolution of the display in low DPI, and "1280x800" which is the display's only other internal resolution choice (interpolated and awfully grainy). Chrome OS should be able to drive the display at 2560x1600 while using its HiDPI scaling and assets, in the same way it can drive the internal 2400x1600 panel at "1200x800 (Best)". (In fact, I can get almost what I want by using mirrored mode, except that I then have an external 1200x800 display with two 40px wide black stripes on the side.)

Display data from the monitor in question for reference:

id	encoder	status		name		size (mm)	modes	encoders
34	33	connected	DP-1           	640x400		2	33
  modes:
	name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
  2560x1600 60 2560 2608 2640 2720 1600 1603 1609 1646 268500 flags: phsync, nvsync; type: preferred, driver
  1280x800 60 1280 1328 1360 1440 800 803 809 823 71000 flags: phsync, nvsync; type: driver
  props:
	1 EDID:
		flags: immutable blob
		blobs:

		value:
			00ffffffffffff0022f06c2801010101
			17160104b5402878e28d85ad4f35b125
			0e505400000001010101010101010101
			010101010101e26800a0a0402e603020
			360081902100001abc1b00a050201730
			3020360081902100001a000000fc0048
			50205a523330770a20202020000000ff
			00434e34323233304250330a20200050
	2 DPMS:
		flags: enum
		enums: On=0 Standby=1 Suspend=2 Off=3
		value: 0
 
Mergedinto: 442441
Status: Duplicate (was: Untriaged)
The UI currently gives no way to adjust display scaling independent of resolution.  That should be fixed along with bug 442441

Comment 2 by derat@chromium.org, Apr 21 2017

Cc: tbuck...@chromium.org
Labels: -M-56 M-58
Status: Untriaged (was: Duplicate)
Instead of waiting for a full redesign of the settings as tracked by issue 442441, can we do something simpler to at least make it possible to get the desired config as described here? It sounds like we offer the following two settings on an HP ZR30w connected to a kevin:

"2560x1600 (Best)" - 2560x1600 mode, low-DPI
"1280x800"         - 1280x800 mode, low-DPI

Why even offer low-DPI 1280x800? Since it's apparently interpolated, wouldn't using high-DPI 2560x1600 for the "1280x800" option be strictly better? (Are we concerned about video memory?)

What's the current logic for deciding when to use high-DPI with an external display? Do we only do that when mirroring from a high-DPI internal display, and never do it with "extended desktop"?

Comment 3 by derat@chromium.org, Apr 21 2017

Cc: steve...@chromium.org
Thanks Dan! I'd also very much appreciate a quick stop gap solution. Even if it just gave me something like "2560x1600 (Best)", "1280x800 (Best)" and "1280x800", it would be usable (while still confusing).

Note that you can't even get high-DPI with mirror mode anymore, I filed that separately as  issue 714215 .
Owner: malaykeshav@chromium.org
Status: Assigned (was: Untriaged)

Comment 6 by derat@chromium.org, May 13 2017

Malay, which milestone do you think you'll have time to look at this for?

From IM discussion with Tom about this on April 24, it sounded like we both agreed that in the scenario described here, Chrome should only send 2560x1600 to this monitor, and offer the user the option to get either 2560x1600 (1x) or 1280x800 (2x) display units.

In other words, when the monitor offers both AxB and 2Ax2B modes, if the user selects AxB, we should (always?) use 2Ax2B with 2x scaling instead.
I am working on scalable views which will be fixing this issue. Core logic should be checked in by end of week. But it will be in experimental for now.

@oshima
How do we want to proceed on this?
*ping*

Just curious, has there been any progress on this? Did the feature you were talking about land?

I don't see anything on my R60 Kevin yet... I got the new settings dialog, but it still just has a slider that can switch between monitor-interpolated 1280x800 and native 2560x1600. In fact, it seems to be worse now... switching to 2560x1600 sometimes doesn't work anymore. I've filed that separately as issue 739939.
Blockedon: 720596
 Issue 720596  sounds like it's tracking backend work to improve arbitrary scaling. Has there been discussion elsewhere about how that will be exposed to users?

I think that what's being requested here is simple 2x scaling, which I believe we already support well. Who owns display settings? Is it easier to add support for the behavior described in #6 now that we're using MD settings? 
Cc: malaykeshav@chromium.org
Owner: osh...@chromium.org
 Issue 720596  will only change how the display resolution settings would work on the backend, resulting in a sharp UI rather than a blurry and pixelated one.

We should be able to add a 2x (or any other integral value) scale if supported by the display without any UI bugs. This would be a temporary fix until 720596 lands.

+oshima for further input regarding this.
2x mode actually already does exist for external display, but only available for 4K displays, but it's confusing as it changes the way scaling works (which led to crbug.com/442441).

 crbug.com/72059  will unify the logic, simplify UX and can provide better scaling
at all resolutions, so I prefer to spend eng resource to work on real solution than adding temporary solution. 


Owner: malaykeshav@chromium.org
Blockedon: 790723
Adding bug that tracks the UX for the feature.
For UX: go/DisplaySizeMocks

The feature will be presented to the user as a kind of Display Zoom or Display Size(From android) in chrome://settings/display.

DD: go/cros-display-zoom
Status: Fixed (was: Assigned)

Sign in to add a comment