vkcube 黑色显示屏

vkcube 黑色显示屏

我正在尝试开始进行一些 Vulkan 编程,但在开发环境方面遇到了困难。在尝试排除故障时,我遇到了一些可能说明我的配置问题的问题。我该如何纠正这些开发环境问题以使 Vkcube 正常工作?

维科立方体

MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

vulkaninfo | head -n 0

ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /usr/lib/i386-linux-gnu/libvulkan_lvp.so: wrong ELF class: ELFCLASS32
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.

uname -a

Linux ndconv 5.11.0-37-generic #41~20.04.2-Ubuntu SMP Fri Sep 24 09:06:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

nvidia-smi

NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    CUDA Version: 11.2

印西-Gx

Graphics:  Device-1: Intel HD Graphics 630 vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 
           Device-2: NVIDIA GP106M [GeForce GTX 1060 Mobile] vendor: Lenovo driver: nvidia 
           v: 460.91.03 bus ID: 01:00.0 
           Display: x11 server: X.Org 1.20.11 driver: modesetting,nvidia unloaded: fbdev,nouveau,vesa 
           tty: N/A 
           OpenGL: renderer: GeForce GTX 1060 with Max-Q Design/PCIe/SSE2 v: 4.6.0 NVIDIA 460.91.03 
           direct render: Yes 

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json

cat $VK_ICD_FILENAMES | grep " "

        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.2.155"

hwinfo --gfxcard

  ...
  Device: pci 0x1c20 "GP106M [GeForce GTX 1060 Mobile]"
  ...
    Driver Status: nvidiafb is not active
    Driver Status: nouveau is not active
    Driver Status: nvidia_drm is active
    Driver Status: nvidia is active

显然,vulkaninfo 的 32 位错误只是 vulkan 尝试了所有可用的驱动程序。请参阅:Nvidia 上的 Vulkaninfo 输出错误

尝试警告中的命令没有帮助(如建议的那样:https://www.reddit.com/r/wine_gaming/comments/m7ircp/mesaintel_warning_performance_support_disabled/)。

尝试过https://github.com/SaschaWillems/Vulkan作为健全性测试,看看 Vulkan 是否能工作,而 Vkcube 却不能。屏幕仍然黑着。可能是驱动程序配置错误。

变化很小,尝试下载最新的 vulkan 版本。 https://vulkan.lunarg.com/doc/sdk/1.2.189.0/linux/getting_started.html

Download, extract
source ~/vulkan/1.x.yy.z/setup-env.sh
vkcube works

我将其下载到应用程序文件夹并在那里解压。然后我在 ~/.bashrc 的末尾添加了以下几行。

export VULKAN_SDK=~/applications/1.2.189.0/x86_64
export PATH=$VULKAN_SDK/bin:$PATH
export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/explicit_layer.d

当我尝试运行示例时,仍然出现错误(或空白屏幕)...

git clone https://github.com/SaschaWillems/Vulkan.git
cd Vulkan
python download_assets.py
cmake CMakeLists.txt
make
cd bin
./triangle

清除 mesa-vulkan-drivers 后一切正常。

sudo apt-get purge --auto-remove mesa-vulkan-drivers
restart, and try ./triangle again (worked)

为了进行健全性检查,我注释掉了之前添加的 ~/.bashrc 行,然后重复了之前的克隆步骤,一切正常。

答案1

对 OP 来说没用,但对于其他 nvidia 系统可以尝试export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json

这来自于月球论坛帖子。

相关内容