Bug 384765 - Title bar: Blurry fonts and symbols with scaling factor
Summary: Title bar: Blurry fonts and symbols with scaling factor
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: decorations (show other bugs)
Version: 5.10.95
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 381044 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-09-16 10:43 UTC by Rainer Finke
Modified: 2017-12-29 21:40 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
mgraesslin: Wayland+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Finke 2017-09-16 10:43:45 UTC
In the title bar the fonts and symbols look blurry/unsharp if a scaling factor is applied. At least on my 4k notebook screen this is the default on Wayland. 
On X11 I couldn't change the scaling factor as there is no setting, so I cannot tell if this is a general issue or Wayland only.
Comment 1 David Edmundson 2017-09-16 18:15:34 UTC
It's Wayland only.
They're drawn at standard DPI.
Comment 2 David Edmundson 2017-10-30 13:29:58 UTC
Git commit 7e6721ece08a90c594894eecca7f1cb602646535 by David Edmundson.
Committed on 30/10/2017 at 13:27.
Pushed by davidedmundson into branch 'master'.

Scaled decorations in QPainter mode

Summary:
Under wayland we support high DPI putting by putting a separation
between the logical co-ordinate system and the resolution of rendered
assets.

I didn't include window decorations in the previous wayland scaling
patchset. They were drawn them at a standard resolution, which is
implicitly scaled up.

This uses the Qt scaling, meaning oxygen and breeze (and others) get
perfect high DPI support with zero client changes.

Like the window scaling this handles any combination of a 2x scaled
decoration being rendered on a 1x screen or vice versa.

Test Plan:
export KWIN_COMPOSE=Q
Had two screens of different scales
It was the right size on both (as before)
Was super-sharp on the fancy screen

Reviewers: #plasma, hetzenecker, graesslin

Reviewed By: #plasma, graesslin

Subscribers: ngraham, graesslin, plasma-devel, kwin, #kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D8504

M  +4    -0    decorations/decorationrenderer.cpp
M  +15   -7    plugins/scenes/qpainter/scene_qpainter.cpp

https://commits.kde.org/kwin/7e6721ece08a90c594894eecca7f1cb602646535
Comment 3 David Edmundson 2017-11-01 17:59:28 UTC
Git commit fc887ab9078803520e9894ee2a25542bfc45aa3c by David Edmundson.
Committed on 01/11/2017 at 17:59.
Pushed by davidedmundson into branch 'master'.

Render GL Window decorations at the correct scale

Summary:
Under wayland we support high DPI putting by putting a separation
between the logical co-ordinate system and the resolution of rendered
assets.

When a window is on a high DPI screen, we should render at the higher
resolution.

Like the window scaling this handles any combination of a 2x scaled
decoration being rendered on a 1x screen or vice versa.

---
This patch is a bit different from the other scaling stuff. We have to
generate the quads *before* we have an updated texture with the new
scale. This means the scale isn't attached to the buffer like elsewhere.

That's why I added a property in TopLevel so there's still one canonical
source and things can't get out of sync.

Test Plan:
Crystal clear breeze and oxygen decos on my @2x display
Drag windows to attached @1x display, things still look OK when across 2
screens
Changing the scale of a screen updated the decos instantly

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: graesslin, plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D8600

M  +9    -6    decorations/decorationrenderer.cpp
M  +9    -5    plugins/scenes/opengl/scene_opengl.cpp
M  +1    -1    plugins/scenes/qpainter/scene_qpainter.cpp
M  +1    -0    plugins/scenes/xrender/scene_xrender.cpp
M  +10   -8    scene.cpp
M  +1    -1    scene.h
M  +15   -5    toplevel.cpp
M  +14   -0    toplevel.h

https://commits.kde.org/kwin/fc887ab9078803520e9894ee2a25542bfc45aa3c
Comment 4 Martin Flöser 2017-12-29 21:40:43 UTC
*** Bug 381044 has been marked as a duplicate of this bug. ***