You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First of all, thank you for the amazing work on Sunshine. It has become an essential project for anyone running a self-hosted GameStream setup.
I would like to propose a feature request that could significantly improve multi-monitor setups.
Problem
Currently Sunshine streams only a single display per session. On hosts with multiple monitors there is no native way to stream each display independently.
For example, a very common setup is:
monitor 1 → main screen
monitor 2 → secondary screen
monitor 3 → optional third screen
Right now users who want to access these displays remotely have to rely on workarounds such as:
• merging displays into one ultrawide desktop (for example 5120x1440)
• running multiple Sunshine instances on different ports
• creating virtual monitors or using dummy HDMI plugs
• switching monitors dynamically with scripts
These workarounds can function but they introduce complexity and fragile behavior.
display_1 → stream A
display_2 → stream B
display_3 → stream C
Then Moonlight clients could connect to the specific display they want to view.
Another possible approach could be allowing a single Sunshine instance to expose multiple streams internally, each mapped to a specific display.
Why this could be useful
Many users run systems with 2 or 3 monitors and would like to access them remotely without combining them into a single large desktop or running multiple Sunshine processes.
Modern GPUs already support multiple concurrent encoding sessions (for example NVENC on NVIDIA GPUs), so multiple encoding pipelines may be technically feasible.
Summary
Native multi-display streaming support would simplify multi-monitor setups significantly and remove the need for scripts, dummy displays, or multiple Sunshine instances.
If there are limitations related to the GameStream protocol or Moonlight client behavior that prevent this, it would be very interesting to understand them.
Thanks again for the great work on Sunshine.
If this is something that could be explored in the future, I would be happy to help testing experimental builds.
A possible idea could be add metadata in the beginning of the stream reporting the available monitor configurations, resolution, position (how they are offset in the original desktop configuration) so that the remote client could take advantage of this and implement divide/split the frames in windows, reposition them and so on, it's something that could be also implemented back in the client but the server need to provide this data to the connecting client.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Select Topic Area
Feature Request
Body
Hi Sunshine developers,
First of all, thank you for the amazing work on Sunshine. It has become an essential project for anyone running a self-hosted GameStream setup.
I would like to propose a feature request that could significantly improve multi-monitor setups.
Problem
Currently Sunshine streams only a single display per session. On hosts with multiple monitors there is no native way to stream each display independently.
For example, a very common setup is:
monitor 1 → main screen
monitor 2 → secondary screen
monitor 3 → optional third screen
Right now users who want to access these displays remotely have to rely on workarounds such as:
• merging displays into one ultrawide desktop (for example 5120x1440)
• running multiple Sunshine instances on different ports
• creating virtual monitors or using dummy HDMI plugs
• switching monitors dynamically with scripts
These workarounds can function but they introduce complexity and fragile behavior.
Example use case
Host machine with three monitors:
display_1 → 2560x1440
display_2 → 1920x1080
display_3 → 1920x1080
Ideal behaviour would be something like:
display_1 → stream A
display_2 → stream B
display_3 → stream C
Then Moonlight clients could connect to the specific display they want to view.
Another possible approach could be allowing a single Sunshine instance to expose multiple streams internally, each mapped to a specific display.
Why this could be useful
Many users run systems with 2 or 3 monitors and would like to access them remotely without combining them into a single large desktop or running multiple Sunshine processes.
Modern GPUs already support multiple concurrent encoding sessions (for example NVENC on NVIDIA GPUs), so multiple encoding pipelines may be technically feasible.
Summary
Native multi-display streaming support would simplify multi-monitor setups significantly and remove the need for scripts, dummy displays, or multiple Sunshine instances.
If there are limitations related to the GameStream protocol or Moonlight client behavior that prevent this, it would be very interesting to understand them.
Thanks again for the great work on Sunshine.
If this is something that could be explored in the future, I would be happy to help testing experimental builds.
A possible idea could be add metadata in the beginning of the stream reporting the available monitor configurations, resolution, position (how they are offset in the original desktop configuration) so that the remote client could take advantage of this and implement divide/split the frames in windows, reposition them and so on, it's something that could be also implemented back in the client but the server need to provide this data to the connecting client.
Beta Was this translation helpful? Give feedback.
All reactions