使用 Windows 7 和更旧的显示器获得正确的分辨率

Mar*_*som 4 windows-7 display resolution

我正在尝试将旧显示器 (Starlogic M17ANA) 连接到装有 Windows 7 的新系统,但显示的唯一分辨率是 1024x768 和 800x600。我知道显示器能够达到 1280x1024,并且在旧的 Windows XP 系统上运行这个分辨率就好了。1024x768 设置有一些计时问题,几乎无法使用,而 800x600 设置太小而无用。我真的需要将此设置设置为正确的分辨率。

我尝试将显示器驱动程序从“Generic PnP Monitor”更改为“Digital Flat Panel (1280x1024)”,但它没有更改可用设置。即使“列出所有模式”按钮也不会显示大于“1024 x 768”的任何内容。

列出的视频驱动程序是“Intel Q45/Q43 Express Chipset”(如果有区别的话)。我之前将 PC 连接到不同的显示器,我很确定它运行更高的分辨率就好了。


啊!在今晚的一个辉煌时刻,我能够通过选择“Generic Non-PnP Monitor”驱动程序并选择正确的分辨率来正确配置分辨率。当系统在一段时间不活动后进入低功耗模式时,它会切换回较低的分辨率。现在看来无论我选择哪个显示器,我仍然只能得到两个选择 - 800x600 和 1024x768。我已经重新启动了十几次,但没有任何变化。我已经加载了所有最新的 Windows 更新,包括 Q45/Q43 芯片组的驱动程序,但仍然没有任何变化。为什么 Windows 将我排除在硬件和驱动程序完全能够处理的选择之外?
结论:我应该指出这是一台液晶显示器,我想有些人在我说“老”时会认为它是 CRT。我现在相信这个问题是特定于这个模型的;它似乎向驱动程序提供了错误的EDID信息,Windows 7 将其视为福音。从 Intel 而不是 Microsoft 下载最新的驱动程序包含一个额外的实用程序,该实用程序能够使用自定义设置扩展配置文件,这非常有效。

and*_*415 7

分析

快速搜索后,还有一些其他人遇到了同样的问题,但大多数都没有解决。我还找到了一篇博客文章,解释了如何在 Windows 2000 中解决问题,其中基本上涉及执行您在使用 Windows XP 时可能执行的步骤,尽管在 Windows 7 中没有成功。

监视器

我根本找不到太多信息。这是我从旧的DriverGuide 线程收集的内容

17" StarLogic LCD 显示器 (11004988)

型号M17ANA
分辨率1280 x 1024
显示颜色1670 万色
像素间距0.264 毫米
亮度260 cd/m 2
对比度400:1
视角140 x 125 度
响应时间12 ms
同步。频率水平 31.5kHz - 79.9kHz,垂直 70Hz - 75Hz
输入连接器RGB
重量8.14 磅。

这至少证实了显示器实际上能够显示 1280x1024 的分辨率。仍然没有应用正确的分辨率,甚至没有在可用模式中列出。

显卡

在这种情况下,显卡型号是集成在主板中的英特尔 Q45/Q43 高速芯片组。根据产品技术规格

支持高达 2048 x 1536 的数字和模拟显示器,刷新率为 75 Hz (QXGA);还支持 1920 x 1080 分辨率以获得全高清视频播放质量。

此板支持的视频模式基于系统所连接显示器的扩展显示标识数据 (EDID) 模式。假定标准监视器。

显卡似乎不是一个限制因素。这些是特定的硬件 ID:

PCI\VEN_8086&DEV_2E12&SUBSYS_3036103C&REV_03
PCI\VEN_8086&DEV_2E12&SUBSYS_3036103C
PCI\VEN_8086&DEV_2E12&CC_030000
PCI\VEN_8086&DEV_2E12&CC_0300
Run Code Online (Sandbox Code Playgroud)

通用硬件 ID 实际上是PCI\VEN_8086&DEV_2E12. 事实上,显然只有通用驱动程序可用于此类卡。安装的驱动程序版本是8.15.10.1749,可以追溯到 2009 年,可能是与 Windows 7 捆绑的版本。英特尔官方支持页面提供的最新版本是8.15.10.2869,大约三年后发布。

附带说明一下,通过 Windows Update 查找更新版本可能会产生误导:即使在 Microsoft 数据库中未找到任何条目,系统也会很乐意假定驱动程序是“最新的”。

扩展显示识别数据

所有显示器,无论是模拟还是数字,都必须支持 EDID,其中包含显示器标识符、制造商数据、硬件标识符、时序信息等信息。该数据以视频电子标准协会 (VESA) 指定的格式存储在显示器的 EEPROM 中。

来源:使用 INF 覆盖监视器 EDID

