Description
HDMI dongles on render bodies do not support portrait resolutions (1080x1920) in their EDID. Windows ChangeDisplaySettingsEx returns BADMODE, and Sunshine dd_manual_resolution also cannot force unsupported modes.
The fix: install Virtual Display Driver (VDD) from https://github.com/VirtualDrivers/Virtual-Display-Driver on each body. VDD creates GPU-accelerated virtual displays at ANY resolution, bypassing EDID entirely.
Benefits:
1. Portrait mode: create 1080x1920 virtual display on demand
2. Multi-stream: each concurrent stream gets its own virtual display (no shared desktop)
3. No HDMI dongle needed at all — bodies can run fully headless
4. Any resolution: 4K, ultrawide, custom aspect ratios
Implementation:
- Add VDD to hydrabody provisioning (download + install driver)
- On stream start: create virtual display at requested resolution
- Configure Sunshine output_name to capture that virtual display
- On stream end: remove virtual display
The streaming pipeline (hydraneckwebrtc orientation, hydrabody kiosk, Sunshine config API) is already wired for portrait — only the display driver is missing.
Test machine: boom-pickle-38 (node-74f9fbf2) in bxl1-test district.