Skip to content

KWin Wayland crashes with heap corruption while using an external monitor in Desktop Mode #2629

Description

@TaruFFXI

Your system information

  • Steam client version: 1782861641
  • SteamOS version: SteamOS 3.8.16 Compilación: 20260716.1
  • Opted into Steam client beta?: NO
  • Opted into SteamOS beta?: NO
  • Have you checked for updates in Settings > System?: YES

Since updating to the latest SteamOS 3.8 stable release, I have been experiencing reproducible crashes of the KDE Wayland compositor (kwin_wayland) while playing a DirectX 8 game (Final Fantasy XI) through Wine in Desktop Mode.

The game itself does not crash. Instead, kwin_wayland aborts, the display goes black, audio continues playing, and every Wayland/X11 client loses its connection because the compositor has died.

This issue does not occur in Gaming Mode. I can play for hours there without any problems.

Steps to reproduce
Boot into Desktop Mode.
Connect an external monitor through a dock.
Launch Final Fantasy XI using Lumoria (Wine-based launcher).
Play normally for a while (the crash is not immediate but happens consistently after some time).
Suddenly the screen turns black while audio continues playing.
Sometimes crashes all programs, other only the game.

Expected behavior

The game continues running normally without affecting the desktop session.

Actual behavior

kwin_wayland aborts, causing the entire Wayland session to collapse.

Immediately after the crash:

Screen turns black.
Audio continues.
Chrome, Plasma, PowerDevil and other applications report that the Wayland connection has been lost.
XWayland clients also disconnect.
The game process itself remains alive.

Journal excerpt

The first error reported is:
kwin_wayland_wrapper: malloc(): smallbin double linked list corrupted
Process 3938 (kwin_wayland) terminated abnormally with signal 6/ABRT

After that, every application reports:
The Wayland connection broke. Did the Wayland compositor die?

followed by X11 connection failures.

The stack trace shows the crash occurring during KWin's DRM presentation path:
malloc()
libkwin.so
KWin::DrmOutput::present()
KWin::Compositor::composite()

The crash happens inside kwin_wayland, not inside Wine or the game process.

Additional information

During troubleshooting I verified the following:

No GPU reset messages.
No amdgpu ring timeout.
No Vulkan VK_ERROR_DEVICE_LOST.
No DXVK errors.
No Wine crash.
No PlayOnline crash.

The only process that aborts is kwin_wayland.

**

fallo_kwin.txt

**

Before the recent SteamOS 3.8 updates, this setup worked correctly.

I also noticed another change after the update:

PlayOnline's window title bar used to behave like a normal XWayland window.
After the update, the cursor disappears when hovering over the title bar and the window can no longer be dragged.

This may or may not be related, but both behaviors appeared after the same system update.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions