Skip to content

KWIN Direct Scan Out (default in newer plasma 6 releases) causes cropped fullscreen content #4982

@theofficialgman

Description

@theofficialgman

Is there an existing issue for this?

  • I have searched the existing issues

Is your issue described in the documentation?

  • I have read the documentation

Is your issue present in the latest beta/pre-release?

This issue is present in the latest pre-release

Describe the Bug

Fullscreen applications in KDE Plasma with fractional scaling are cropped in sunshine/moonlight when kwin direct scan out under wayland (kms, not XDG portal since that force disables direct scanout due to compositing always being enabled) is enabled (which is the default).

Disabling it explicitly is a workaround for the sunshine bug.

eg: in /etc/environment, put:
KWIN_DRM_NO_DIRECT_SCANOUT=1

I have also documented this issue here https://bugs.kde.org/show_bug.cgi?id=518901 (even if the underlying bug is with sunshine) to make this wider known with the kde developers who added this feature that it regressed sunshine.

Expected Behavior

Fullscreen applications appear as normal (as they do on the actual display).

Additional Context

No response

Host Operating System

Linux

Operating System Version

KDE Neon 24.04

Architecture

amd64/x86_64

Package

Linux - deb

GPU Type

AMD

GPU Model

RX 9600

GPU Driver/Mesa Version

26.0.4

Capture Method

KMS (Linux)

Apps

Log output

[2026-04-12 20:52:48.370]: Info: Sunshine version: 2026.412.25828 commit: ba1f3bba3a5cc98a2db12c25569020e32b962cd2
[2026-04-12 20:52:48.370]: Info: Package Publisher: LizardByte
[2026-04-12 20:52:48.370]: Info: Publisher Website: https://app.lizardbyte.dev
[2026-04-12 20:52:48.370]: Info: Get support: https://app.lizardbyte.dev/support
Cannot load libcuda.so.1
[2026-04-12 20:52:48.371]: Error: Couldn't load cuda: -1
[2026-04-12 20:52:48.371]: Info: [wayland] Found display [wayland-0]
[2026-04-12 20:52:48.371]: Info: [wayland] Found interface: zxdg_output_manager_v1(31) version 3
[2026-04-12 20:52:48.371]: Info: [wayland] Found interface: zwp_linux_dmabuf_v1(57) version 5
[2026-04-12 20:52:48.371]: Info: [wayland] Found interface: wl_output(64) version 4
[2026-04-12 20:52:48.371]: Warning: [wlgrab] Missing Wayland wire for wlr-export-dmabuf
[2026-04-12 20:52:48.371]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:52:48.372]: Info: [wayland] Found display [wayland-0]
[2026-04-12 20:52:48.372]: Info: [wayland] Found display [wayland-0]
[2026-04-12 20:52:48.372]: Info: [wayland] Found interface: zxdg_output_manager_v1(31) version 3
[2026-04-12 20:52:48.372]: Info: [wayland] Found interface: zwp_linux_dmabuf_v1(57) version 5
[2026-04-12 20:52:48.372]: Info: [wayland] Found interface: wl_output(64) version 4
[2026-04-12 20:52:48.372]: Info: [wayland] Resolution: 3840x2160
[2026-04-12 20:52:48.372]: Info: [wayland] Offset: 0x0
[2026-04-12 20:52:48.372]: Info: [wayland] Logical size: 2560x1440
[2026-04-12 20:52:48.372]: Info: [wayland] Name: DP-1
[2026-04-12 20:52:48.372]: Info: [wayland] Found monitor: LG Electronics LG HDR 4K
[2026-04-12 20:52:48.372]: Info: -------- Start of KMS monitor list --------
[2026-04-12 20:52:48.372]: Info: Monitor 0 is DP-1: LG Electronics LG HDR 4K
[2026-04-12 20:52:48.372]: Info: --------- End of KMS monitor list ---------
[2026-04-12 20:52:48.471]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2026-04-12 20:52:48.472]: Info: Trying encoder [nvenc]
[2026-04-12 20:52:48.472]: Info: Screencasting with KMS
[2026-04-12 20:52:48.472]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:52:48.474]: Error: Couldn't find monitor [0]
[2026-04-12 20:52:48.474]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:52:48.474]: Error: Couldn't find monitor [0]
[2026-04-12 20:52:48.674]: Info: Screencasting with KMS
[2026-04-12 20:52:48.674]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:52:48.675]: Error: Couldn't find monitor [0]
[2026-04-12 20:52:48.675]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:52:48.675]: Error: Couldn't find monitor [0]
[2026-04-12 20:52:48.875]: Info: Encoder [nvenc] failed
[2026-04-12 20:52:48.875]: Info: Trying encoder [vulkan]
[2026-04-12 20:52:48.875]: Info: Screencasting with KMS
[2026-04-12 20:52:48.875]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:52:48.875]: Info: Found monitor for DRM screencasting
[2026-04-12 20:52:48.875]: Info: Found connector ID [100]
[2026-04-12 20:52:48.876]: Info: Found cursor plane [83]
[2026-04-12 20:52:48.876]: Info: Creating encoder [h264_vulkan]
[2026-04-12 20:52:48.876]: Info: Color coding: SDR (Rec. 601)
[2026-04-12 20:52:48.876]: Info: Color depth: 8-bit
[2026-04-12 20:52:48.876]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:52:48.918]: Info: Streaming bitrate is 1000000
[2026-04-12 20:52:48.919]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:52:48.928]: Info: Creating encoder [hevc_vulkan]
[2026-04-12 20:52:48.928]: Info: Color coding: SDR (Rec. 601)
[2026-04-12 20:52:48.928]: Info: Color depth: 8-bit
[2026-04-12 20:52:48.928]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:52:48.974]: Info: Streaming bitrate is 1000000
[2026-04-12 20:52:48.978]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:52:48.991]: Info: Creating encoder [av1_vulkan]
[2026-04-12 20:52:48.991]: Info: Color coding: SDR (Rec. 601)
[2026-04-12 20:52:48.991]: Info: Color depth: 8-bit
[2026-04-12 20:52:48.991]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:52:49.031]: Info: Streaming bitrate is 1000000
[2026-04-12 20:52:49.032]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:52:49.040]: Info: Screencasting with KMS
[2026-04-12 20:52:49.040]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:52:49.040]: Info: Found monitor for DRM screencasting
[2026-04-12 20:52:49.041]: Info: Found connector ID [100]
[2026-04-12 20:52:49.041]: Info: Found cursor plane [83]
[2026-04-12 20:52:49.041]: Info: Creating encoder [hevc_vulkan]
[2026-04-12 20:52:49.041]: Info: Color coding: SDR (Rec. 709)
[2026-04-12 20:52:49.041]: Info: Color depth: 10-bit
[2026-04-12 20:52:49.041]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:52:49.082]: Info: Streaming bitrate is 1000000
[2026-04-12 20:52:49.086]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:52:49.096]: Info: Creating encoder [av1_vulkan]
[2026-04-12 20:52:49.096]: Info: Color coding: SDR (Rec. 709)
[2026-04-12 20:52:49.096]: Info: Color depth: 10-bit
[2026-04-12 20:52:49.096]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:52:49.138]: Info: Streaming bitrate is 1000000
[2026-04-12 20:52:49.139]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:52:49.156]: Info: 
[2026-04-12 20:52:49.157]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2026-04-12 20:52:49.157]: Info: 
[2026-04-12 20:52:49.157]: Info: Found H.264 encoder: h264_vulkan [vulkan]
[2026-04-12 20:52:49.157]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
[2026-04-12 20:52:49.157]: Info: Found AV1 encoder: av1_vulkan [vulkan]
[2026-04-12 20:52:49.157]: Info: Starting system tray
[2026-04-12 20:52:49.160]: Info: Configuration UI available at [https://localhost:47990]
[2026-04-12 20:52:49.160]: Info: Adding avahi service garrett-desktop
[2026-04-12 20:52:49.197]: Info: System tray created
[2026-04-12 20:52:49.197]: Info: Starting main loop
[2026-04-12 20:52:50.137]: Info: Avahi service garrett-desktop successfully established.
[2026-04-12 20:53:00.357]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2026-04-12 20:53:00.357]: Info: Trying encoder [nvenc]
[2026-04-12 20:53:00.357]: Info: Screencasting with KMS
[2026-04-12 20:53:00.357]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:00.357]: Error: Couldn't find monitor [0]
[2026-04-12 20:53:00.358]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:00.358]: Error: Couldn't find monitor [0]
[2026-04-12 20:53:00.558]: Info: Screencasting with KMS
[2026-04-12 20:53:00.558]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:00.558]: Error: Couldn't find monitor [0]
[2026-04-12 20:53:00.558]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:00.558]: Error: Couldn't find monitor [0]
[2026-04-12 20:53:00.758]: Info: Encoder [nvenc] failed
[2026-04-12 20:53:00.758]: Info: Trying encoder [vulkan]
[2026-04-12 20:53:00.758]: Info: Screencasting with KMS
[2026-04-12 20:53:00.758]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:00.759]: Info: Found monitor for DRM screencasting
[2026-04-12 20:53:00.759]: Info: Found connector ID [100]
[2026-04-12 20:53:00.759]: Info: Found cursor plane [83]
[2026-04-12 20:53:00.759]: Info: Creating encoder [h264_vulkan]
[2026-04-12 20:53:00.759]: Info: Color coding: SDR (Rec. 601)
[2026-04-12 20:53:00.759]: Info: Color depth: 8-bit
[2026-04-12 20:53:00.759]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:53:00.807]: Info: Streaming bitrate is 1000000
[2026-04-12 20:53:00.807]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:53:00.823]: Info: Creating encoder [hevc_vulkan]
[2026-04-12 20:53:00.823]: Info: Color coding: SDR (Rec. 601)
[2026-04-12 20:53:00.823]: Info: Color depth: 8-bit
[2026-04-12 20:53:00.823]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:53:00.867]: Info: Streaming bitrate is 1000000
[2026-04-12 20:53:00.870]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:53:00.891]: Info: Creating encoder [av1_vulkan]
[2026-04-12 20:53:00.891]: Info: Color coding: SDR (Rec. 601)
[2026-04-12 20:53:00.891]: Info: Color depth: 8-bit
[2026-04-12 20:53:00.891]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:53:00.936]: Info: Streaming bitrate is 1000000
[2026-04-12 20:53:00.937]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:53:00.956]: Info: Screencasting with KMS
[2026-04-12 20:53:00.956]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:00.956]: Info: Found monitor for DRM screencasting
[2026-04-12 20:53:00.956]: Info: Found connector ID [100]
[2026-04-12 20:53:00.957]: Info: Found cursor plane [83]
[2026-04-12 20:53:00.957]: Info: Creating encoder [hevc_vulkan]
[2026-04-12 20:53:00.957]: Info: Color coding: SDR (Rec. 709)
[2026-04-12 20:53:00.957]: Info: Color depth: 10-bit
[2026-04-12 20:53:00.957]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:53:01.001]: Info: Streaming bitrate is 1000000
[2026-04-12 20:53:01.006]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:53:01.019]: Info: Creating encoder [av1_vulkan]
[2026-04-12 20:53:01.019]: Info: Color coding: SDR (Rec. 709)
[2026-04-12 20:53:01.019]: Info: Color depth: 10-bit
[2026-04-12 20:53:01.020]: Info: Color range: JPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:53:01.066]: Info: Streaming bitrate is 1000000
[2026-04-12 20:53:01.067]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:53:01.080]: Info: 
[2026-04-12 20:53:01.080]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2026-04-12 20:53:01.080]: Info: 
[2026-04-12 20:53:01.080]: Info: Found H.264 encoder: h264_vulkan [vulkan]
[2026-04-12 20:53:01.080]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
[2026-04-12 20:53:01.080]: Info: Found AV1 encoder: av1_vulkan [vulkan]
[2026-04-12 20:53:01.080]: Info: Executing [Desktop]
[2026-04-12 20:53:01.123]: Info: New streaming session started [active sessions: 1]
[2026-04-12 20:53:01.222]: Info: CLIENT CONNECTED
[2026-04-12 20:53:01.257]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:01.257]: Info: [wayland] Found display [wayland-0]
[2026-04-12 20:53:01.257]: Info: [wayland] Found interface: zxdg_output_manager_v1(31) version 3
[2026-04-12 20:53:01.257]: Info: [wayland] Found interface: zwp_linux_dmabuf_v1(57) version 5
[2026-04-12 20:53:01.257]: Info: [wayland] Found interface: wl_output(64) version 4
[2026-04-12 20:53:01.258]: Info: [wayland] Resolution: 3840x2160
[2026-04-12 20:53:01.258]: Info: [wayland] Offset: 0x0
[2026-04-12 20:53:01.258]: Info: [wayland] Logical size: 2560x1440
[2026-04-12 20:53:01.258]: Info: [wayland] Name: DP-1
[2026-04-12 20:53:01.258]: Info: [wayland] Found monitor: LG Electronics LG HDR 4K
[2026-04-12 20:53:01.258]: Info: -------- Start of KMS monitor list --------
[2026-04-12 20:53:01.258]: Info: Monitor 0 is DP-1: LG Electronics LG HDR 4K
[2026-04-12 20:53:01.258]: Info: --------- End of KMS monitor list ---------
[2026-04-12 20:53:01.258]: Info: Screencasting with KMS
[2026-04-12 20:53:01.258]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:01.258]: Info: Found monitor for DRM screencasting
[2026-04-12 20:53:01.258]: Info: Found connector ID [100]
[2026-04-12 20:53:01.258]: Info: Found cursor plane [83]
[2026-04-12 20:53:01.264]: Info: Creating encoder [hevc_vulkan]
[2026-04-12 20:53:01.264]: Info: Color coding: SDR (Rec. 709)
[2026-04-12 20:53:01.264]: Info: Color depth: 8-bit
[2026-04-12 20:53:01.264]: Info: Color range: MPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:53:01.315]: Info: Streaming bitrate is 7308000
[2026-04-12 20:53:01.319]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:53:01.319]: Info: Minimum FPS target set to ~30fps (33.3333ms)
[2026-04-12 20:53:01.621]: Info: Found default monitor by name: alsa_output.pci-0000_03_00.1.hdmi-stereo.monitor
[2026-04-12 20:53:01.653]: Info: Opus initialized: 48 kHz, 2 channels, 96 kbps (total), LOWDELAY
[2026-04-12 20:53:03.900]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:03.900]: Info: [wayland] Found display [wayland-0]
[2026-04-12 20:53:03.900]: Info: [wayland] Found interface: zxdg_output_manager_v1(31) version 3
[2026-04-12 20:53:03.900]: Info: [wayland] Found interface: zwp_linux_dmabuf_v1(57) version 5
[2026-04-12 20:53:03.900]: Info: [wayland] Found interface: wl_output(64) version 4
[2026-04-12 20:53:03.900]: Info: [wayland] Resolution: 3840x2160
[2026-04-12 20:53:03.900]: Info: [wayland] Offset: 0x0
[2026-04-12 20:53:03.900]: Info: [wayland] Logical size: 2560x1440
[2026-04-12 20:53:03.900]: Info: [wayland] Name: DP-1
[2026-04-12 20:53:03.900]: Info: [wayland] Found monitor: LG Electronics LG HDR 4K
[2026-04-12 20:53:03.900]: Info: -------- Start of KMS monitor list --------
[2026-04-12 20:53:03.901]: Info: Monitor 0 is DP-1: LG Electronics LG HDR 4K
[2026-04-12 20:53:03.901]: Info: --------- End of KMS monitor list ---------
[2026-04-12 20:53:03.901]: Info: Screencasting with KMS
[2026-04-12 20:53:03.901]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:03.901]: Info: Found monitor for DRM screencasting
[2026-04-12 20:53:03.901]: Info: Found connector ID [100]
[2026-04-12 20:53:03.901]: Info: Found cursor plane [83]
[2026-04-12 20:53:03.907]: Info: Creating encoder [hevc_vulkan]
[2026-04-12 20:53:03.907]: Info: Color coding: SDR (Rec. 709)
[2026-04-12 20:53:03.907]: Info: Color depth: 8-bit
[2026-04-12 20:53:03.907]: Info: Color range: MPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:53:03.948]: Info: Streaming bitrate is 7308000
[2026-04-12 20:53:03.952]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:53:03.952]: Info: Minimum FPS target set to ~30fps (33.3333ms)
[2026-04-12 20:53:18.655]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:18.655]: Info: [wayland] Found display [wayland-0]
[2026-04-12 20:53:18.658]: Info: [wayland] Found interface: zxdg_output_manager_v1(31) version 3
[2026-04-12 20:53:18.658]: Info: [wayland] Found interface: zwp_linux_dmabuf_v1(57) version 5
[2026-04-12 20:53:18.658]: Info: [wayland] Found interface: wl_output(64) version 4
[2026-04-12 20:53:18.658]: Info: [wayland] Resolution: 3840x2160
[2026-04-12 20:53:18.658]: Info: [wayland] Offset: 0x0
[2026-04-12 20:53:18.658]: Info: [wayland] Logical size: 2560x1440
[2026-04-12 20:53:18.658]: Info: [wayland] Name: DP-1
[2026-04-12 20:53:18.658]: Info: [wayland] Found monitor: LG Electronics LG HDR 4K
[2026-04-12 20:53:18.658]: Info: -------- Start of KMS monitor list --------
[2026-04-12 20:53:18.658]: Info: Monitor 0 is DP-1: LG Electronics LG HDR 4K
[2026-04-12 20:53:18.658]: Info: --------- End of KMS monitor list ---------
[2026-04-12 20:53:18.658]: Info: Screencasting with KMS
[2026-04-12 20:53:18.658]: Info: /dev/dri/card1 -> amdgpu
[2026-04-12 20:53:18.658]: Info: Found monitor for DRM screencasting
[2026-04-12 20:53:18.658]: Info: Found connector ID [100]
[2026-04-12 20:53:18.659]: Info: Found cursor plane [83]
[2026-04-12 20:53:18.669]: Info: Creating encoder [hevc_vulkan]
[2026-04-12 20:53:18.669]: Info: Color coding: SDR (Rec. 709)
[2026-04-12 20:53:18.669]: Info: Color depth: 8-bit
[2026-04-12 20:53:18.669]: Info: Color range: MPEG
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
[2026-04-12 20:53:18.710]: Info: Streaming bitrate is 7308000
[2026-04-12 20:53:18.714]: Info: Vulkan encode using GPU: AMD Radeon Graphics (RADV GFX1200)
[2026-04-12 20:53:18.714]: Info: Minimum FPS target set to ~30fps (33.3333ms)

Online logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions