Summary
After updating Sunshine from 2026.516.143833 to 2026.906.222525, Wayland
(wlr-screencopy) capture fails on an AMD Renoir APU under Hyprland. No stream
ever starts, so Moonlight clients fail to connect. Downgrading to
2026.516.143833 restores full functionality, so this is a regression in the
new Wayland/DMA-BUF capture path.
Is there an existing issue for this?
Searched. Found related-but-distinct wlr/dmabuf capture reports, all Intel or
different EGL codes: #5571 (Intel Yf-tiled stride), #5663 (Intel CCS multi-plane,
EGL_BAD_MATCH 0x3009), #5258 (sway corrupted image), #5474 (Mesa 26.1.6 init).
This report is AMD Renoir with EGL_NOT_INITIALIZED (0x3001). Also possibly
related to #4197 (Hyprland virtual display), since the capture target here is a
Hyprland headless output.
Environment
- Sunshine: 2026.906.222525-1 (sunshine-bin, prebuilt; links system libs only)
- Last known-good: 2026.516.143833-4
- OS: Arch Linux, kernel 6.18.44-1-lts
- GPU: AMD Cezanne / Renoir [1002:1638] (Radeon Vega, integrated)
- Mesa: 26.1.7-1 (radeonsi)
- libva: 2.24.1-1
- Compositor: Hyprland 0.56.2 (wlroots-based; zwlr_screencopy_manager_v1 v3,
zwp_linux_dmabuf_v1 v5)
- Capture: Wayland wlr-screencopy (auto)
- Encoder: hevc_vaapi (auto)
Steps to reproduce
- Hyprland session on AMD Renoir.
- Sunshine 2026.906 with a minimal config (locale, output_name, stream_audio).
Target output is a Hyprland headless output (hyprctl output create headless ipad-as-monitor).
- Connect from Moonlight and start a stream (or observe the startup encoder
probe).
Expected behavior
Stream starts and is captured, as it did on 2026.516.
Actual behavior
Every encoder probe / stream start fails. Moonlight cannot connect. Key errors,
repeated continuously (~971x "Failed to create buffer from params",
~989x "Selected monitor [] for streaming" in one log):
Info : Screencasting with Wayland's protocol
Info : [wlgrab] Selected monitor [] for streaming
Info : Creating encoder [hevc_vaapi]
Error: [wayland] Failed to create buffer from params
Info : vaapi vendor: Mesa Gallium driver 26.1.7-arch1.1 for AMD Radeon Graphics (radeonsi, renoir, ACO, DRM 3.64, 6.18.44-1-lts)
Error: Couldn't export va surface handle: [1]: invalid VASurfaceID
...
Error: Couldn't initialize EGL display: [00003001]
Notes
[wlgrab] Selected monitor [] for streaming logs an empty monitor name,
even though enumeration lists the target output correctly:
[wayland] Name: ipad-as-monitor Offset: 1440x0 Logical size: 1024x768.
Unsure whether the empty-name selection is cosmetic or part of the failure.
- VAAPI/Mesa initialize fine (encoder side); the failure is on the capture /
dmabuf import / EGL side.
- Reverting to 2026.516.143833 fully fixes it with the same system libs, so the
regression is in Sunshine's code, not the system Mesa/EGL stack.
Additional context
Full startup capture sequence and rotating logs available on request.
Summary
After updating Sunshine from
2026.516.143833to2026.906.222525, Wayland(wlr-screencopy) capture fails on an AMD Renoir APU under Hyprland. No stream
ever starts, so Moonlight clients fail to connect. Downgrading to
2026.516.143833restores full functionality, so this is a regression in thenew Wayland/DMA-BUF capture path.
Is there an existing issue for this?
Searched. Found related-but-distinct wlr/dmabuf capture reports, all Intel or
different EGL codes: #5571 (Intel Yf-tiled stride), #5663 (Intel CCS multi-plane,
EGL_BAD_MATCH 0x3009), #5258 (sway corrupted image), #5474 (Mesa 26.1.6 init).
This report is AMD Renoir with EGL_NOT_INITIALIZED (0x3001). Also possibly
related to #4197 (Hyprland virtual display), since the capture target here is a
Hyprland headless output.
Environment
zwp_linux_dmabuf_v1 v5)
Steps to reproduce
Target output is a Hyprland headless output (
hyprctl output create headless ipad-as-monitor).probe).
Expected behavior
Stream starts and is captured, as it did on 2026.516.
Actual behavior
Every encoder probe / stream start fails. Moonlight cannot connect. Key errors,
repeated continuously (~971x "Failed to create buffer from params",
~989x "Selected monitor [] for streaming" in one log):
Notes
[wlgrab] Selected monitor [] for streaminglogs an empty monitor name,even though enumeration lists the target output correctly:
[wayland] Name: ipad-as-monitor Offset: 1440x0 Logical size: 1024x768.Unsure whether the empty-name selection is cosmetic or part of the failure.
dmabuf import / EGL side.
regression is in Sunshine's code, not the system Mesa/EGL stack.
Additional context
Full startup capture sequence and rotating logs available on request.