2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事について

今月は多忙で技術系の検証や調査内容を記事にまとめて投稿する余裕が有りませんでした。よって、来月への準備のために実施した環境構築ネタで投稿しようと思います。Raspberry Pi 5(以下、RasPi5)にVulkanをインストールしてGPUが正常に認識される所までを確認しようと思います。

Vulkanとは?

公式GitHub上のドキュメントによると以下の様に説明されています。クロノス・グループによって開発されている様々なデバイス上で利用されているGPUにアクセスするために提供されているAPIです。

Vulkan is a new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.

環境情報

  • Raspberry Pi 5 16GB
  • Ubuntu 24.04

Vulkanをインストール

aptコマンドでVulkanをインストールします。

sudo apt update && sudo apt install -y build-essential cmake ninja-build libvulkan-dev glslc spirv-headers vulkan-tools

GPUの確認

vulkaninfo --summaryコマンドを実行します。サマリー情報が表示されている様に見えて幾つか警告やエラーが出ています。どうやらsudo権限が必要な様です。

$ vulkaninfo --summary                                                                
'DISPLAY' environment variable not set... skipping surface info                       
TU: error: ../src/freedreno/vulkan/tu_knl.cc:387: failed to open device /dev/dri/renderD128 (VK_ERROR_INCOMPATIBLE_DRIVER)                                    
WARNING: [../src/asahi/vulkan/hk_physical_device.c:1147] Code 0 : failed to open device /dev/dri/renderD128 (VK_ERROR_INCOMPATIBLE_DRIVER)                                    
MESA: error: Opening /dev/dri/card1 failed: Permission denied                         
MESA: error: Opening /dev/dri/renderD128 failed: Permission denied                    
WARNING: [../src/panfrost/vulkan/panvk_physical_device.c:74] Code 0 : failed to open device /dev/dri/renderD128 (VK_ERROR_INCOMPATIBLE_DRIVER)                             
==========                                                                            
VULKANINFO                                                                            
==========                                                                            
Vulkan Instance Version: 1.3.275                                                      
Instance Extensions: count = 24                                                       
-------------------------------                                                       
VK_EXT_acquire_drm_display             : extension revision 1                         
VK_EXT_acquire_xlib_display            : extension revision 1                         
VK_EXT_debug_report                    : extension revision 10                        
VK_EXT_debug_utils                     : extension revision 2                         
VK_EXT_direct_mode_display             : extension revision 1                         
VK_EXT_display_surface_counter         : extension revision 1                         
VK_EXT_headless_surface                : extension revision 1                         
VK_EXT_surface_maintenance1            : extension revision 1                         
VK_EXT_swapchain_colorspace            : extension revision 5                         
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_portability_enumeration         : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6
VK_LUNARG_direct_driver_loading        : extension revision 1

Instance Layers: count = 3
--------------------------
VK_LAYER_INTEL_nullhw       INTEL NULL HW                1.1.73   version 1
VK_LAYER_MESA_device_select Linux device selection layer 1.4.303  version 1
VK_LAYER_MESA_overlay       Mesa Overlay layer           1.4.303  version 1

Devices:
========
GPU0:
        apiVersion         = 1.4.318
        driverVersion      = 25.2.8
        vendorID           = 0x10005
        deviceID           = 0x0000
        deviceType         = PHYSICAL_DEVICE_TYPE_CPU
        deviceName         = llvmpipe (LLVM 20.1.2, 128 bits)
        driverID           = DRIVER_ID_MESA_LLVMPIPE
        driverName         = llvmpipe
        driverInfo         = Mesa 25.2.8-0ubuntu0.24.04.2 (LLVM 20.1.2)
        conformanceVersion = 1.3.1.1
        deviceUUID         = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        driverUUID         = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

sudo付きで実行すると無事に警告及びエラー無しで実行出来ました。来月はVulkanを活用して検証を行いたいです。

$ sudo vulkaninfo --summary                                                                                                        
'DISPLAY' environment variable not set... skipping surface info
==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.275


Instance Extensions: count = 24
-------------------------------
VK_EXT_acquire_drm_display             : extension revision 1
VK_EXT_acquire_xlib_display            : extension revision 1
VK_EXT_debug_report                    : extension revision 10
VK_EXT_debug_utils                     : extension revision 2
VK_EXT_direct_mode_display             : extension revision 1
VK_EXT_display_surface_counter         : extension revision 1
VK_EXT_headless_surface                : extension revision 1
VK_EXT_surface_maintenance1            : extension revision 1
VK_EXT_swapchain_colorspace            : extension revision 5
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_portability_enumeration         : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6
VK_LUNARG_direct_driver_loading        : extension revision 1

Instance Layers: count = 3
--------------------------
VK_LAYER_INTEL_nullhw       INTEL NULL HW                1.1.73   version 1
VK_LAYER_MESA_device_select Linux device selection layer 1.4.303  version 1
VK_LAYER_MESA_overlay       Mesa Overlay layer           1.4.303  version 1

Devices:
========
GPU0:
        apiVersion         = 1.3.318
        driverVersion      = 25.2.8
        vendorID           = 0x14e4
        deviceID           = 0x55701c33
        deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
        deviceName         = V3D 7.1.10.2
        driverID           = DRIVER_ID_MESA_V3DV
        driverName         = V3DV Mesa
        driverInfo         = Mesa 25.2.8-0ubuntu0.24.04.2
        conformanceVersion = 1.3.8.3
        deviceUUID         = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        driverUUID         = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
GPU1:
        apiVersion         = 1.4.318
        driverVersion      = 25.2.8
        vendorID           = 0x10005
        deviceID           = 0x0000
        deviceType         = PHYSICAL_DEVICE_TYPE_CPU
        deviceName         = llvmpipe (LLVM 20.1.2, 128 bits)
        driverID           = DRIVER_ID_MESA_LLVMPIPE
        driverName         = llvmpipe
        driverInfo         = Mesa 25.2.8-0ubuntu0.24.04.2 (LLVM 20.1.2)
        conformanceVersion = 1.3.1.1
        deviceUUID         = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        driverUUID         = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?