Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 24.04: validation layer installation issue and solution #292

Open
shampoofactory opened this issue Sep 25, 2024 · 0 comments
Open

Comments

@shampoofactory
Copy link

shampoofactory commented Sep 25, 2024

OS:
Ubuntu 24.04 LTS

vin@zen:~$ uname --all
Linux zen 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

GPU:

vin@zen:~$ vkcube
Selected GPU 0: AMD Radeon RX 6650 XT (RADV NAVI23), type: DiscreteGpu

'vkcube' is working.

Problem:

Unable to install validation layers using the tutorial instructions: Development Environment > Vulkan SDK > Linux.

vin@zen:~$ sudo apt install vulkan-validationlayers-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package vulkan-validationlayers-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  vulkan-utility-libraries-dev

E: Package 'vulkan-validationlayers-dev' has no installation candidate

Installing the replacement package 'vulkan-utility-libraries-dev' does not help:

vin@zen:~$ sudo apt install vulkan-utility-libraries-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  vulkan-utility-libraries-dev
0 upgraded, 1 newly installed, 0 to remove and 193 not upgraded.
Need to get 159 kB of archives.
After this operation, 1,398 kB of additional disk space will be used.
Get:1 http://gb.archive.ubuntu.com/ubuntu noble/universe amd64 vulkan-utility-libraries-dev amd64 1.3.275.0-1 [159 kB]
Fetched 159 kB in 0s (934 kB/s)                      
Selecting previously unselected package vulkan-utility-libraries-dev.
(Reading database ... 225185 files and directories currently installed.)
Preparing to unpack .../vulkan-utility-libraries-dev_1.3.275.0-1_amd64.deb ...
Unpacking vulkan-utility-libraries-dev (1.3.275.0-1) ...
Setting up vulkan-utility-libraries-dev (1.3.275.0-1) ...

No validation layers:

vin@zen:~$ vulkaninfo | grep LAYER
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Received return code -3 from call to vkCreateInstance in ICD /usr/lib/x86_64-linux-gnu/libvulkan_virtio.so. Skipping this driver.
VK_LAYER_INTEL_nullhw (INTEL NULL HW) Vulkan version 1.1.73, layer version 1:
VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.3.211, layer version 1:
VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.3.211, layer version 1:

A solution:

There may be a better way to do this but I managed to get it all working by using the LunarG VulkanSDK.

Step 1 (as with tutorial):

sudo apt install vulkan-tools

Step 2:
Site: https://vulkan.lunarg.com/sdk/home
Navigate to: Linux > Ubuntu Packages > Latest Supported Release > Ubuntu 24.04 (Noble Numbat)
Read the instructions carefully and execute the given commands.

The commands at present (although they may have changed, so please check the website) are:

wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-noble.list https://packages.lunarg.com/vulkan/lunarg-vulkan-noble.list
sudo apt update
sudo apt install vulkan-sdk

We now have the necessary validation layers:

vin@zen:~$ vulkaninfo | grep LAYER
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Received return code -3 from call to vkCreateInstance in ICD /usr/lib/x86_64-linux-gnu/libvulkan_virtio.so. Skipping this driver.
VK_LAYER_INTEL_nullhw (INTEL NULL HW) Vulkan version 1.1.73, layer version 1:
VK_LAYER_KHRONOS_profiles (Khronos Profiles layer) Vulkan version 1.3.290, layer version 1:
VK_LAYER_KHRONOS_shader_object (Khronos Shader object layer) Vulkan version 1.3.290, layer version 1:
VK_LAYER_KHRONOS_synchronization2 (Khronos Synchronization2 layer) Vulkan version 1.3.290, layer version 1:
VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.3.290, layer version 1:
VK_LAYER_LUNARG_api_dump (LunarG API dump layer) Vulkan version 1.3.290, layer version 2:
VK_LAYER_LUNARG_crash_diagnostic (Crash Diagnostic Layer is a crash/hang debugging tool that helps determines GPU progress in a Vulkan application.) Vulkan version 1.3.290, layer version 1:
VK_LAYER_LUNARG_gfxreconstruct (GFXReconstruct Capture Layer Version 1.0.5-unknown) Vulkan version 1.3.290, layer version 4194309:
VK_LAYER_LUNARG_monitor (Execution Monitoring Layer) Vulkan version 1.3.290, layer version 1:
VK_LAYER_LUNARG_screenshot (LunarG image capture layer) Vulkan version 1.3.290, layer version 1:
VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.3.211, layer version 1:
VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.3.211, layer version 1:

I hope this can be of some use to others.

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant