protonscr

Steam Remote Play cursor invisible on Linux client under KDE Plasma Wayland when streaming from Windows 11 host

steamopen Streaming
ValveSoftware/steam-for-linux#13693 · opened 2026-10-05 by ShadowRep · updated 2026-10-05 · 0 comments · github
SShadowRep 2026-10-05 github

I tried to troubleshoot with ChatGPT and in the end it told me to file this here.
I hope it helps, this is way above my understanding.

When using Steam Remote Play on a CachyOS Linux client running KDE Plasma Wayland, the streamed game displays correctly and mouse input works, but the mouse cursor image is completely invisible inside the streamed game.

The same client displays the normal mouse cursor correctly in Steam's UI and in ordinary Xwayland applications.

The Remote Play host is Windows 11 with an NVIDIA RTX 5080. The issue occurs with multiple games, so it does not appear to be game-specific.

Client

  • OS: CachyOS Linux
  • Desktop: KDE Plasma 6.7.5
  • Session: Wayland
  • GPU: AMD Radeon 780M
  • Xwayland: 24.1.13-1.1
  • libei: 1.6.0
  • Steam: 1.0.0.87-3
  • Steam Beta was also tested; issue persisted
  • No Gamescope process is running

Relevant environment:

XDG_SESSION_TYPE=wayland
WAYLAND_DISPLAY=wayland-0
DISPLAY=:0

The active Remote Play process is:

~/.local/share/Steam/ubuntu12_64/streaming_client

Host

  • Windows 11
  • NVIDIA RTX 5080

Symptoms

  • Remote Play video is displayed correctly.
  • Mouse movement and clicks work normally.
  • Cursor image is completely invisible inside streamed games.
  • Steam's normal UI cursor is visible.
  • The problem occurs with multiple Windows-hosted games.
  • An ordinary Xwayland application (xmessage) displays the cursor correctly.

Tests performed

KDE cursor configuration

Changing KDE cursor size from 30 px to 24 px did not change the problem.

Changing the cursor theme from:

Win10OS-cursors

to:

Breeze

also did not change the problem.

Xwayland

The Remote Play client is confirmed to communicate with Xwayland:

streaming_client fd 16 ↔ Xwayland

The client does not appear to have a direct connection to the Wayland compositor.

Xwayland itself handles normal cursors correctly; xmessage displayed a visible cursor.

X11 protocol tracing

During the period when the Remote Play cursor was invisible:

  • XInput requests were observed.

  • Xwayland Present traffic was observed continuously.

  • No XFixes cursor requests were observed.

  • No core X11 cursor-management requests were observed:

    • CreateCursor
    • CreateGlyphCursor
    • FreeCursor
    • RecolorCursor
  • No XTEST requests were observed.

This suggests the Remote Play client is not successfully asking Xwayland to create/change the visible cursor during the affected state.

Steam Remote Play cursor implementation

The streaming_client binary contains the Remote Play cursor protocol symbols:

CShowCursorMsg
CHideCursorMsg
CSetCursorMsg
CGetCursorImageMsg
CSetCursorImageMsg
CDeleteCursorMsg
CSetCursorScaleMsg

It also imports SDL cursor functions including:

SDL_CreateColorCursor
SDL_SetCursor
SDL_ShowCursor
SDL_HideCursor
SDL_DestroyCursor

Static analysis identified a cursor-image construction path in streaming_client that creates an SDL surface from received image data and constructs an internal cursor object.

The relevant path can end up with an internal cursor object that has no SDL cursor handle, depending on the backend/native cursor path. This is consistent with the possibility that Remote Play receives/constructs cursor data but fails to present it through Xwayland.

extest

libextest-git was installed from the CachyOS repository as a test.

It did not resolve the issue.

The active streaming_client process did not load libextest.so, and no XTEST requests were observed during the affected state, so this does not appear to be an extest/input-injection issue.

SDL backend

The Remote Play client uses SDL3 and has both X11/Xwayland and Wayland support available.

Attempting to launch Steam with:

SDL_VIDEODRIVER=x11

did not resolve the problem. The environment variable was not present in the subsequently launched streaming_client, indicating Steam does not propagate it to the Remote Play client.

Other checks

  • Steam Stable tested.
  • Steam Beta tested.
  • No Gamescope.
  • No Plasma X11 session installed.
  • Reinstalling/changing cursor themes was not effective.

Expected behavior

The cursor supplied by the Remote Play host should be visible over the streamed game while mouse input remains active.

Actual behavior

The streamed game and mouse input work, but the cursor image is completely invisible.

Suspected area

This appears to be specific to the Steam Remote Play cursor-image/presentation path on the Linux client when running through KDE Plasma Wayland/Xwayland.

It does not appear to be:

  • a KDE cursor-theme problem,
  • a KDE cursor-size problem,
  • an Xwayland-wide cursor rendering problem,
  • a mouse-input problem,
  • a game-specific problem,
  • or an extest/XTEST problem.

A recent Valve issue involving corrupted Remote Play cursor images on Linux was investigated, but that issue concerns a Linux host and therefore does not appear to match this Windows-host case.

Reproduction

  1. Run CachyOS with KDE Plasma Wayland.
  2. Start Steam.
  3. Connect to a Windows 11 PC using Steam Remote Play.
  4. Start a game.
  5. Move the mouse inside the streamed game.
  6. Mouse input works, but the cursor image is invisible.

The issue reproduces with multiple Windows-hosted games.

Launch options