Bug 1100495 - KDE5: Window decoration too large after recent update
KDE5: Window decoration too large after recent update
Status: NEW
: 1100493 (view as bug list)
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: KDE Workspace (Plasma)
Current
Other Other
: P5 - None : Normal (vote)
: ---
Assigned To: E-Mail List
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-07-07 10:30 UTC by Philipp Wagner
Modified: 2018-09-26 06:48 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Screenshot at 1x scaling (68.37 KB, image/png)
2018-07-07 10:30 UTC, Philipp Wagner
Details
Screenshot of the Display KCM showing the monitor configuration (82.58 KB, image/png)
2018-07-07 11:37 UTC, Philipp Wagner
Details
qdbus-qt5 org.kde.KWin /KWin org.kde.KWin.supportInformation > supportinformation.txt (5.62 KB, text/plain)
2018-07-07 12:20 UTC, Philipp Wagner
Details
kdialog > ~/kdialog.txt (5.22 KB, text/plain)
2018-07-07 12:38 UTC, Philipp Wagner
Details
QT_LOGGING_RULES=*.debug=true kdialog --asdf > kdialog-2.txt 2>&1 (3.94 KB, text/plain)
2018-07-07 12:44 UTC, Philipp Wagner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Wagner 2018-07-07 10:30:07 UTC
Created attachment 776416 [details]
Screenshot at 1x scaling

I'm using Tumbleweed on a HiDPI laptop with either a laptop monitor with 1.5x scaling or two attached external monitors with 1x scaling. (I don't use them both at the same time, but adjust the scaling manually in the KDE Display KCM.) This worked fine until today's update to Tumbleweed 20180704.

Since today I have a problem with the "standard" setup, i.e. 1x scaling. I've attached a screenshot at scaling set to 1x (and after a reboot). In the fonts KCM I've *not* forced a specific DPI for the fonts.

- The window decorations are way too large (but the font size is ok).
- The task bar has a too large font size for the window titles, but the clock (for example) is ok.

(There seem to be other bugs in the 1.5x scaling for some applications, but I'll get to that once this bug is resolved.)
Comment 1 Fabian Vogt 2018-07-07 11:13:13 UTC
This sounds like a mix of "the bad" and "the ugly" cases: You rely on the 96 font dpi and I assume you have the HiDPI laptop monitor as primary.

I view this behaviour as correct, as the primary monitor is HiDPI and thus defaults to a 196dpi font.

AFAICT kwin does not handle mixed-DPI on X11.

> In the fonts KCM I've *not* forced a specific DPI for the fonts.

Note that the kscreen kcm also overwrites that if you specify a scale. You need to unset it manually.

You have two options:

a) Set the external monitor as primary
b) Force font DPI to 96

Please try out both.
Comment 2 Philipp Wagner 2018-07-07 11:37:11 UTC
Created attachment 776417 [details]
Screenshot of the Display KCM showing the monitor configuration

Thanks Fabian for your reply.

The external (non-HighDPI) monitor is already the primary monitor, the laptop monitor is turned off. I'm not mixing DPIs, just either HighDPI or regular. I've attached a screenshot showing the monitor configuration.
Comment 3 Fabian Vogt 2018-07-07 11:54:33 UTC
(In reply to Philipp Wagner from comment #2)
> Created attachment 776417 [details]
> Screenshot of the Display KCM showing the monitor configuration
> 
> Thanks Fabian for your reply.
> 
> The external (non-HighDPI) monitor is already the primary monitor, the
> laptop monitor is turned off. 
>
> I'm not mixing DPIs, just either HighDPI or
> regular.

Simply by having those monitors connected it counts as mixed-DPI. X is still aware of turned off monitors.

> I've attached a screenshot showing the monitor configuration.

Please still try out b) and attach the kdialog output.

Also helpful might be to have qdbus-qt5 org.kde.KWin /KWin org.kde.KWin.supportInformation.
Comment 4 Philipp Wagner 2018-07-07 12:20:00 UTC
Created attachment 776418 [details]
qdbus-qt5 org.kde.KWin /KWin org.kde.KWin.supportInformation > supportinformation.txt

I've now forced the Font DPI to 96 and the screen looks good again.
I've also attached the support information output.
Thanks for the hints!


While I have now a workaround, I'd love to see this regression being fixed (it was working fine a week ago). I know all the HighDPI topics are rather tricky due to a huge amount of edge cases and different usage scenarios, so maybe instead of asking to restore the state it was in a week ago, maybe the better question could be: Can you recommend a way to easily switch between the highdpi laptop monitor and the lowdpi external monitors? 

Currently the screen settings (resolution, orientation, etc.) are remembered when I plug in the external monitors (over a docking station). The only thing not remembered or automatically applied is the scaling.

Before the recent changes I had to adjust one thing (the scaling setting), now I have to adjust two settings (scaling and font dpi). Can this possibly be scripted to make the switch easier? Or can the settings be remembered like the other screen settings?
Comment 5 Fabian Vogt 2018-07-07 12:33:22 UTC
(In reply to Philipp Wagner from comment #4)
> Created attachment 776418 [details]
> qdbus-qt5 org.kde.KWin /KWin org.kde.KWin.supportInformation >
> supportinformation.txt

The output of the kdialog command is still missing.

> I've now forced the Font DPI to 96 and the screen looks good again.
> I've also attached the support information output.
> Thanks for the hints!
> 
> 
> While I have now a workaround, I'd love to see this regression being fixed
> (it was working fine a week ago). I know all the HighDPI topics are rather
> tricky due to a huge amount of edge cases and different usage scenarios, so
> maybe instead of asking to restore the state it was in a week ago, maybe the
> better question could be: Can you recommend a way to easily switch between
> the highdpi laptop monitor and the lowdpi external monitors? 
> 
> Currently the screen settings (resolution, orientation, etc.) are remembered
> when I plug in the external monitors (over a docking station). The only
> thing not remembered or automatically applied is the scaling.
> 
> Before the recent changes I had to adjust one thing (the scaling setting),
> now I have to adjust two settings (scaling and font dpi). Can this possibly
> be scripted to make the switch easier? Or can the settings be remembered
> like the other screen settings?

You shouldn't need to change both - the scaling sets the font DPI as well.
If the scaling is set to 1 it normally unsets the force font DPI box - which doesn't mean the same anymore.
Comment 6 Philipp Wagner 2018-07-07 12:38:41 UTC
Created attachment 776419 [details]
kdialog > ~/kdialog.txt

Is this the kdialog output you're looking for? Or did I misunderstand something?
Comment 7 Fabian Vogt 2018-07-07 12:41:36 UTC
Hm, looks like I accidentially deleted the command:

QT_LOGGING_RULES=*.debug=true kdialog --asdf
Comment 8 Philipp Wagner 2018-07-07 12:44:45 UTC
Created attachment 776420 [details]
QT_LOGGING_RULES=*.debug=true kdialog --asdf > kdialog-2.txt 2>&1

Now that looks better :-)
Comment 9 Fabian Vogt 2018-07-07 13:36:48 UTC
(In reply to Philipp Wagner from comment #8)
> Created attachment 776420 [details]
> QT_LOGGING_RULES=*.debug=true kdialog --asdf > kdialog-2.txt 2>&1
> 
> Now that looks better :-)

Looks correct to me - only enabled screens are listed and all of those have 96 dpi both physical and logical.

Does it work if you run "kwin_x11 --replace"?

If so, it's a race condition - kwin (and possibly plasma) read the logical DPI before the screens are configured.
Before kscreen applies its configuration, the primary screen is likely still the laptop screen.
Comment 10 Philipp Wagner 2018-07-07 14:21:13 UTC
I did the following (all in the external-monitor-only setup as throughout this bug):

- Unchecked the "Force DPI" in the fonts KCM
- Logged out and in again
- The window decoration, task bar and other items are now too large again (as in https://bugzilla.opensuse.org/attachment.cgi?id=776416)
- Ran 'kwin_x11 --replace' in a Konsole
- The window decorations are now in the right size.
- The task bar and the start menu are still too large.
Comment 11 Fabian Vogt 2018-07-07 14:33:00 UTC
(In reply to Philipp Wagner from comment #10)
> I did the following (all in the external-monitor-only setup as throughout
> this bug):
> 
> - Unchecked the "Force DPI" in the fonts KCM
> - Logged out and in again
> - The window decoration, task bar and other items are now too large again
> (as in https://bugzilla.opensuse.org/attachment.cgi?id=776416)
> - Ran 'kwin_x11 --replace' in a Konsole
> - The window decorations are now in the right size.

Ok, so it's indeed a race/ordering issue.

> - The task bar and the start menu are still too large.

Please also restart plasmashell using "kquitapp5 plasmashell; plasmashell".
Comment 12 Philipp Wagner 2018-07-07 14:44:55 UTC
> > - The task bar and the start menu are still too large.

> Please also restart plasmashell using "kquitapp5 plasmashell; plasmashell".

Now the task bar and the start menu also have the right size again.
Comment 13 Fabian Vogt 2018-07-12 14:23:38 UTC
*** Bug 1100493 has been marked as a duplicate of this bug. ***
Comment 14 Markus Zimmermann 2018-09-26 06:06:47 UTC
I am now on 1100493 and this is still a problem. Is there any additional repository that we should test?
Comment 15 Fabian Vogt 2018-09-26 06:48:22 UTC
(In reply to Markus Zimmermann from comment #14)
> I am now on 1100493 and this is still a problem. Is there any additional
> repository that we should test?

There are simple workarounds available, so this is not high priority:
- Set a different monitor as primary
- Force the font DPI to 96