至于 vulkan,GeForce RTX 3090 的 GPU 驱动程序不起作用

问题描述

我想正确安装 nvidia GPU 驱动程序。
nvidia-smi 运行良好,但 vulkaninfo 不行,因为 Segmentation fault (core dumped)

详情如下:
我的环境:
操作系统:Ubuntu 18.04
GTX:GeForce RTX 3090
NVIDIA 驱动程序:460.73.01

nvidia-smi输出如下:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.73.01    Driver Version: 460.73.01    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 3090    On   | 00000000:01:00.0 Off |                  N/A |
|  0%   36C    P8    11W / 350W |    107MiB / 24265MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2386      G   /usr/lib/xorg/Xorg                 39MiB |
|    0   N/A  N/A      3224      G   /usr/bin/gnome-shell               64MiB |
+-----------------------------------------------------------------------------+

以及 vulkaninfo输出

===========
VULKAN INFO
===========

Vulkan Instance Version: 1.2.70



Instance Extensions:
====================
Instance Extensions count = 17
    VK_KHR_device_group_creation        : extension revision  1
    VK_KHR_display                      : extension revision 23
    VK_KHR_external_fence_capabilities  : extension revision  1
    VK_KHR_external_memory_capabilities : extension revision  1
    VK_KHR_external_semaphore_capabilities: extension revision  1
    VK_KHR_get_display_properties2      : extension revision  1
    VK_KHR_get_physical_device_properties2: extension revision  2
    VK_KHR_get_surface_capabilities2    : extension revision  1
    VK_KHR_surface                      : extension revision 25
    VK_KHR_surface_protected_capabilities: extension revision  1
    VK_KHR_xcb_surface                  : extension revision  6
    VK_KHR_xlib_surface                 : extension revision  6
    VK_EXT_acquire_xlib_display         : extension revision  1
    VK_EXT_debug_report                 : extension revision  9
    VK_EXT_debug_utils                  : extension revision  2
    VK_EXT_direct_mode_display          : extension revision  1
    VK_EXT_display_surface_counter      : extension revision  1
Layers: count = 8
=======
VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.2.155,layer version 1
    Layer Extensions    count = 0
    Devices     count = 1
        GPU id       : 0 (GeForce RTX 3090)
        Layer-Device Extensions count = 0

VK_LAYER_LUNARG_screenshot (LunarG image capture layer) Vulkan version 1.2.170,layer version 1
    Layer Extensions    count = 0
    Devices     count = 1
        GPU id       : 0 (GeForce RTX 3090)
        Layer-Device Extensions count = 1
            VK_EXT_tooling_info                 : extension revision  1

VK_LAYER_LUNARG_api_dump (LunarG API dump layer) Vulkan version 1.2.170,layer version 2
    Layer Extensions    count = 0
    Devices     count = 1
        GPU id       : 0 (GeForce RTX 3090)
        Layer-Device Extensions count = 1
            VK_EXT_tooling_info                 : extension revision  1

VK_LAYER_LUNARG_monitor (Execution Monitoring Layer) Vulkan version 1.2.170,layer version 1
    Layer Extensions    count = 0
    Devices     count = 1
        GPU id       : 0 (GeForce RTX 3090)
        Layer-Device Extensions count = 1
            VK_EXT_tooling_info                 : extension revision  1

VK_LAYER_LUNARG_device_simulation (LunarG device simulation layer) Vulkan version 1.2.170,layer version 1
    Layer Extensions    count = 0
    Devices     count = 1
        GPU id       : 0 (GeForce RTX 3090)
        Layer-Device Extensions count = 1
            VK_EXT_tooling_info                 : extension revision  1

VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.2.170,layer version 1
    Layer Extensions    count = 3
        VK_EXT_debug_report                 : extension revision  9
        VK_EXT_debug_utils                  : extension revision  1
        VK_EXT_validation_features          : extension revision  2
    Devices     count = 1
        GPU id       : 0 (GeForce RTX 3090)
        Layer-Device Extensions count = 3
            VK_EXT_debug_marker                 : extension revision  4
            VK_EXT_validation_cache             : extension revision  1
            VK_EXT_tooling_info                 : extension revision  1

VK_LAYER_KHRONOS_synchronization2 (Khronos Synchronization2 layer) Vulkan version 1.2.170,layer version 1
    Layer Extensions    count = 0
    Devices     count = 1
        GPU id       : 0 (GeForce RTX 3090)
        Layer-Device Extensions count = 1
            VK_KHR_synchronization2             : extension revision  1

VK_LAYER_LUNARG_gfxreconstruct (GFXReconstruct Capture Layer Version 0.9.6) Vulkan version 1.2.170,layer version 36870
    Layer Extensions    count = 0
    Devices     count = 1
        GPU id       : 0 (GeForce RTX 3090)
        Layer-Device Extensions count = 1
            VK_EXT_tooling_info                 : extension revision  1

Presentable Surfaces:
=====================
GPU id       : 0 (GeForce RTX 3090)
Surface type : VK_KHR_xcb_surface
Formats:        count = 0
Present Modes:      count = 3
    FIFO_KHR
    FIFO_RELAXED_KHR
    IMMEDIATE_KHR
Segmentation fault (core dumped)

我认为 vulkaninfo Segmentation fault (core dumped) 的最后一部分有问题。
我该如何调试?

我已经完成了以下命令或程序:
sudo apt install libvulkan1
sudo apt remove mesa-vulkan-drivers
多次重装GPU驱动。

感谢您的合作。

解决方法

vulkaninfo 错误 iter() 的原因是 xrdp 应用程序,它是远程桌面应用程序,它是 Windows 操作系统上默认安装的应用程序。
xrdp 从 Ubuntu PC 上的原始渲染进行了另一次渲染。
我通过将远程桌面应用程序从 xrdp 更改为不使用其他渲染的 vnc 解决了这个问题。