Display & GPU Configuration
GFN rigs use virtual displays with EDID emulation to present configurable resolutions to games, while the actual output is captured and streamed to the client.
Official Seat Mapping Snapshot (NVIDIA, No Alliance)
For official server-side rig/tier mapping from rollout variables and spec snapshots (dated October 31, 2025), see:
Display Activation
At boot, displaysetup.bat activates the virtual display:
c:\asgard\tools\GameSeatDisplay\GameSeatDisplay.exe --activate-displaySupports Windows Server 2019 and 2022.
EDID Emulation
The forcedisp tool injects custom EDID data to make games see specific monitor profiles:
| EDID Profile | Resolution | Refresh Rate | Use Case |
|---|---|---|---|
asus_rog_1080p | 1920x1080 | 60 Hz | Default |
NvidiaVGX_1080p_120 | 1920x1080 | 120 Hz | High refresh |
NvidiaVGX_1080p_240 | 1920x1080 | 240 Hz | Ultra refresh |
NvidiaVGX_1440p_120 | 2560x1440 | 120 Hz | QHD high refresh |
NvidiaVGX_1600p_120 | 2560x1600 | 120 Hz | QHD+ |
NvidiaVGX_4K_120 | 3840x2160 | 120 Hz | 4K premium |
NvidiaVGX_UW_3440x1440 | 3440x1440 | — | Ultra-wide |
NvidiaVGX_UW_3840x1600 | 3840x1600 | — | Ultra-wide+ |
Resolution Management
setResCap.py modifies NVIDIA driver registry keys to cap available resolutions:
- Registry path:
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318} - Registry value:
NV_R&Tfor resolution constraints - Default cap: 1920x1080
Resolution Feature Flags
From GameStream config, resolution support is controlled per-SKU:
| Flag | Description |
|---|---|
Enable4k | 3840x2160 support |
Enable1440p | 2560x1440 support |
Enable1600p | 2560x1600 support |
EnableUWResolution | Ultra-wide support |
HdrSupported | HDR output |
Allow120FpsModeSet | 120 FPS mode |
AspectRatio4To3Supported | 4:3 aspect ratio |
These are enabled for premium SKUs (ReservedSKU setting group).
Dual Display
setDualDispReg.py configures dual-display support:
- Registry value:
RMDisableDisplayset to 1 on NVIDIA boards - Used for surround/multi-monitor gaming scenarios
GPU Detection
checkgpu.py validates GPU presence:
- Runs
devcon.exeto enumerate display devices - Checks for NVIDIA GPU in device list
- Reads driver version from registry:
HKLM\SOFTWARE\NVIDIA Corporation\Installer2\Stripped - Falls back to
wmic path win32_VideoControlleron failure
GameStream Encoder Settings
From the master config, encoding is highly tunable:
Global Settings
| Setting | Value | Description |
|---|---|---|
StreamServerMode | 2 | Native RTC for all clients |
EnableOneStreamer | 1 | Single streamer mode |
EnableNativeRtcSeparateStreams | 1 | Separate audio/video streams |
DynamicFrlFramePacing | 1 | Dynamic frame rate limiter pacing |
EnableStreamerMinidump | 1 | Crash dump collection |
NvRtcStreamerNoSignalingTimeout | 1 | Timeout on no signaling |
Conditional Settings
| Condition | Setting | Description |
|---|---|---|
| Instance is half-GPU | SkipVideoEncoderPerfCheck=1 | Skip encoder perf check |
| Instance is half-GPU (L40) | Av1Disable=1 | Disable AV1 encoding |
| Client is Windows/macOS | EnableGrc=1 | Enable GRC (Game Ready Check) |
| Client is TV (Tizen/WebOS) 4K | HevcEnable=1 | Force HEVC for TV clients |
| macOS/Windows clients | Frame pacing min 7936us | ~126 FPS cap |
| 4K60 specific games | allowOverrideEncoderMultiPassFor4k=1 | Disable 2-pass for perf |
Surround Browser
Enabled for native clients (Windows/macOS) version >= 2.0.52.0:
surroundBrowser=1
separateMicStream=1GPU Tracing
gpuviewtool/log.cmd provides comprehensive GPU tracing:
- Traces: FBC, NVStreamer, D3D11, D3D12, DXGI, DWM
- Buffer sizes scaled to physical memory
- Stack capture for performance analysis
Core Parking
Disabled at boot via disable_core_parking.bat:
powercfg -setacvalueindex SCHEME_CURRENT SUB_PROCESSOR CPMINCORES 100This ensures all CPU cores are available for game processing — no cores parked for power saving.