Bug 478080 - Rounded top window corners in XWayland-using apps sometimes display a sharp unmasked pixel in the corner
Summary: Rounded top window corners in XWayland-using apps sometimes display a sharp u...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: decorations (show other bugs)
Version: 5.90.0
Platform: Arch Linux Linux
: NOR minor
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: qt6
: 465323 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-12-04 20:55 UTC by dominickator122102
Modified: 2024-02-01 19:07 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0


Attachments
As you can see the top corners have small artifacts in them, this is especially easy to see with a white background behind them. The window I have open in the picture is discord. (1.79 KB, image/png)
2023-12-04 20:55 UTC, dominickator122102
Details

Note You need to log in before you can comment on or make changes to this bug.
Description dominickator122102 2023-12-04 20:55:21 UTC
Created attachment 163868 [details]
As you can see the top corners have small artifacts in them, this is especially easy to see with a white background behind them. The window I have open in the picture is discord.

In the KDE Plasma environment on Wayland, there appears to be a graphical glitch where small pixel artifacts are present at the corners of windows, which are intended to be rounded. The attached image clearly shows these stray pixels that disrupt the smoothness of the window's rounded corners. This issue seems to manifest consistently across various applications, indicating a potential bug in the compositor or the window decorations handling within KDE Plasma's Wayland session. The applications that I have tested and found this problem are:
1. Visual Studio Code
2. Discord

This does not appear to happen with KDE Applications.

STEPS TO REPRODUCE
1. Open Discord or Visual Studio Code
2. Drag the window so the top corners have a white background behind them, you should see artifacts around the rounded edges.

OBSERVED RESULT
Artifacts around window corners.

EXPECTED RESULT
A smooth rounded corner with no artifacts.

SOFTWARE/OS VERSIONS 
Linux/KDE Plasma: Arch Linux
(available in About System)
KDE Plasma Version: 5.90
KDE Frameworks Version: 5.246.0
Qt Version: 6.6.1

ADDITIONAL INFORMATION
Output of glxinfo -B and neofetch are below

```glxinfo -B```:

name of display: :1
display: :1  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon RX 6700 XT (navi22, LLVM 16.0.6, DRM 3.54, 6.6.3-arch1-1) (0x73df)
    Version: 23.2.1
    Accelerated: yes
    Video memory: 12288MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 11399 MB, largest block: 11399 MB
    VBO free aux. memory - total: 14753 MB, largest block: 14753 MB
    Texture free memory - total: 11399 MB, largest block: 11399 MB
    Texture free aux. memory - total: 14753 MB, largest block: 14753 MB
    Renderbuffer free memory - total: 11399 MB, largest block: 11399 MB
    Renderbuffer free aux. memory - total: 14753 MB, largest block: 14753 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 12288 MB
    Total available memory: 28289 MB
    Currently available dedicated video memory: 11399 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 6700 XT (navi22, LLVM 16.0.6, DRM 3.54, 6.6.3-arch1-1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.2.1-arch1.2
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.2.1-arch1.2
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.2.1-arch1.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20


neofetch:
                   -`                    dominickator@DomArchPC 
                  .o+`                   ---------------------- 
                 `ooo/                   OS: Arch Linux x86_64 
                `+oooo:                  Kernel: 6.6.3-arch1-1 
               `+oooooo:                 Uptime: 22 hours, 3 mins 
               -+oooooo+:                Packages: 918 (pacman) 
             `/:-:++oooo+:               Shell: bash 5.2.21 
            `/++++/+++++++:              Resolution: 2560x1440 
           `/++++++++++++++:             DE: Plasma 5.90.0 
          `/+++ooooooooooooo/`           WM: kwin 
         ./ooosssso++osssssso+`          Theme: Breeze-Dark [GTK2], Breeze [GTK3] 
        .oossssso-````/ossssss+`         Icons: breeze-dark [GTK2/3] 
       -osssssso.      :ssssssso.        Terminal: konsole 
      :osssssss/        osssso+++.       CPU: AMD Ryzen 5 3600 (12) @ 3.600GHz 
     /ossssssss/        +ssssooo/-       GPU: AMD ATI Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M 
   `/ossssso+/:-        -:/+osssso+-     Memory: 7223MiB / 32003MiB 
  `+sso+:-`                 `.-/+oso:
 `++:.                           `-/+/                           
 .`                                 `/
Comment 1 Nate Graham 2023-12-05 17:24:41 UTC
Are the affected windows using CSDs? What window decoration theme are you using?
Comment 2 dominickator122102 2023-12-05 18:00:45 UTC
(In reply to Nate Graham from comment #1)
> Are the affected windows using CSDs? What window decoration theme are you
> using?

Everything including the theme is just stock Breeze Dark. Nothing custom at all is being used. Just the default Breeze Dark theme. As for client side decorations I assume they are just using whatever default titlebar kwin is using because I haven't changed anything. Thanks for responding, please let me know if you need any more information.
Comment 3 dominickator122102 2023-12-06 20:25:54 UTC
(In reply to Nate Graham from comment #1)
> Are the affected windows using CSDs? What window decoration theme are you
> using?

Just wanted to reply with a quick update. When running the applications that I talked about under Wayland using the flags:
--enable-features=UseOzonePlatform --ozone-platform=wayland

The artifacts seem to disappear. Makes me think that the problem has something to do with XWayland.

STEPS TO REPRODUCE THIS:
1. Install Discord
2. Force Discord to run under Wayland by running with: discord --enable-features=UseOzonePlatform --ozone-platform=wayland
Comment 4 Nate Graham 2023-12-07 18:44:06 UTC
Thanks. Seems related indeed. That said, I cannot reproduce the issue with XWayland-using Discord at 200% scale. What scale factor are you using, and how many screens do you have?
Comment 5 dominickator122102 2023-12-07 21:35:46 UTC
(In reply to Nate Graham from comment #4)
> Thanks. Seems related indeed. That said, I cannot reproduce the issue with
> XWayland-using Discord at 200% scale. What scale factor are you using, and
> how many screens do you have?

I am currently running at 27" 1440p monitor at 100% scale. That's the only monitor. Just 1 monitor at 100% scale.
Comment 6 Nate Graham 2023-12-11 21:36:20 UTC
I was able to briefly reproduce this issue with XWayland-using Discord on my 100% scale screen, but then it went away. While it was reproducing, it looks like the top corner wasn't being masked away properly.
Comment 7 Bug Janitor Service 2024-01-29 09:26:00 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5057
Comment 8 Akseli Lahtinen 2024-01-29 11:21:22 UTC
Fixed with above merge request
Comment 9 Vlad Zahorodnii 2024-02-01 19:07:21 UTC
*** Bug 465323 has been marked as a duplicate of this bug. ***