LizardByte / LizardByte/Sunshine

[CASE] A case where USO caused a black screen in VM streaming

Open
#5,477 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
41.3k
Forks
2.1k
Avg merge
23h 47m
Merged PRs (30d)
124

Description

Not bug.

This is from my personal setup. The host system is Proxmox VE, with both Windows 10 and Windows 11 deployed as virtual machines.

This issue affected me for about a year. Streaming worked normally in the Windows 10 VM, but the Windows 11 VM could connect successfully while showing a black screen.

At first, I suspected Sunshine, iGPU passthrough, or display settings. However, the issue was not specific to Sunshine. I also tested outbound UDP traffic with iperf3 and observed the same problem.

USO stands for UDP Segmentation Offload. It allows Windows to pass UDP segmentation work to the network adapter driver instead of handling every packet in the normal network stack.

The Windows 11 VM uses a VirtIO network adapter. When USO was enabled, outbound UDP traffic was affected and Sunshine showed a black screen. I captured the UDP video stream and reconstructed a normal video frame from the captured data, so the video encoder and stream content were not the cause.

The fix was simply disabling IPv4 and IPv6 USO in the VirtIO network adapter settings. After that, both Sunshine streaming and iperf3 UDP traffic worked normally.

I cannot yet confirm whether the underlying issue is in Windows 11, the VirtIO driver, or the virtualization network backend. However, in this environment, disabling USO resolved the issue.

The Windows 10 VM did not show the same issue, but I did not record its USO state at the time, so it may not have been using the same USO path.

### Host Operating System

Windows

### Operating System Version

win11

### Architecture

amd64/x86_64

### Package

Windows - exe installer

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository file, test, or code entry point is named; the issue records a Windows 11 VM networking case and a USO workaround. First confirm whether maintainers want this documented or investigated further, then define an appropriate documentation location and acceptance criteria before starting.

Written by the indexing model from the issue text.

Assessment

Domain
networking
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.