[GH-ISSUE #494] No intra-refresh option on the NVENC pipelines — no equivalent to Sunshine's setting #299

Open
opened 2026-10-15 12:59:27 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @RoeeKa on GitHub (Sep 1, 2026).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/494

Sunshine/Apollo expose an "intra refresh" encoder option that some clients (notably Moonlight on Xbox) rely on. I couldn't find a way to get the same thing out of Wolf on an NVIDIA host, none of the NVENC elements in the Wolf image seem to accept an intra-refresh property.

This is a hard requirement for the Xbox client, not having it sometimes corrupts the image with a color washing effect. intra-refresh should let the client self correct (currently only fixed by hard restart)

The Xbox client developer Andy has provided instructions on what needs to be done in this discord conversation.

Attaching his instructions here for reference as well:

yep, Wolf should enable intra-refresh in the encoder when the client requests x-ss-video[0].intraRefresh=1. You are just using ffmpeg right?
For nvenc, ffmpeg just needs -g 300 -intra-refresh 1 -single-slice-intra-refresh 1. Just convert that to gstreamer I guess. For AMD, ffmpeg only supports it for h264 maybe you'll be lucky and it's already in GST.
You can also look for that and send a normal stream with regular keyframes but that will result in a more bursty stream since those frames are very large.

Originally created by @RoeeKa on GitHub (Sep 1, 2026). Original GitHub issue: https://github.com/games-on-whales/wolf/issues/494 Sunshine/Apollo expose an "intra refresh" encoder option that some clients (notably Moonlight on Xbox) rely on. I couldn't find a way to get the same thing out of Wolf on an NVIDIA host, none of the NVENC elements in the Wolf image seem to accept an intra-refresh property. This is a hard requirement for the Xbox client, not having it sometimes corrupts the image with a color washing effect. intra-refresh should let the client self correct (currently only fixed by hard restart) The Xbox client developer Andy has provided instructions on what needs to be done in this [discord](https://discord.com/channels/352065098472488960/856542329724993536/1544116451483459654) conversation. Attaching his instructions here for reference as well: yep, Wolf should enable intra-refresh in the encoder when the client requests `x-ss-video[0].intraRefresh=1`. You are just using ffmpeg right? For nvenc, ffmpeg just needs `-g 300 -intra-refresh 1 -single-slice-intra-refresh 1`. Just convert that to gstreamer I guess. For AMD, ffmpeg only supports it for h264 maybe you'll be lucky and it's already in GST. You can also look for that and send a normal stream with regular keyframes but that will result in a more bursty stream since those frames are very large.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/wolf#299
No description provided.