我遇到了一个非常奇怪/烦人的问题,我无法准确找到问题根源,因为我最近(1 月初)买了一台新的 1080p 显示器(翻新的 Dell UZ2315)和一张显卡(Sapphire RX470 Mining Edition)。我从来没有用这张显卡挖矿过,我买它是因为它是一款功能强大的 GPU,现在加密货币挖矿越来越不受欢迎,我可以以低价购买它来替换我之前用了 5 年的 R7 240 GPU。它才用了 1 个月,在保修期开始时就出现了问题,所以在最坏的情况下,如果它看起来像是硬件问题,我可以把它寄回去。
到目前为止,我有一台旧的 17 英寸 1440x900 Acer 显示器,只有一个 VGA 输入,我使用 DVI-D -> HDMI 适配器连接到我的显卡的唯一 DVI 端口,然后使用我已经拥有的 HDMI -> VGA 适配器连接到它,并且它可以正常工作(现在仍然可以正常工作)。
然而,我最近购买的翻新戴尔显示器出现了一些奇怪的问题,但问题只出现在我的显卡上。它有 1 个 VGA、2 个 HDMI 和 1 个显示端口。
如果我将 RX470 的 DVI 端口连接到 HDMI 端口或 VGA 端口之一,我几乎无法在 Windows 上使用 1080p 分辨率(使用 VGA 适配器时,整个屏幕上会永久显示随机彩色噪音),而在 HDMI 端口上,它很少同步,因此几乎总是保持黑色。如果显示器偶然同意显示 1080p 图像,暗区上会出现红点。但是,如果我将分辨率降低到第一个兼容的较低分辨率(Windows 上为 1600x900),它在 VGA 和 HDMI 上都可以完美运行。
但奇怪的事情还是发生了。在启动过程中,当 grub 以 1080p 显示时,它运行正常,但如果我启动到 OpenSUSE,与 Windows 相比,症状会发生变化。在 OpenSUSE 上,我可以使用所有可用的分辨率(显示 1080p),但是,无论我使用什么分辨率,图像的暗区都会出现很多红点,例如 1080p Windows,但这里是所有分辨率,包括 1440x900,例如我的旧显示器(我刚刚再次尝试,仍然在此分辨率下正确显示)。这些红点并不是完全随机出现的,例如,如果我截取生成其中一些红点的帧的屏幕截图并移动它,这些点会停留在屏幕截图上的相同位置,因此会跟随图片,而不是停留在屏幕上的相同位置。如果我在旧显示器上显示屏幕截图,它们就不会出现(因此它们不是 GPU 渲染的帧缓冲区的结果)。
最后,我尝试使用主板上的 DVI-D 输出(和 HDMI 适配器)以及 VGA 输出将戴尔显示器连接到我的 iGPU,它们在 1080p 下都能完美运行。我的 PS4 也是如此,所以它不是来自电缆或适配器,只有与此特定显示器一起使用的 RX470 的视频输出(如果可能的话,我会尝试找到第三个,看看我是否可以重现其中一些行为),无论是数字还是模拟都不起作用。我也尝试对我的显卡进行压力测试,但它运行顺畅,我也通过设置开关尝试了第二个 BIOS(四个中的两个),但结果是一样的。
有人知道它到底来自哪里吗(视频输出还是显示器?但为什么模拟和数字 1440x900p 在戴尔显示器上都无法正常工作,而在宏碁显示器上却可以?因为这是我可以在两者上使用的最高常见分辨率)。VGA 适配器在 HDMI 端只有几厘米长的电缆长度,所以这不可能是由电缆太长引起的,如果输出很混乱,那么我应该在两个显示器上都有相同的转换输出,不是吗?而且为什么我可以在 Linux 上为戴尔使用所有分辨率,但它们都很混乱,而在 Windows 上我不能只使用 1080p,其他分辨率都可以,而我的旧显示器没有任何这些症状?它真的是来自 DVI 输出吗?即使对于 VGA 适配器的 15/20 厘米电缆长度,太多的适配器也会降低 LVDS 信号的强度?在这个特定的配置中是否有什么东西产生了太多的电气噪声?仅在 RX470 和戴尔显示器之间发生配置/同步错误?GPU BIOS 问题?(我尝试刷新游戏 Sapphire Nitro 的 BIOS,但卡根本无法正常工作,所以我暂时恢复了原始 BIOS)。
除了这个特定的配置之外,一切都运行良好,但现在很烦人,我将 RX470 连接到旧的 1440x900 显示器,而将 iGPU 连接到 1920x1080p 显示器,因为反过来会更好(但在这种情况下,我目前停留在 1600x1900 的最高可用分辨率)。
如果有人知道是什么原因导致的以及如何解决,我们将不胜感激。提前感谢您的帮助 :)
为了帮助查明原因,这里简要介绍了我当前配置中可能与此问题相关的组件的参考:
- CPU:i5 3330(英特尔高清显卡 2500 iGPU)
- GPU:Sapphire RX470 8GB-挖矿版(AUD-11256-57-21G)
- PSU:Corsair CX430(430W,除了 CPU 和 GPU 之外,我没有其他耗电组件,所以它应该可以正常工作而不会产生嘈杂的电流,不是吗?)
答案1
我找到了解决这个问题的方法(直到现在我仍然将显卡插到我的旧显示器上)。
我买了一条二手 DVI/HDMI 线,它比我原来的 HDMI 线更短,质量也更好(它们都是同一型号,因为我是一起买的)。它解决了红色伪影问题,而且无论我选择哪种分辨率,显示器在 Linux 上都能完美运行,暗像素上没有任何伪影,包括在启动时。
但是它并没有解决 Windows 上的同步问题,我只能使用最高 900p@60hz,对于更高的分辨率,我不得不将刷新率限制为最高 30hz(或 60hz 隔行扫描),没有任何伪影(这仍然比红色像素和不稳定的显示要好,无论我之前使用什么分辨率)。问题似乎来自 HDCP 和 HDCP 使用的 HDMI 自定义同步选项,因为自从我在 radeon 设置中禁用它们后,我就不再有任何显示问题,并且也可以在 Windows 上以所有可用的刷新率使用所有可用的分辨率。