Joshua-Riek / ubuntu-rockchip

Ubuntu 22.04 and 24.04 for Rockchip RK35XX Devices
https://joshua-riek.github.io/ubuntu-rockchip-download/
GNU General Public License v3.0
1.82k stars 198 forks source link

New Mali G610 Vulkan Blob #888

Open zylo117 opened 3 days ago

zylo117 commented 3 days ago

share a maybe-official wayland vulkan driver.

just cat x** > rockchip-mali_1.9-12_arm64.deb

I've try this on nano r6s with official mali driver on wayland ubuntu 22.04 and succeed to build and run ncnn with vulkan, by manually copying the wayland-vulkan related *.so to lib path. But vulkan won't work in x11 desktop. It's really vulkan with g610, not llvmpipe, and ncnn also has a benchmark on 3588 with vulkan.

@Joshua-Riek Can you please try this on your 3588 devices to see if they are working? If so, it would be nice that you can integrate it into ubuntu-rockchip. This project is really awesome.

617

xaa.zip xab.zip xac.zip

Joshua-Riek commented 3 days ago

Where did these files come from? Are they directly from Rockchip?

Uploading random binaries seems suspicious to me.

ginkage commented 3 days ago

OK, that's interesting!

ginkage@rock-5b:~/libmali-vk/usr/lib/aarch64-linux-gnu$ vulkaninfo
arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '10'.
'DISPLAY' environment variable not set... skipping surface info
arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '10'.
==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.204

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

Layers: count = 2
=================
VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.3.211, layer version 1:
        Layer Extensions: count = 0
        Devices: count = 1
                GPU id = 0 (Mali-LODX)
                Layer-Device Extensions: count = 0

VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.3.211, layer version 1:
        Layer Extensions: count = 0
        Devices: count = 1
                GPU id = 0 (Mali-LODX)
                Layer-Device Extensions: count = 0

Device Groups:
==============
Group 0:
        Properties:
                physicalDevices: count = 1
                        Mali-LODX (ID: 0)
                subsetAllocation = 0

arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '10'.
        Present Capabilities:
                Mali-LODX (ID: 0):
                        Can present images from the following devices: count = 1
                                Mali-LODX (ID: 0)
                Present modes: count = 1
                        DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR

Of course it wouldn't work in X11, as it's a Wayland .so...

bagong commented 3 days ago

Is it a closed source driver? How come the origin isn't revealed? Joshua couldn't distribute an illegal, possibly even malicious driver...

ginkage commented 3 days ago

It seems to lack VK_KHR_wayland_surface, so most likely it's a headless-only driver.

ginkage commented 3 days ago

Looks like this deb is also available to download here: https://repo.rock-chips.com/edge/debian-release-v2.0.0/pool/main/r/rockchip-mali/

Joshua-Riek commented 3 days ago

Good find, I just wanted to make sure this is public in some form. Splitting the package into 3 parts was strange, but this seems legitimate.

zylo117 commented 3 days ago

Good find, I just wanted to make sure this is public in some form. Splitting the package into 3 parts was strange, but this seems legitimate.

Looks like this deb is also available to download here: https://repo.rock-chips.com/edge/debian-release-v2.0.0/pool/main/r/rockchip-mali/

Yes, this is the download link

zylo117 commented 2 days ago

@Joshua-Riek Is it possible to add vulkan support to ubuntu-rockchip?

Joshua-Riek commented 14 hours ago

I think it may be to early to add these blobs. Does anyone know if it's usable in any form or if there is a compatible drivers for this new vulkan blob?

zylo117 commented 8 hours ago

I think it may be to early to add these blobs. Does anyone know if it's usable in any form or if there is a compatible drivers for this new vulkan blob?

Of course, it's very useful in chromium. When you open chrome, it it says vulkan error. If there is a vk driver, it can accelerate the browser. And vulkan is very important for gaming and ai developing in linux.

ginkage commented 8 hours ago

The problem is, this blob is useless for actually accelerating graphics, as it lacks the necessary extension VK_KHR_wayland_surface. It may be (probably) used for things like cnn, but this particular blob can not be used for games or browser, I'm afraid.

ginkage commented 8 hours ago

As in:

ginkage@rock-5c:~/Vulkan-Tools/build/cube$ ./vkcube-wayland 
vkEnumerateInstanceExtensionProperties failed to find the VK_KHR_wayland_surface extension.

Here's the vulkaninfo output for reference: https://pastebin.com/NYD1z027 If you think it's still useful for anything, do tell, but without the ability to actually render anything on the screen there's hardly any point to include it.

zylo117 commented 8 hours ago

As in:

ginkage@rock-5c:~/Vulkan-Tools/build/cube$ ./vkcube-wayland 
vkEnumerateInstanceExtensionProperties failed to find the VK_KHR_wayland_surface extension.

Here's the vulkaninfo output for reference: https://pastebin.com/NYD1z027 If you think it's still useful for anything, do tell, but without the ability to actually render anything on the screen there's hardly any point to include it.

well, then at least I get vulkan working in ncnn. I can do ai development 3588