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
The default `config\windows.json` enables a local Sunshine endpoint for Moonlight:
122
-
123
-
- Sunshine is installed as a Windows service inside the VM.
124
-
- Virtual Display Driver is installed inside the VM and configured with one virtual display.
125
-
- Sunshine firewall rules are opened for the VM network.
126
-
- Sunshine credentials and the current VM IP are written to `credentials.txt`.
127
-
- GPU-PV is applied after Windows bootstrap when `gpu.enabled` is `true`.
128
-
- Empty `remoteStreaming.displayWidth` and `remoteStreaming.displayHeight` use the same detected host display size as VMConnect.
129
-
130
-
The setup installs the Sunshine server inside the VM. To use Moonlight from the Hyper-V host:
131
-
132
-
1. Download and install the Moonlight Windows installer on the host from https://github.com/moonlight-stream/moonlight-qt/releases.
133
-
2. Open Moonlight settings before starting the stream and use desktop-quality settings:
134
-
- Resolution: `Native`, or the same resolution as the VM virtual display.
135
-
- FPS: `120 FPS`.
136
-
- Video bitrate: at least `100 Mbps` for host-to-VM streaming on the same PC.
137
-
- Display mode: `Fullscreen`.
138
-
- Frame pacing: enabled.
139
-
- Optimize mouse for remote desktop instead of games: enabled.
140
-
- Video decoder and video codec: `Automatic`.
141
-
3. Do not leave Moonlight at its default `720p` and low bitrate settings. That makes the VM look blurry because Moonlight upscales a low-resolution stream.
142
-
4. Add the VM IP from `MoonlightHost` in Moonlight.
143
-
5. Click the locked VM tile. When Moonlight shows a PIN, submit it from the host:
After pairing, click the VM tile again and start `Desktop`. If the image is blurry, stop the stream, re-check Moonlight's resolution and bitrate settings, then start `Desktop` again. Enable Moonlight's performance stats when troubleshooting and confirm that the stream is negotiated at the expected resolution and FPS.
150
-
151
-
Open the Sunshine web UI if you want to inspect or tune it:
152
-
153
-
```text
154
-
https://<vm-ip>:47990
155
-
```
156
-
157
-
The Sunshine username and password are in `credentials.txt`. Keep them private. Use Moonlight's client settings to request 120 FPS or another refresh rate.
158
-
159
119
## Changing VM Settings
160
120
161
121
`config\windows.json` is used when the VM is created. After the VM exists, you can change normal Hyper-V settings without recreating it.
@@ -302,3 +262,43 @@ The default Hyper-V network uses NAT, so host traffic and VM traffic stay on sep
302
262
The VM enables the RDP server, Remote Desktop firewall rules and RDP access for the workstation user during first login.
303
263
304
264
If you want to use RDP as the main UI, consider checking out [Upinel/BetterRDP](https://github.com/Upinel/BetterRDP) and applying its `.reg` file **on the host, not inside the VM**. It tunes the RDP experience by enabling GPU/RemoteFX policies, 60 FPS capture/DWM settings, AVC444/hardware encode preference, image quality, latency and bandwidth-related registry settings. This is optional and is not vendored here.
265
+
266
+
## Moonlight Streaming (Optional If You Want More Than 60 FPS)
267
+
268
+
The default `config\windows.json` enables a local Sunshine endpoint for Moonlight:
269
+
270
+
- Sunshine is installed as a Windows service inside the VM.
271
+
- Virtual Display Driver is installed inside the VM and configured with one virtual display.
272
+
- Sunshine firewall rules are opened for the VM network.
273
+
- Sunshine credentials and the current VM IP are written to `credentials.txt`.
274
+
- GPU-PV is applied after Windows bootstrap when `gpu.enabled` is `true`.
275
+
- Empty `remoteStreaming.displayWidth` and `remoteStreaming.displayHeight` use the same detected host display size as VMConnect.
276
+
277
+
The setup installs the Sunshine server inside the VM. To use Moonlight from the Hyper-V host:
278
+
279
+
1. Download and install the Moonlight Windows installer on the host from https://github.com/moonlight-stream/moonlight-qt/releases.
280
+
2. Open Moonlight settings before starting the stream and use desktop-quality settings:
281
+
- Resolution: `Native`, or the same resolution as the VM virtual display.
282
+
- FPS: `120 FPS`.
283
+
- Video bitrate: at least `100 Mbps` for host-to-VM streaming on the same PC.
284
+
- Display mode: `Fullscreen`.
285
+
- Frame pacing: enabled.
286
+
- Optimize mouse for remote desktop instead of games: enabled.
287
+
- Video decoder and video codec: `Automatic`.
288
+
3. Do not leave Moonlight at its default `720p` and low bitrate settings. That makes the VM look blurry because Moonlight upscales a low-resolution stream.
289
+
4. If Moonlight auto-discovers the VM, click the locked VM tile. If it does not show up automatically, add the VM IP from `MoonlightHost` manually.
290
+
5. When Moonlight shows a PIN, submit it from the host:
After pairing, click the VM tile again and start `Desktop`. If the image is blurry, stop the stream, re-check Moonlight's resolution and bitrate settings, then start `Desktop` again. Enable Moonlight's performance stats when troubleshooting and confirm that the stream is negotiated at the expected resolution and FPS.
297
+
298
+
Open the Sunshine web UI if you want to inspect or tune it:
299
+
300
+
```text
301
+
https://<vm-ip>:47990
302
+
```
303
+
304
+
The Sunshine username and password are in `credentials.txt`. Keep them private. Use Moonlight's client settings to request 120 FPS or another refresh rate.
0 commit comments