Bug 1258155

Summary: 24" Ultra-HD monitor not recognized as HiDPI in Wayland session
Product: [Fedora] Fedora Reporter: Brion Vibber <brion>
Component: waylandAssignee: Adam Jackson <ajax>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: adam.lofts, ajax, andrew.smirnov, fedora, jan.public, michael+rh, zlynx
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-12 10:04:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Screenshot showing correct size on laptop screen, wrong size on external monitor none

Description Brion Vibber 2015-08-29 17:45:59 UTC
Created attachment 1068308 [details]
Screenshot showing correct size on laptop screen, wrong size on external monitor

Description of problem:

Running Fedora 23 Alpha on my MacBookPro 12,1 (13" Retina early 2015), with a Dell P2415Q 24" Ultra-HD monitor connected, in a Wayland session, the monitor is picked up at 3840x2160 resolution correctly but does not engage the HiDPI scaling on that display.

This results in any windows moved to the external display being rendered very small.

The same monitor correctly engages HiDPI scaling in an X session.


Version-Release number of selected component (if applicable):

Fedora 23 alpha


How reproducible:

Every time


Steps to Reproduce:
1. Connect Dell P2415Q monitor
2. Log in with Wayland session
3. Open a window and move it to the external monitor

Actual results:

Window becomes tiny


Expected results:

Window stays same size as on the internal 2560x1600 HiDPI display.


Additional info:

Connected over Thunderbolt port (DisplayPort protocol)

Comment 1 Jonathan Briggs 2015-11-30 22:38:51 UTC
Having exactly the same problem here, only with Fedora 23 release instead of alpha and a Dell m3800 instead of a Macbook.

Ideally the user would get to choose. For example on a 4K 50" on a desk in your face rendering at 1x scale is exactly the right thing to do because then it is more like having 4 independent 1080p screens.

Comment 2 Fedora End Of Life 2016-11-24 12:24:40 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 3 Michael Stapelberg 2016-11-26 12:29:12 UTC
This is still an issue with Fedora 25 Workstation.

I connected my ThinkPad X1 Carbon to my ViewSonic VX2475Smhl-4K monitor using a mini displayport to displayport cable.

The Wayland GNOME session recognizes the monitor as 23" (to be specific, it is 23.6") with a resolution of 3840x2160.

However, while the internal display of the ThinkPad X1 Carbon is scaled 2x (as expected), the ViewSonic monitor is not scaled at all.

This issue persists when I disable the internal monitor and make the ViewSonic the only monitor.

The only diagnostic tool I know of is the X11 tool xrandr, which prints:
$ xrandr
Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 8192 x 8192
XWAYLAND3 connected 3840x2160+0+0 520mm x 290mm
   3840x2160     59.98*+

Is there a workaround?

Do you need any logfiles or any other details?

Comment 4 adam.lofts 2016-12-03 11:37:18 UTC
I had a similar issue using a Samsung Ultra HD monitor.

The problem is that the horizontal DPI of your monitor is correctly computed as:

3840 / 20.4 = 188.2 dpi.

In mutter on wayland there is a function called compute_scale() which decides what scale your monitor should be:

https://github.com/GNOME/mutter/blob/eed4dab0fc1d143e83f2d147d49c415bd4dbd6e3/src/backends/native/meta-monitor-manager-kms.c#L476

This function uses a constant of 192 dpi to decide if your monitor should have a 2x scale applied to it.

https://github.com/GNOME/mutter/blob/eed4dab0fc1d143e83f2d147d49c415bd4dbd6e3/src/backends/native/meta-monitor-manager-kms.c#L464

So your monitor (and mine) is just below the dpi required to have scaling applied. For me this constant is set way too high. I don't know how it has been determined but text on my screen is unusably tiny.

On my computer I have patched mutter with a lower dpi constant, rebuilt gnome-shell and rebuilt Xwayland and I get awesome mixed dpi support with a hidpi and a non-hdpi monitor. So congrats on achieving this feature.

Maybe this constant should be made a config option? Or maybe its just too high?

Comment 5 Fedora End Of Life 2016-12-20 14:31:02 UTC
Fedora 23 changed to end-of-life (EOL) status on 2016-12-20. Fedora 23 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 6 Brion Vibber 2016-12-20 16:06:58 UTC
Still present with Fedora 25.

Comment 7 Herald van der Breggen 2016-12-31 13:37:13 UTC
Same problem here. Some extra info:

Using the tweak tool, it is possible to set a global HiPDI/scale factor which should be valid for all connected displays. Running Wayland, this factor is used on my laptop screen by all applications. However at the external monitor it is only used by applications like Thunderbird, Firefox and Chrome, but not by many other applications, e.g. gnome-terminal, darktable, vlc.

With Wayland it should be possible to set a scale-factor per display/monitor. However, I don't know how that can be done. When I installed "weston" and when running "weston-info" I noticed that the scale factor is "2" for the laptop display, but "1" for the external monitor (which should have been "2").

Maybe it should be possible to create a weston.ini-file to set the scale factor for the external monitor, but I am not sure about that.

I suppose the question is "How can I set the scale per display for Wayland?"

Comment 8 Fedora End Of Life 2017-11-16 14:04:28 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 9 Fedora End Of Life 2017-12-12 10:04:07 UTC
Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.