虽然EDID数据结构并不完全人性化,但我们可以使用Monitor Asset Manager来检查它:

Monitor
  Manufacturer............. NUL
  Plug and Play ID......... NUL0001
  Serial number............ 1
  Manufacture date......... 2001, ISO week 1
  Filter driver............ None
  -------------------------
  EDID revision............ 1.3
  Input signal type........ Analog 0.700,0.300 (1.0V p-p)
  Sync input support....... Separate
  Display type............. RGB color
  Screen size.............. 310 x 230 mm (15.2 in)
  Power management......... Standby, Suspend
  Extension blocs.......... None
  -------------------------
  DDC/CI................... Not supported
 
Color characteristics
  Default color space...... Non-sRGB
  Display gamma............ 1.00
  Red chromaticity......... Rx 0.597 - Ry 0.343
  Green chromaticity....... Gx 0.316 - Gy 0.566
  Blue chromaticity........ Bx 0.153 - By 0.131
  White point (default).... Wx 0.310 - Wy 0.328
  Additional descriptors... None
 
Timing characteristics
  Range limits............. Not available
  GTF standard............. Not supported
  Additional descriptors... None
  Preferred timing......... Yes
  Native/preferred timing.. 1024x768p at 68Hz (4:3)
    Modeline............... "1024x768" 65.000 1024 1048 1184 1184 768 771 777 806 -hsync -vsync
 
Standard timings supported
     720 x  400p at  70Hz - IBM VGA
     640 x  480p at  60Hz - IBM VGA
     800 x  600p at  60Hz - VESA
    1024 x  768p at  60Hz - VESA
 
Report information
  Date generated........... 2/12/2014
  Software revision........ 2.70.0.989
  Data source.............. Real-time 0x0011
  Operating system......... 6.1.7601.2.Service Pack 1
 
Raw data
  00,FF,FF,FF,FF,FF,FF,00,3A,AC,01,00,01,00,00,00,01,0B,01,03,08,1F,17,00,CA,F0,64,98,57,51,91,27,
  21,4F,54,A1,08,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,64,19,00,A0,40,00,26,30,18,88,
  36,00,30,E4,10,00,00,18,00,00,00,FE,00,0A,20,20,20,20,20,20,20,20,20,20,20,20,00,00,00,FE,00,0A,
  20,20,20,20,20,20,20,20,20,20,20,20,00,00,00,FC,00,0A,20,20,20,20,20,20,20,20,20,20,20,20,00,E
Run Code Online (Sandbox Code Playgroud)

Windows 在查询监视器后将 EDID 存储在注册表中。问题是系统认为你有一个 15.2" 显示器,支持的最大分辨率为 1024x768 像素和 68 Hz 刷新率。这完全是错误的,显示器是这里的罪魁祸首。

结论

监视器不会报告正确的信息,因此我们必须手动修复它。有几种方法可以做到这一点,我将简要介绍它们,并请您参阅以下链接以获取更多信息。最好有更多选择,以防万一出现问题或不适用。

英特尔图形控制面板

在更新 Windows 附带的旧的基本图形驱动程序时,您还将获得英特尔图形控制面板( GfxUI.exe)。除此之外,它还可用于更改屏幕分辨率。

自定义分辨率

一些(但不是全部)英特尔显卡可以通过命名的自定义注册表项支持多达五个额外的详细时序描述符 (DTD) DTD_x,可在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-??08002BE10318}\0000. 每个 DTD 值都包含屏幕分辨率、刷新率等信息。该TotalDTDCount值控制支持的 DTD 数量。当它设置为 时0,该功能被禁用。

DTD 实际上是完整 EDID 的一部分,它同样神秘。为了轻松更改数据,您可以使用DTDCalculator

更正 EDID

有两种方法可以纠正 EDID:

  • 标准的解决方案是让客户将显示器寄回给制造商,制造商使用正确的 EDID 重新刷新 EEPROM,并将显示器返回给客户。
  • 此处描述的更好的解决方案是制造商实施包含正确 EDID 信息的 INF 文件,并让客户将其下载到连接到显示器的计算机。Windows 从 INF 中提取更新的 EDID 信息并将其提供给组件而不是来自 EEPROM EDID 的信息,从而有效地覆盖 EEPROM EDID。

来源:使用 INF 覆盖监视器 EDID

使用Phoenix EDID 设计器,您可以提取存储在注册表中的 EDID,并更改设置以反映显示器的真实功能。完成后,您保存修改后的 EDID 数据,并使用 Monitor Asset Manager 打开它以验证它。然后创建一个 INF 文件,并使用刚刚创建的文件更新设备管理器中的监视器驱动程序。需要重新启动才能应用更改。

进一步阅读