Skip to content

fix: Claude Desktop blank/crashed window when launched via XRDP or VNC #319

@davidamacey

Description

@davidamacey

Problem

When Claude Desktop is launched inside an XRDP or VNC remote-desktop session, the app either:

  • Renders a completely blank white window, or
  • Crashes at startup with a GPU-related error in ~/.config/Claude/logs/

This happens because Electron's GPU-accelerated compositor path requires real GPU access, which XRDP and most VNC servers do not provide — they expose a software framebuffer only.

Environment

  • Display server: XRDP (reproduces with xrdp-sesman running, or $XRDP_SESSION set)
  • Also affects: VNC sessions, headless X servers without GPU passthrough

Fix

Detect remote-desktop sessions in scripts/launcher-common.sh and pass
--disable-gpu --disable-software-rasterizer to Electron, which forces the
CPU compositor path and renders correctly in all software-only framebuffer environments.

Detection logic (two signals, either is sufficient):

  1. $XRDP_SESSION environment variable (set by the XRDP X server)
  2. xrdp-sesman process running (catches VNC-via-xrdp and cases where the env var isn't propagated)

A PR with this fix is attached.


Written by Claude Sonnet 4.6 via Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or requesttriage: investigatedIssue has been triaged and investigated

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions