https://bugs.kde.org/show_bug.cgi?id=505371

            Bug ID: 505371
           Summary: On Intel Arc GPU, KWin shows frames at half refresh
                    rate on Wayland
    Classification: Plasma
           Product: kwin
      Version First 6.3.5
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: wayland-generic
          Assignee: kwin-bugs-n...@kde.org
          Reporter: nyanpas...@tuta.io
  Target Milestone: ---

SUMMARY
When I start a Wayland session with an Arc B570 GPU, the whole screen updates
at half refresh rate unless Adaptive Sync is forced on.

STEPS TO REPRODUCE
1. Install an Arc GPU.
2. Log into a KDE Wayland session. (X11 gets glitchy horizontal-striped tearing
artifacts instead.)

OBSERVED RESULT
The cursor, and all window movements and content (such as
https://www.testufo.com/), update at half the monitor's refresh rate.

- The issue appears on both monitors in my dual-monitor setup.
        - I have a Lenovo LEN C32q-20 (1440p 75 Hz display with Adaptive Sync)
connected to the GPU's center (fastest) DP port, and a Dell U2312HM (1080p 60
Hz display) over HDMI-to-DVI.
- With my display at 60 Hz, if I watch a flicker test (like
https://www.youtube.com/watch?v=8adrIxAtkLU), the 60 FPS region only shows a
solid color of black or white (because only odd/even frames are being shown),
with occasional flashes.
- Enabling Desktop Effects > Show FPS shows the full display framerate (or the
sum of 60 and 75 Hz if both monitors were active). I think this means that all
frames are being rendered but only every other one is shown. (Is this caused by
broken double-buffering or (FIFO?) triple buffering?)
- The issue appeared with `KWIN_DRM_NO_VRR_CURSOR_WORKAROUND=1` in
`/etc/environment`, and still appears if I remove it and reboot.
- Setting my displays to 100% DPI scaling did not fix the problem. (I did not
try relogging in.)

Interestingly the issue only manifests with adaptive sync inactive:

- When I run my display at 75 Hz with Adaptive Sync set to Auto, the issue does
not affect the Spectacle region screenshot UI (Win+Shift+PrintScr), nor mpv in
fullscreen. Both the cursor and window contents redraw at a high frame rate
(60-75 FPS?).
        - Interestingly the Spectacle UI has a tear line when you first drag a
selection rectangle; when the screen dims, the lower section of screen is
dimmer (one frame later/newer), starting at the upper edge of the selection
rectangle.
- When I set Adaptive Sync to Always, the bug disappears *entirely* on this
monitor but still affects the second monitor.
- When I set Adaptive Sync to Never, the bug is no longer fixed in mpv
fullscreen.
        - When set to Never, the tear line still appears in Spectacle, even
though adaptive sync is off. Somehow even unchecking "Screen tearing: Allow in
fullscreen windows" does not fix this tear line.
- The issue persists if I disable my Adaptive Sync display in Display Settings,
and relogin with only the 60 Hz display active.
        - I initially found the bug with the 60 Hz display rotated 90 degrees.
I disabled rotation, disabled the 75 Hz display, and logged back in with only
the 60 Hz display active in standard rotation. The bug persisted.

EXPECTED RESULT
The screen updates normally.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.14.0
Qt Version: 6.9.1
Kernel Version: 6.14.10-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 5600X 6-Core Processor
Memory: 15.5 GiB of RAM
Graphics Processor: Intel® Graphics
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: B550M DS3H

ADDITIONAL INFORMATION
Opening windows would sometimes hang the desktop for a second or so. This
doesn't sound the same as Bug 505232, IDK if it's related.

Console output:
```
nyanpasu64@ryzen ~> kscreen-doctor -o
Output: 1 DP-1
        enabled
        connected
        priority 1
        DisplayPort
        Modes:  1:2560x1440@60!  2:2560x1440@75*  3:1920x1200@60 
4:1920x1080@60  5:1920x1080@60  6:1920x1080@60  7:1920x1080@50  8:1680x1050@60 
9:1280x1024@75  10:1280x1024@70  11:1280x1024@60  12:1440x900@60 
13:1152x864@75  14:1280x720@60  15:1280x720@60  16:1280x720@60  17:1280x720@50 
18:1024x768@75  19:1024x768@70  20:1024x768@60  21:800x600@75  22:800x600@72 
23:800x600@60  24:720x576@50  25:720x576@50  26:720x480@60  27:720x480@60 
28:720x480@60  29:720x480@60  30:720x480@60  31:640x480@75  32:640x480@73 
33:640x480@67  34:640x480@60  35:640x480@60  36:640x480@60  37:720x400@70
        Geometry: 0,192 2048x1152
        Scale: 1.25
        Rotation: 1
        Overscan: 0
        Vrr: Always
        RgbRange: Automatic
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Color power preference: prefer efficiency and performance
        Brightness control: supported, set to 100% and dimming to 100%
Output: 2 HDMI-A-3
        enabled
        connected
        priority 2
        HDMI
        Modes:  38:1920x1080@60*!  39:1280x1024@75  40:1280x1024@60 
41:1152x864@75  42:1024x768@75  43:1024x768@60  44:800x600@75  45:800x600@60 
46:640x480@75  47:640x480@60  48:720x400@70
        Geometry: 2048,0 864x1536
        Scale: 1.25
        Rotation: 2
        Overscan: 0
        Vrr: incapable
        RgbRange: Automatic
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: sRGB
        Color power preference: prefer efficiency and performance
        Brightness control: supported, set to 100% and dimming to 100%
```

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to