我刚买了一个戴尔 P2715Q,UHD 10 位深度显示器,但在我的 Nvidia 控制面板(Linux 和 Windows)中,它仅提供最大 8bpc(24/32 位深度)设置,这不行。
经过一番挖掘,我发现了一个潜在的解决方案这涉及创建一个自定义 EDID 文件,以添加对 10 位配置的支持。AMD gpu 用户以及 Nvidia Quadro 和 NVS 用户可以在 Windows 上完成此操作,但是 GTX 卡的 EDID 配置被禁用(显然没有充分理由),并且 Windows 上的 iGPU 也从未提供过 EDID 配置。
但是在 Linux 下(即使使用官方的 Nvidia 驱动程序)也可以获取和编辑 EDID 数据,因此我尝试按照论坛上的说法进行操作(将 a5 的值更改为 b5)并在 Linux 上加载编辑后的 edid,但没有成功(编辑后显然无法加载 EDID),所以该解决方案实际上可能不起作用。
因此,我的问题是,如何强制 Nvidia GTX 显卡将其颜色深度设置为每通道 10 位,而该显示器的 edid(错误地)声称仅在 Windows 7 下支持 8bpc?(如果您能告诉我如何在 Linux 下执行此操作,我会获得加分,但这不是必需的,我相信我最终能找到办法)
答案1
我不知道 8 位以上的东西是否也有同样的问题。Windows 无法判断它是 10 位,但接受我曾经见过的华硕掠夺者显示器型号... Windows 应该让人们强制设置 10 个窗口中的 9 次,无论如何都会搞砸。是的,nvidia 控制面板将允许设置 10 位,但我相信,但我不确定它是否会禁用您的颜色配置文件并接管......?这有时很烦人,因为 Nvidia 控制面板不适用于显示器颜色配置文件!而且由于他们没有关于它如何管理颜色的官方信息,除了控制面板中的手动设置之外,这是一个严重的问题,可能不会得到答案......
但要回答你问题的一半:
GPU 是您插入显示器或电视的地方。这两块硬件直接连接,nvidia 控制面板可以直接通过 Nvidia 图形驱动程序从 GPU 获取有关显示器的信息,从而完全绕过显示器驱动程序。您的显示器有一个硬件 ID,显卡也有。即插即用硬件(如显示器)通过其连接传输其硬件 ID。DP 和 HDMI 都是数据连接,尽管它们都是专门用于视频的高带宽,但它们仍然是数据连接。对于显示器操作来说,GPU 和显示器能够通过多种单向颜色传输进行通信至关重要,否则例如 vsync 之类的功能将无法工作。这就是为什么 Nvidia 驱动程序和 GPU 可以识别 10 位 + 功能并允许即使在 Windows 出现故障时也能使用适当的设置的原因。问题很简单,就是 Windows 和微软缺乏对硬件的支持。微软也认为你太愚蠢了,不知道你有一个 10 位显示器,并假设如果他们让你控制设置,你将破坏显示器、使驱动程序崩溃或获得糟糕的体验,进而责怪 Windows,也就是产品。并不是说将 10 位视频传输到 8 位面板会破坏它。你可能会得到奇怪的效果或空白屏幕,但如果用户在 15 秒内没有清除提示,设置会自动恢复,这很容易解决。