Bug 422342

Summary: Corrupt Aurorae window decorations in wayland with scaling
Product: [Plasma] kwin Reporter: Sebastian Würl <s.wuerl>
Component: decorationsAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: bugseforuns, edpil02, katyaberezyaka, lucaslaprad, nate
Priority: NOR Flags: nate: Wayland+
nate: X11-
vlad.zahorodnii: NVIDIA+
Version: git master   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=425864
Latest Commit: Version Fixed In: 5.22
Sentry Crash Report:
Attachments: Glitched window decoration
screenshot taken on neon unstable

Description Sebastian Würl 2020-06-01 20:17:41 UTC
Created attachment 128982 [details]
Glitched window decoration

When using any aurorae theme in wayland the decorations are empty, blurry and transparent whenever not using 100% display scale. The issue appears on native wayland as well as xwayland windows.
My OS is OpenSUSE Leap 15.2 with Plasma 5.18. I reproduced the bug in a KDE Neon Developer VM:

STEPS TO REPRODUCE
1. go to window decoration settings choose plastik window decoration
2. go to display setting, set scaling to 125%
3. 


OBSERVED RESULT
The window decoration is transparent, no buttons shown


EXPECTED RESULT
The window decoration is visible with buttons

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: openSUSE Leap 15.2
(available in About System)
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.70.0
Qt Version: 5.12.7

ADDITIONAL INFORMATION
Comment 1 Patrick Silva 2020-11-01 18:53:14 UTC
Reproducible on neon unstable too.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.20.80
KDE Frameworks Version: 5.76.0
Qt Version: 5.15.0
Comment 2 Lucas Laprad 2020-11-05 15:56:48 UTC
Reproducable on Manjaro KDE.

MSI P65 - Nvidia 2070 Driver 455.

https://i.imgur.com/GzMJrJB.png

KDE Version: 5.20.2
KDE Framework: 5.75.0
QT Version: 5.15.1
Kernel: 5.8.18-1
Comment 3 noname 2020-11-26 14:05:08 UTC
Reproducible on fedora KDE 

KDE Frameworks 5.76.0
Qt 5.15.2 
Kwin_wayland
Comment 4 noname 2020-11-26 14:10:27 UTC
But seems to be a Nvidia bug.
No issue with integrated intel GPU and wayland.
Comment 5 Patrick Silva 2020-12-01 17:03:57 UTC
(In reply to edpil02 from comment #4)
> But seems to be a Nvidia bug.
> No issue with integrated intel GPU and wayland.

I use intel hd graphics and I can reproduduce this bug.

Operating System: Arch Linux
KDE Plasma Version: 5.20.4
KDE Frameworks Version: 5.76.0
Qt Version: 5.15.2
Kernel Version: 5.6.15-arch1-1
OS Type: 64-bit
Processors: 2 × Intel® Celeron® CPU G1820 @ 2.70GHz
Memory: 7,7 GiB of RAM
Graphics Processor: Mesa DRI Intel® HD Graphics
Comment 6 noname 2020-12-01 17:35:40 UTC
(In reply to Patrick Silva from comment #5)
> (In reply to edpil02 from comment #4)
> > But seems to be a Nvidia bug.
> > No issue with integrated intel GPU and wayland.
> 
> I use intel hd graphics and I can reproduduce this bug.

It may not be the same bug.
Do you have other issues at the same time?

With my desktop 1080gtx ,aurorae is corrupted as described previously in the bug, but the desktop theme too (taskbar and menu and some widgets).Seems to be compositing issues when transparent themes are used.
On the other hand all is fine on my (prime) laptop with intel gpu.
Comment 7 Lucas Laprad 2021-03-26 18:40:16 UTC
I am still experiencing this issue on 3/26/21 with any scaling change.

KDE 5.21.3
KDE Frameworks: 5.80
QT: 5.15
Kernel: 5.11.6-1
Wayland
Intel / Nvidia GPU (MSI P65)
Comment 8 David Edmundson 2021-05-21 11:26:58 UTC
Git commit af66f39f1986044cddcec4979efbaff38308380c by David Edmundson.
Committed on 21/05/2021 at 11:26.
Pushed by davidedmundson into branch 'master'.

Support High DPI Aurorae decorations

With high DPI we can't use the image size as a logical size directly.

The other change is use of QPainter::drawImage(QRect target, QImage
image, QRect source)

This slightly confusing method uses logical pixels for the target, but
the source rect is in native pixels of the source.

M  +3    -2    src/libkwineffects/kwineffectquickview.cpp
M  +25   -13   src/plugins/kdecorations/aurorae/src/aurorae.cpp

https://invent.kde.org/plasma/kwin/commit/af66f39f1986044cddcec4979efbaff38308380c
Comment 9 David Edmundson 2021-05-21 11:31:49 UTC
Git commit dbb678cca796dd14738ab904bf106466d8bcbd22 by David Edmundson.
Committed on 21/05/2021 at 11:31.
Pushed by davidedmundson into branch 'Plasma/5.22'.

Support High DPI Aurorae decorations

With high DPI we can't use the image size as a logical size directly.

The other change is use of QPainter::drawImage(QRect target, QImage
image, QRect source)

This slightly confusing method uses logical pixels for the target, but
the source rect is in native pixels of the source.


(cherry picked from commit af66f39f1986044cddcec4979efbaff38308380c)

M  +3    -2    src/libkwineffects/kwineffectquickview.cpp
M  +25   -13   src/plugins/kdecorations/aurorae/src/aurorae.cpp

https://invent.kde.org/plasma/kwin/commit/dbb678cca796dd14738ab904bf106466d8bcbd22
Comment 10 Patrick Silva 2021-08-22 13:17:46 UTC
Created attachment 140946 [details]
screenshot taken on neon unstable

it's still happening on neon unstable

1. use Wayland session
2. set Plastik window decoration
3. set display scale to 125%
4. open Kate
5. maximize Kate window
6. restart Kate

Result: empty window decoration, as we can see in the attached screenshot.