SysadminNews

KDE multi-GPU work: when an eGPU avoids extra copies

On this page
  1. The reported test is a conditional result
  2. Why the display connection matters
  3. A payload calculation, not a speed prediction

The performance problem is the route taken by a frame. A powerful external GPU can still spend time sending that frame through unnecessary transfers.

Conditional multi-GPU route: rendering on an eGPU can detour through memory and the primary GPU. Eligible direct scanout reaches a display attached to the rendering eGPU without that detour. Not every desktop frame qualifies.
Conditional multi-GPU route: rendering on an eGPU can detour through memory and the primary GPU. Eligible direct scanout reaches a display attached to the rendering eGPU without that detour. Not every desktop frame qualifies. Chart : PeopleAreGeek. Data source.
View full-size image

The reported test is a conditional result

In Fixing multi-GPU, July 31, KWin developer Xaver Hugl reports vkcube moving from 55 to 120 fps and Cyberpunk from 27 to 50 fps on a Framework 13 with RX 5700 XT, using a 5120×1440 120Hz display attached to the eGPU. These are the author’s measurements, not ours. KWin changes were merged, while Mesa and NVIDIA support remained pending at that account’s publication.

Why the display connection matters

The proposed fast path lets a frame rendered on the eGPU reach a display connected to that same GPU through direct scanout. It avoids the detour through the primary compositing GPU when the frame is eligible. Attaching the display to the primary GPU is not the configuration that demonstrated this path.

The author describes native Wayland operation and limits involving Xwayland and color processing. On the tested hardware, HDR, Night Light or a color profile can prevent the desired direct scanout. Normal composition and direct scanout are different cases; this is not a claim that all desktop frames become copy-free.

A payload calculation, not a speed prediction

A hypothetical uncompressed four-byte pixel buffer at that resolution and refresh rate represents 5120 × 1440 × 4 × 120 = 3,538,944,000 bytes per second, roughly 3.54 GB/s for one transfer. Two such transfers would carry about 7.08 GB/s. These are nominal payloads, not measured bus utilization: formats, compression and timing can change actual traffic.

For a useful comparison, record the compositor, driver, application backend, cable destination and color settings. Keep resolution and scene constant. A higher frame rate after changing several of those together does not identify which change helped. The diagram shows the eligible route; it does not promise those July benchmark gains on every Plasma installation.

September 8: correct the display attachment and direct-scanout path, attribute benchmark numbers and distinguish merged KWin work from pending driver support.