Bug Hunting Session
Bug 108526 - Calc not Win10 DPI aware, display elements missing on 4K screen
Summary: Calc not Win10 DPI aware, display elements missing on 4K screen
Status: RESOLVED DUPLICATE of bug 119020
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
5.4.1.2 release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: needsDevAdvice
Depends on:
Blocks: HiDPI Multimonitor
  Show dependency treegraph
 
Reported: 2017-06-14 15:40 UTC by craig@arno.com
Modified: 2019-01-28 09:33 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
4K Screen-Application capture showing missing lines (148.44 KB, image/gif)
2017-10-02 03:26 UTC, craig@arno.com
Details

Note You need to log in before you can comment on or make changes to this bug.
Description craig@arno.com 2017-06-14 15:40:34 UTC
First, there is a solution, read on...

I am running a Surfacebook 3000x2000 resolution with an external 4K monitor 4096x2160 resolution.

When I open calc every third horizontal cell separation line is missing from the display. At first I thought this might be a feature, but later realized it's a bug.

The "solution" is to set Windows LibreOffice application properties to "Override high DPI scaling behavior"  "Scaling performed by: System".  With this property set all calc row lines reappear.

This new Windows 10 "feature" is messing up many more mature Windows products on high DPI displays.  I'm finding many applications have a file like "scalc.exe.manifest" which contain XML like:

  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>false</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>

The critical part is "<dpiAware>false</dpiAware>" to allow an application to display as it has on prior MS Windows products.

I adjusted this setting on the LibreOffice launcher and now everything looks as it has on earlier versions, and matches appearance under Linux.
Comment 1 Xisco Faulí 2017-10-01 22:57:32 UTC Comment hidden (obsolete)
Comment 2 craig@arno.com 2017-10-02 03:26:09 UTC
Created attachment 136672 [details]
4K Screen-Application capture showing missing lines

"Compatibility" settings turned off so application can run natively on 4K screen, Surface book Pro i7 external display port 43" monitor, screen scaling 1:1
Comment 3 craig@arno.com 2017-10-02 03:34:06 UTC
LibreOffice in general has several problems on high DPI screens ranging in severity from minor nuisance (Calc missing lines) to crippling (Impress presentation mode).

These display issues may require a fairly senior software developer to overhaul the LibreOffice display architecture framework.  i.e. in my opinion this isn't a "simple software fix".
Comment 4 Aron Budea 2017-11-16 12:58:24 UTC
Seems like the relevant element is dpiAwareness for Win10 version 1607 or later:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa374191(v=vs.85).aspx

Can you check if permonitor or permonitorv2 works, or only unaware does?
Comment 5 craig@arno.com 2017-11-16 20:39:57 UTC
How would I check permonitor, permonitorv2, or unaware?

Here is what I did; I set the LibreOffice5.4.2.2 x64 desktop shortcut "Compatibility" to "Override high DPI scaling behavior" to "Scaling performed by" [Application], [System], [System (Enhanced)].  All three modes seem to work with SCalc.

Turn off "Override high DPI scaling behavior" and the problem of missing or extremely light horizontal cell lines reappear.

Either of the "System" compatibility modes is desirable.  The "Application" setting makes the application look like it's been zoomed to 2x... large and gross.
Comment 6 craig@arno.com 2017-11-16 20:54:54 UTC
BTW, the adapter I use for the HDMI 4K output is the Microsoft recommended/supported "Cable Matters DP 1.2".  The Surfacebook 4K screen [3000x2000 @150%] shows lines as I expect to see them.  It's the external display, 43" 4K [4096 x 2160 @100%] monitor driven through the Cable Matters DP 1.2 which is experiencing the Lost Lines and/or missing icons issue.  Overriding the DPI behavior makes the problem disappear.
Comment 7 craig@arno.com 2017-11-17 20:20:08 UTC
Setting the 4096 x 2160 external monitor to 150% makes the lines reappear.
Comment 8 Aron Budea 2017-11-20 05:11:25 UTC
(In reply to craig@arno.com from comment #5)
> How would I check permonitor, permonitorv2, or unaware?

Oh, I don't know how the manifests works, based on the description I thought you managed to set that somehow. Either way, thanks for the details!
Comment 9 Xisco Faulí 2018-01-29 17:30:17 UTC Comment hidden (obsolete)
Comment 10 craig@arno.com 2018-01-29 19:08:07 UTC
Missing lines still persist in 6.0.0.3:

Version: 6.0.0.3 (x64)
Build ID: 64a0f66915f38c6217de274f0aa8e15618924765
CPU threads: 4; OS: Windows 10.0; UI render: default; 
Locale: en-US (en_US); Calc: group
Comment 11 Xisco Faulí 2018-11-27 14:46:46 UTC
Hello Craig,
A new major release of LibreOffice is available since this bug was reported.
Could you please try to reproduce it with the latest version of LibreOffice
from https://www.libreoffice.org/download/libreoffice-fresh/ ?
I have set the bug's status to 'NEEDINFO'. Please change it back to
'UNCONFIRMED' if the bug is still present in the latest version.
Comment 12 craig@arno.com 2018-11-27 18:25:45 UTC
Version checked 6.1.3.2 (x64)

Missing lines problem resolved.

Checked scaling at 100%, 125%, 150%, 175%, 200%, 225%, 250%, 300%, 350% on the 43" 4K [4096 x 2160 @59Hz] monitor.  Also performed a quicker test on the primary Surfacebook 3000x2000 display.

Looks like you nailed it for Calc!  This bug is resolved on my hardware.

========
I checked Impress "Bug 106526 - Impress dual head presentation to 4K or QHD resolution monitor or projector has presentation screen tearing" and that bug still exists.
Comment 13 Timur 2018-12-10 10:06:47 UTC
Thank you Craig for extensive testing. This is WorksForMe than, but let's mark as a duplicate of Bug 119020.

*** This bug has been marked as a duplicate of bug 119020 ***