Dream Air SLAM / AMD 72 Hz Diagnosis
Reported Behavior
System configuration:
- Pimax Dream Air SLAM Edition
- AMD Radeon RX 9070 XT
- Sboys 1.3.0 beta series
- Pimax EVO and SteamVR configured for 90 Hz
With Sboys/OpenPort enabled, SteamVR reports 90 Hz but actual presentation remains approximately 72 FPS. With the stock Pimax rendering path, the same headset and computer reach approximately 90 FPS.
Performance Was Ruled Out
The problem persists after reducing SteamVR render resolution from 70% to 20%.
At 20% resolution:
- GPU frame time: approximately 6.9 ms
- CPU frame time: approximately 1.6 ms
- GPU utilization: approximately 50%
- Dropped frames: zero
- Reprojection: zero
- Observed cadence: approximately 71.997 FPS/Hz
A 90 Hz frame budget is 11.1 ms, so there was sufficient performance overhead. The fixed cadence near 72 indicates display timing or compositor throttling rather than an application performance limit.
SteamVR Display Selection
SteamVR logs the following when using Sboys/OpenPort:
Using LiquidVR display mode 7104x3840 (-2124897296/30139776)
Updated HMD Prop_DisplayFrequency_Float to 90.000000
Interpreting the signed numerator as an unsigned 32-bit value gives:
2170070000 / 30139776 = 72.000203 Hz
This matches the measured runtime cadence.
SteamVR therefore reports the HMD property as 90 Hz while its AMD LiquidVR display path is actually initialized with a 72 Hz timing.
Headset Timing Data
The cached Dream Air EDID contains two full-resolution 7104×3840 DisplayID timings:
EDID order | Calculated refresh
-- | --
First | 72.000203 Hz
Second | 90.000142 Hz
Both timings carry the preferred flag, but the 72 Hz timing is listed first. The exact first timing matches the mode selected in the SteamVR LiquidVR log.
The Pimax runtime API separately reports approximately 90.000137 Hz. That value describes the requested or configured state; it does not prove the active display timing.
Tests That Did Not Change the Result
The following were tested independently:
- Setting SteamVR’s display-frequency property to PVR’s reported 90 Hz before compositor startup
- Updating SteamVR from 2.12.14 to public 2.16.7
- Setting
steamvr.preferredRefreshRate to 90 - Disabling motion smoothing
- Reducing SteamVR resolution to 20%
- Restarting SteamVR Home after reducing resolution
In every Sboys/OpenPort test, the compositor continued selecting the same 72.000203 Hz LiquidVR mode.
Difference From the Stock Path
Pimax service logs show different display ownership behavior.
With OpenPort/Sboys:
no_render:1
no render mode, disable manual ctrl video!!!
m_supportManualCtrlVideo: 0
With stock Pimax rendering:
no_render:0
m_supportManualCtrlVideo: 1
mode select ok and panel report ok!!!
videoStable: 1
The stock AAPVR headset exposes an OpenVR driver-direct-mode component. The Sboys Dream Air path creates a new HMD without an underlying driver and does not expose that component. SteamVR consequently falls back to AMD LiquidVR for display ownership.
Current Diagnosis
The 72 FPS behavior is not caused by insufficient GPU performance, motion smoothing, SteamVR render resolution, or the reported OpenVR refresh property.
The discrepancy occurs during direct-display initialization:
- PVR and OpenVR report 90 Hz.
- Pimax disables its manual video control in OpenPort mode.
- SteamVR takes display ownership through AMD LiquidVR.
- LiquidVR selects the EDID timing corresponding to 72.000203 Hz.
The strongest suspicion is that the absence of driver-owned direct mode in the Sboys Dream Air path causes SteamVR/AMD to select the first full-resolution EDID timing rather than the requested 90 Hz timing.
Dream Air SLAM / AMD 72 Hz Diagnosis
Reported Behavior
System configuration:
With Sboys/OpenPort enabled, SteamVR reports 90 Hz but actual presentation remains approximately 72 FPS. With the stock Pimax rendering path, the same headset and computer reach approximately 90 FPS.
Performance Was Ruled Out
The problem persists after reducing SteamVR render resolution from 70% to 20%.
At 20% resolution:
A 90 Hz frame budget is 11.1 ms, so there was sufficient performance overhead. The fixed cadence near 72 indicates display timing or compositor throttling rather than an application performance limit.
SteamVR Display Selection
SteamVR logs the following when using Sboys/OpenPort:
Interpreting the signed numerator as an unsigned 32-bit value gives:
This matches the measured runtime cadence.
SteamVR therefore reports the HMD property as 90 Hz while its AMD LiquidVR display path is actually initialized with a 72 Hz timing.
Headset Timing Data
The cached Dream Air EDID contains two full-resolution 7104×3840 DisplayID timings:
Both timings carry the preferred flag, but the 72 Hz timing is listed first. The exact first timing matches the mode selected in the SteamVR LiquidVR log.
The Pimax runtime API separately reports approximately 90.000137 Hz. That value describes the requested or configured state; it does not prove the active display timing.
Tests That Did Not Change the Result
The following were tested independently:
steamvr.preferredRefreshRateto 90In every Sboys/OpenPort test, the compositor continued selecting the same 72.000203 Hz LiquidVR mode.
Difference From the Stock Path
Pimax service logs show different display ownership behavior.
With OpenPort/Sboys:
With stock Pimax rendering:
The stock AAPVR headset exposes an OpenVR driver-direct-mode component. The Sboys Dream Air path creates a new HMD without an underlying driver and does not expose that component. SteamVR consequently falls back to AMD LiquidVR for display ownership.
Current Diagnosis
The 72 FPS behavior is not caused by insufficient GPU performance, motion smoothing, SteamVR render resolution, or the reported OpenVR refresh property.
The discrepancy occurs during direct-display initialization:
The strongest suspicion is that the absence of driver-owned direct mode in the Sboys Dream Air path causes SteamVR/AMD to select the first full-resolution EDID timing rather than the requested 90 Hz timing.