我不知道是更新还是我安装的软件包,但所有 Vulkan 应用程序都不再运行。不过 OpenGL 应用程序可以运行。
我使用的是 Ubuntu 18.04 和 Gnome 3。我有一台 GTX 950M,我在“软件和更新”的“其他驱动程序”选项卡中更改了显卡驱动程序。我尝试了不同的开源驱动程序,例如 nvidia-driver-430 / 440 / 410。但都不起作用。
在某些应用程序中我收到此错误:
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter)
Major opcode of failed request: 149 ()
Minor opcode of failed request: 4
Resource id in failed request: 0x220000d
Serial number of failed request: 179
Current serial number in output stream: 184
其他的根本就什么都不显示(可能是由于错误处理)。
屏幕外 Vulkan 渲染正在运行。我知道这一点,因为我的一个应用程序使用它并显示日志。
窗口系统 (GLFW3) 在 OpenGL 应用程序中运行,而在 Vulkan 中,窗口打开但仍然为黑色或因上述错误而崩溃。
我记得最近我安装了一些我想运行的程序的软件包,比如 sld2、qt5,也许还有其他我不记得的软件包。后来我把它们都清除了。
我真的不知道哪里出了问题。如果您有任何想法,请分享,或者如果您需要更多信息,我可以提供。
编辑:
我尝试了这些常见的解决方法,但没有效果:
QT_X11_NO_MITSHM=1
LIBOVERLAY_SCROLLBAR=0
编辑2:
我尝试使用专有的 435 驱动程序,但没有作用。
EDIT3:
感谢@kvark和进一步的调试,我缩小了一点范围。问题的根源在于pSurfaceFormatCount
使用查询时为0。vkGetPhysicalDeviceSurfaceFormatsKHR
我目前正在运行440驱动程序,我的应用程序识别Nvidia GPU。没有来自验证层的消息。
答案1
我在配备 Nvidia 的笔记本电脑上遇到过这个问题。问题和解决方法在此处详细描述 -https://dev.getsol.us/T6335
基本上,您可以通过强制 NVidia Vulkan ICD 使用其中一个启动脚本中设置的环境变量来解决此问题:
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/10_nvidia.json
您的 NV ICD 路径可能不同(链接针对 Solus,而这个问题是关于 Ubuntu 的)。