# ipadpro高色准设置
设置-显示与亮度-Advanced-Reference Mode On
现在最高hdr亮度限制为1000nits
# 自定义EDID虚拟显示器
## VirtualDisplayDriver 配置
下载安装驱动
https://github.com/VirtualDrivers/Virtual-Display-Driver/releases
设置长宽2752x2064, 刷新率120hz
开启custom_edid, EdidCeaOverride, 10bit色深, hdr+等
## cru生成适合的色域和hdr配置
下载cru-1.5.3
https://www.monitortests.com/download/cru/cru-1.5.3.zip
打开CRU, 选择VDD生成的虚拟显示器, 扩展块中修改HDR static metadata数据块,
勾选SMPTE ST 2084, 开启static metadata, Max luminance设置138(略低于1000nits), max frame-avg设置128(800nits)
> 在 CRU 1.5.3 的 HDR Static Metadata 中,“Max luminance”(对应 MaxCLL)和 “Max frame-avg”(对应 MaxFALL)的数值 v 与实际峰值亮度(nits)之间并不是线性关系,而是按照 Dolby HDR 静态元数据规范使用了指数映射:
> - **反向映射(nits → Value)**:
> v = 32×log2 (nits/50)
![[Pasted image 20250712164655.png]]
![[Pasted image 20250712164713.png]]
Export到VirtualDisplayDriver根目录 user_edid.bin
根目录下的restart64.exe用于重载显示器驱动, 很有用
## Deltacast E-EDID 对基础块中的色域数值设置为rec2020标准
https://www.deltacast.tv/media/1145/eedid_editor-win.x64-1.6.0-inst.zip
这一步的必要性在于, 如果只进行到hsdb配置, 在moonlight连接时sunshine log你会看到:
```
`Colorspace : DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020`
`Bits Per Color : 10`
`Red Primary : [0.639648,0.330078]`
`Green Primary : [0.299805,0.599609]`
`Blue Primary : [0.150391,0.0595703]`
`White Point : [0.313477,0.329102]`
`Min Luminance : 0 nits`
`Max Luminance : 993.515 nits`
`Max Full Luminance : 800 nits`
```
这个原色设置是错误的, 和rec.2020差异很大
用Deltacast E-EDID打开bin设置如下
![[Pasted image 20250712164823.png]]
成功后你在连接时会看到:
```
Colorspace : DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020
Bits Per Color : 10
Red Primary : [0.708008,0.291992]
Green Primary : [0.169922,0.796875]
Blue Primary : [0.130859,0.0458984]
White Point : [0.3125,0.329102]
Min Luminance : 0 nits
Max Luminance : 993.515 nits
Max Full Luminance : 800 nits
```
# 远程串流
## sunshine server
解压后, 先执行scripts里面uninstall相关命令
*使用管理员启动禁用service是官方推荐的最佳实践*
## 色彩空间兼容性矩阵
**当前AV1硬件支持状况**
```
Color Space | NVENC AV1 | Software AV1 | HEVC对比
---------------------|-----------|--------------|----------
BT.709 Limited | ✅ | ✅ | ✅
BT.709 Full | ⚠️ | ✅ | ✅
BT.2020 Limited | ⚠️ | ✅ | ✅
BT.2020 Full | ❌ | ✅ | ✅
```
在config/sunshine.conf输入以下配置:
av1_mode = 0
dd_configuration_option = ensure_active
dd_manual_refresh_rate = 25
dd_manual_resolution = 2752x2064
dd_refresh_rate_option = manual
dd_resolution_option = disabled
encoder = nvenc
hevc_mode = 3
install_steam_audio_drivers = disabled
lan_encryption_mode = 0
min_fps_factor = 1
min_threads = 4
nvenc_preset = 7
nvenc_realtime_hags = disabled
nvenc_twopass = full_res
nvenc_vbv_increase = 200
output_name = {YOUR_DEVICE_ID}
qp = 8
stream_audio = false
指定HEVC适配10bit, 指定nvenc
最大压榨server性能, 牺牲延迟, 数据冗余换取高原始质量+稳定性,
刷新率以及分辨率在这里可以override, 非必须
nvenc_vbv_increase, qp, nvenc_realtime_hags是关键配置
{YOUR_DEVICE_ID} 需要在配置好虚拟显示器之后, 在启动log中查看
## moonlight client
分辨率刷新率无关, 因为server配置好了
bitrate 150Mps, 最高质量
触摸模式改为touch screen, 取消屏幕上的手柄按键显示
使用HEVC编码
## 残酷的真相
通过color calibration工具测得最高亮度是恰好的400nits
经过调查, **ipadpro2024达到1000nits有严苛的要求**
### 为什么远程 PQ+HDR10 只有 400 nits?
1. **EDR 的“安全模式”**
- 对 _未带动态元数据_ 的外部 HDR10,ColorSync 会把 `referenceWhite` 固定在亮度滑块值(通常 80–120 nits),再给**最多 4×** 头顶空间。
- 结果就是 _100 nits×4 ≈ 400 nits_。WWDC21 官方示例里用 4× 说明普通 back-lit Mac/iPad 只有 2×,XDR 显示器能到 400×;iPad Pro XDR 则写 16×[Apple Developer](https://developer.apple.com/videos/play/wwdc2021/10161/)。
2. **Moonlight 属于“未签名外部流”**
- 解码后丢给 `AVSampleBufferDisplayLayer`,没有走 Apple TV / AVPlayer 的受信路径。
- 系统因功耗与烧屏风险,把 EDR headroom 锁死在 4×;于是你在 Windows 端怎么写 MaxCLL=1000,也只会出 400 nits。
### PQ HDR10、HLG、Dolby Vision 在苹果设备上的不同命运
|格式|系统支持|理论亮度上限|远程串流现状|
|---|---|---|---|
|**HDR10 (PQ)**|全线支持|设备硬顶(1000/1600 nits)|Moonlight 被锁 4× → ≈400 nits|
|**HLG**|iOS 11 起支持 `AVPlayer.HDRMode.hlg`[Apple Support](https://support.apple.com/en-afri/111792?utm_source=chatgpt.com)|相对亮度;系统可跑到 600–800 nits(亮度滑块越高越亮)|Sunshine/Moonlight 目前**不输出 HLG**;自己 fork 代码可行但工程量大|
|**Dolby Vision P8.4**|原生解码,Reference Mode 明示支持[Apple Support](https://support.apple.com/en-afri/111792?utm_source=chatgpt.com)[Apple Developer](https://developer.apple.com/av-foundation/Incorporating-HDR-video-with-Dolby-Vision-into-your-apps.pdf?utm_source=chatgpt.com)|直接走 Apple 内部 DV tone-map,可满 1000/1600 nits|串流端 **几乎做不到**:要实时注入 RPU+EL 且付费授权,Moonlight/Sunshine 都无实现|
## 结论
ipadpro 2024能够充当优秀的无限串流黑位参考, 提供100% display P3和充分的rec2020全管线支持,
前提是充分配置虚拟显示器的edid(primary colors, hdr static metadata, 色域), 合适的编码器(nvenc HEVC)和设置(稳定性, 质量考虑)
然而, 受限于生态支持, hdr1000的体验是遥远的. HLG缺乏工具链, Dolby专利问题
后来我把max luminance和max full luminance改回了400nits, 通过windows monitor color profile