问题:通过图形卡以120Hz 的频率显示 LightCrafter
DLP 期望特定视频时序在120Hz 时可以正常工作
这些可以在视频卡设置(自定义分辨率)中设置、但这并不容易、因为没有一对一映射
与 NVIDIA 建议时序之间的差异。 此外、还需要在每台计算机上执行此操作
您插入 DLP。
第二个问题是在 DLP 上使用视频模式会导致~15Hz 的视频输出不稳定。
解决方案:
- 不要使用视频模式、它只是在120 Hz 时无法正常工作、而是使用图形模式并选择 HDMI 作为输入
- 在 DLP 上刷写 EDID
刷写 EDID:
这是在 Ubuntu 上完成的、但在具有专用程序的 Windows 上可能是可行的
#启用 EEPROM 闪烁
在 J8上安装跳线以允许写入 EDID EEPROM
#依赖项
sudo apt install ghex
sudo apt install read-EDID
sudo apt install i2c-tools
#重要:识别在哪个 I2C 总线是 DLP
尝试不同的 X 值:
sudo get-EDID -b X | parse-EDID
#复制 EDID
sudo get-EDID -b 2 > original.bin
#查看 EDID v1.3规范
glenwing.gitHub.io/.../VESA-EEDID-A1.pdf
要刷写 EEPROM:请极其小心地选择正确的器件(本例中为 i2c 总线2)
sudo i2cset 2 0x50 0x5A 0x08 b #像素时钟前8位| 146MHz -> 14600 -> 0x39 0x08
sudo i2cset 2 0x50 0x5B 0x39 b #像素时钟最后8位
sudo i2cset 2 0x50 0x5C 0x90 b #水平活动低8位| 912
sudo i2cset 2 0x50 0x5D 0x80 b #水平消隐低8位| 128
sudo i2cset 2 0x50 0x5E 0x30 b #水平有效高4位、水平消隐高4位
sudo i2cset 2 0x50 0x5F 0x74 b #垂直有效低8位| 1140
sudo i2cset 2 0x50 0x60 0x1E b #垂直消隐低8位| 30.
sudo i2cset 2 0x50 0x61 0x40 b #垂直有效高4位、垂直消隐高4位
sudo i2cset 2 0x50 0x62 0x0A b #水平同步偏移(后沿)、低8位| 10.
sudo i2cset 2 0x50 0x63 0x40 b #水平同步脉冲宽度、低8位| 64
sudo i2cset 2 0x50 0x64 0x3A b #垂直同步偏移(后沿)低4位、垂直同步脉冲宽度低4位| 3、10.
sudo i2cset 2 0x50 0x65 0x00 b # bit 7、6:水平同步偏移高2位、位5、4:水平同步脉冲宽度高2位、位3、2:垂直同步偏移高2位、位1、0:垂直同步脉冲宽度高2位
sudo i2cset 2 0x50 0x66 0x1C b #水平图像尺寸(mm)、低8位| 284
sudo i2cset 2 0x50 0x67 0xD5 b #垂直图像尺寸(mm)、低8位| 213
sudo i2cset 2 0x50 0x68 0x10 b #水平图像尺寸高4位、垂直图像尺寸高4位
sudo i2cset 2 0x50 0x69 0x00 b #水平边框| 0
sudo i2cset 2 0x50 0x6A 0x00 b #垂直边框| 0
sudo i2cset 2 0x50 0x6B 0x1E b # Flags
sudo i2cset 2 0x50 0x7F 0x55 b #校验和
sudo get-EDID -b 2 | parse-EDID
您应该会看到这个出现
Modeline "模式2" 146.00 912 922 986 1040 1140 1143 1153 1170 +HSYNC +Vsync
#附录(计算校验和)
设置正确的校验和,使用:
github.com/.../EDID_checksum
```μ A
从结构体导入*
导入系统
导入操作系统
argvs = sys.argv
argc = len (argvs)
如果(argc!= 2):
print ("请输入参数的 EDID 二进制文件路径")
quit()
size = os.path.GetSize (argvs[1])
如果大小>= 127:
F =开路(argvs[1]、'rb')
总和= 0
对于 I IN 范围(127):
tmp =解包('B'、f.read (1))[0]
# 打印('READ:%d'% tmp)
sum = sum + tmp
M = 256 (总和% 256)
打印('Calced:%x'% m)
如果大小>= 128:
CSUM =解包('B'、f.read (1))[0]
print ('实际:%x'% csum)
如果(csum == m):
打印("匹配!")
其他:
打印('未匹配...')
其他:
Print ("请输入二进制大小> 127字节")
```μ A