VisionFive 2 - vkcube not running

I’m using the latest official Debian Wayland image with kernel 6.6.20.

vkcube fails because it can’t find the VK_KHR_swapchain_extension :

Selected GPU 0: PowerVR B-Series BXE-4-32, type: IntegratedGpu
vkEnumerateDeviceExtensionProperties failed to find the VK_KHR_swapchain extension.

Do you have a compatible Vulkan installable client driver (ICD) installed?
Please look at the Getting Started guide for additional information.

Here is the beginning of the vulkaninfo output:

==========
VULKANINFO
==========

Vulkan Instance Version: 1.0.231


Instance Extensions: count = 7
==============================
        VK_EXT_debug_report                    : extension revision 10
        VK_EXT_debug_utils                     : extension revision 2
        VK_KHR_device_group_creation           : extension revision 1
        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_physical_device_properties2 : extension revision 2

Layers:
=======
Device Groups:
==============
Group 0:
        Properties:
                physicalDevices: count = 1
                        PowerVR B-Series BXE-4-32 (ID: 0)
                subsetAllocation = 0

        Present Capabilities = Group does not support VK_KHR_device_group, skipping printing present capabilities


Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
        apiVersion        = 4206817 (1.3.225)
        driverVersion     = 6345021 (0x60d13d)
        vendorID          = 0x1010
        deviceID          = 0x36054182
        deviceType        = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
        deviceName        = PowerVR B-Series BXE-4-32
        pipelineCacheUUID = 3dd16000-2432-0036-00b6-00b601b66400

I have tried installing all the extra packages from the setup guide, as well as a fresh install with no changes/tweaks. The same thing happens in either case.

Firefox registers the GPU with GLES, and OpenCL also seems to be working as expected.

Any ideas?

1 Like

I finally got this working, sort of: there are actually two versions of the driver, one for Xorg and one for Wayland. The Wayland one doesn’t seem to work at all, but the Xorg one does.

Problem is, you can only have the files for one at a time, and I was using the Wayland ones. Once I got the Xorg version from here: Debian/gpu/DDK1.19-binary-xorg at 20221225T084846Z · starfive-tech/Debian · GitHub and copied the libraries to /usr, vkcube worked right away.

I also built and successfully ran Sascha Willems’ examples: GitHub - SaschaWillems/Vulkan: C++ examples for the Vulkan graphics API (Note: I had to build my own Vulkan loader (libvulkan.so) to compile the examples (from the official Khronos repo) as the one from the Debian packages is very old and I got linker errors).

However, in this setup, vulkaninfo of all things segfaults. How anyone can make a driver that can run compute shaders but crashes vulkaninfo is a mystery ..

1 Like