运行 Debian 8。我有一块 GeForce 6600 GT 和一块 GeForce GTX 460 SE。我使用的是 340.65-2 驱动程序,无论存储库中的标准 nvidia 驱动程序是什么,但这不支持 6600。所以我降级到版本 304(旧版驱动程序),现在我可以运行我的三个显示器,无需任何驱动程序问题,除了一个。 6600 上的任何 GL 加速窗口都是黑色的。例如,glxgears 给我一个黑屏。 OpenGL 在 460 驱动的两个屏幕上工作得很好,但在 6600 上就不行了。我该如何解决这个问题?
没有兴趣购买新显卡,或者可能没有兴趣购买两张新显卡。我正在攒钱购买两张可以驱动 4k 显示器的高端卡,但这至少需要 5 年的时间。与此同时,我想让我当前的设置正常工作。这有过去,可能是几年前,在 Debian 7 上工作过。我成功地在所有三个显示器上玩 openarena,没有任何问题。所以这是有可能的:)在我全新安装了 Debian 8 之后它就停止工作了,直到最近我才有机会使用它。
.xsession-errors
仅显示:
Xlib: extension "RANDR" missing on display ":0.0".
但当我尝试glxgears
在“坏”显示屏上运行时,没有看到任何弹出的内容。
Xorg.0.log显示:
The GPU driving screen 1 is incompatible with the rest of the
GPUs composing the desktop. OpenGL rendering will be
disabled on screen 1.
但我知道我过去曾有过这样的工作。
答案1
这是 xinerama(用于多显示器支持)的一个已知问题。NVIDIA 支持页面显示:
建议使用相同的 GPU。支持一些不相同但相似的 GPU 组合。如果 GPU 与 Xinerama 桌面的其余部分不兼容,则该 GPU 驱动的屏幕上将不会出现 OpenGL 渲染。连接到其他支持的 GPU 的屏幕上仍会正常显示渲染效果。在这种情况下,X 日志文件将包含以下形式的消息:
(WW) NVIDIA(2): GPU 驱动屏幕 2 与其余部分不兼容
(WW) NVIDIA(2):构成桌面的 GPU。 OpenGL渲染将
(WW) NVIDIA(2):在屏幕 2 上禁用。
您可以尝试在 NVIDIA 驱动程序中禁用 xinerama,并查看是否使用 xrandr 而不是 xinerama 使其正常工作(例如,使用 xrandr 的 arandr GUI)。
如果 xrandr 在 Debian 8 下不适用于您的设置,您可能必须返回到 Debian 7(据我所知)默认情况下使用 xrandr。
答案2
Xorg.0.log 中的错误消息非常清楚地解释了为什么 OpenGL 渲染无法在您的 6600 上运行。我怀疑 nvidia 开发人员做出了限制向后兼容性的工程决策,以降低开发复杂性或调试/QA 成本。
要使用 nvidia 仅二进制驱动程序解决您的问题,我建议您恢复到您在 Debian 7 安装中所描述的版本,以满足您的需求。如有必要,您可以在删除支持之前逐步浏览修订版本以找到最新版本。
第二种选择是使用新风格开源驱动程序。根据特征矩阵在 nouveau 驱动程序网页上,该驱动程序支持您的 NV40(Curie) (GeForce 6600) 和 NVC0(Fermi) (GeForce GTX 460 SE) 卡。首页确实警告说费米一代卡上的 3D 加速可能很慢,但这可能已经过时了。就您个人而言,根据您的情况,我会尝试这个驱动程序,看看它是否适合您的需求。 nouveau 驱动程序最有可能在您预计的未来五年内受到支持,直到您可以购买新的显卡为止。幸运的是,该驱动程序已在 Debian 中打包为 xserver-xorg-video-nouveau。安装它需要删除已安装的 nvidia 驱动程序,并且很可能需要重新启动。
祝你好运!