【发布时间】:2016-03-02 03:19:05
【问题描述】:
我正在寻找一种方法来找出 C++ OpenGL 程序中当前使用的显卡驱动程序的名称。充其量是一种独立于平台的方式(Linux 和 Windows)。我唯一能找到的是this,但这是一个 shell 解决方案,甚至可能会随着不同的发行版而变化(而且,Windows 仍然是个问题)。
我已经使用 GL_VENDOR 参数查看了 glGetString(),但是它输出的是显卡本身的供应商,而不是驱动程序。我找不到任何可以满足我需求的选项/功能。
这个问题有简单的解决方法吗?
【问题讨论】:
-
您希望通过驱动程序名称完成什么?
-
@chill:不,这给了我显卡的确切名称。
-
@genpfault:程序中存在一个错误,该错误仅在使用适用于 Nvidia 的 linux 开源 Nouveau 驱动程序时发生。如果我知道使用了此驱动程序,则该错误很容易解决。
-
你有没有找到从 C++ 程序中检测 Nouveau 的方法? Nouveau 对于 OpenGL 代码来说仍然是一个严重的问题,因此能够检测到它并在它是驱动程序的情况下执行其他操作是很常见的需求。