public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: Ken Whitesell <KenWhitesell@comcast.net>,
	The Cygwin Mailing List <cygwin@cygwin.com>
Subject: Re: Cygwin/X with Win10 display scaling corrupting font display of typed characters - Issue identified
Date: Mon, 24 Jan 2022 15:02:24 +0000	[thread overview]
Message-ID: <37ce4364-d009-4280-ebf2-739b5aa6a66d@dronecode.org.uk> (raw)
In-Reply-To: <ebef1f87-1457-3068-2657-af5dfa5c484e@comcast.net>

On 20/01/2022 01:01, Ken Whitesell wrote:
> On 1/19/2022 2:28 PM, Jon Turney wrote:
>> On 19/01/2022 00:02, Ken Whitesell wrote:
>>> On 1/17/2022 1:29 PM, Ken Whitesell wrote:
>>>>
>>>> Is there a known solution for this? (Or is it known that there is no 
>>>> solution?)
>>
>> Thanks for reporting this.
>>
>>>> Any guidance, pointers, suggestions of avenues for further research, 
>>>> or other information, will all be greatly appreciated.
>>>>
>>> After more research and experimentation, it appears to be related to 
>>> one of xorg-server, xorg-server-common, or xorg-server-xorg.
>>>
>>> Installing the older version 1.20.12-1 of these packages allows the 
>>> windows to be moved between monitors without any issues. Upgrading to 
>>> the current version 21.1.3-1 creates the problems. I'm able to 
>>> replicate this behavior on two different laptops with two different 
>>> external monitors.
>>
>> It seems likely that this is an unintended effect of changes in 
>> xorg-server 21.1.0-1, trying to fix problems in this area (See [1])
> 
> Thanks for the references. I've read all the messages in the thread - I 
> was particularly intrigued by this comment:
> 
> wrt the font scaling issue, looking at the source, it seems that we
> don't re-consider the display dpi after a WM_DISPLAYCHANGE message, but
> keep on using the value determined at startup.  This is probably a bug.
> 
> I'm curious enough to want to take a look at the code, but I've got no 
> belief that I'm going to be able to find an answer. (I'm *not* a C++ 
> programmer. I can read it and write a little of it, but that's about 
> it.) I was going to start by comparing the last known-working version to 
> the first known-non-working version, but given that it's a major release 
> change, that's not likely going to be a useful approach. (I'm way out of 
> my league here. It's probably going to take me a long time just to get 
> to the point where I can even begin to explore this.)

The relevant change, which tries to fix the issue identified in that 
comment, and probably introduces this issue is:

https://gitlab.freedesktop.org/jturney/xserver/-/commit/b19b6266d33f2b911dc1826ad5c03da135a39957

[...]
>>> If I change the scaling from 125% to 100% on the laptop's display,
>>> the problem appears until I restart Cygwin/X. Restarting Cygwin/X
>>> shows it displaying properly, until I change the scaling again.
>>
>> I could only reproduce this problem with mis-rendering when changing 
>> the scaling on the secondary monitor.
> 
> Wow, I did a really poor job of writing that. I'm sorry.
> 
> For clarity, just in case you were unable to interpret what I meant by 
> what I wrote -
> 
> At start: Laptop scaling set at 125%, second monitor at 100%.
> 
> Mis-rendering occurs at start, on the second monitor only.
> 
> If I change the scaling on the laptop, while the current instance of 
> XWin is running - the same mis-rendering now occurs on the laptop.
> 
> Interestingly enough, if I change the laptop from 125% to 100%, the tops 
> are clipped as previously reported. But if I change the scaling from 
> 125% to 150%, then the bottoms are clipped. (It kinda makes sense from 
> what you've written.)
> 
> If I then stop and restart XWin after having reset the scaling such that 
> both monitors have the same setting, then the problem doesn't appear.

Thanks for the clarification.

The laptop display is the primary monitor in all cases, correct?

  parent reply	other threads:[~2022-01-24 15:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-17 18:29 Cygwin/X with Win10 display scaling corrupting font display of typed characters Ken Whitesell
2022-01-19  0:02 ` Cygwin/X with Win10 display scaling corrupting font display of typed characters - Issue identified Ken Whitesell
2022-01-19 19:28   ` Jon Turney
2022-01-20  1:01     ` Ken Whitesell
2022-01-21 18:26       ` Cygwin/X with Win[10]-^ display scaling corrupting font display of typed characters - Issue [identified]-???? L A Walsh
2022-01-23 20:25         ` Cygwin/X display scaling corrupting font display of typed characters; L A Walsh
2022-01-24 15:02       ` Jon Turney [this message]
2022-01-27  3:12         ` Cygwin/X with Win10 display scaling corrupting font display of typed characters - Issue identified - "Solution" found Ken Whitesell
2022-02-05 14:25           ` Jon Turney
2022-08-14 11:08             ` Jon Turney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=37ce4364-d009-4280-ebf2-739b5aa6a66d@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=KenWhitesell@comcast.net \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).