LizardByte / LizardByte/Sunshine
[CASE] A case where USO caused a black screen in VM streaming
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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