这是indexloc提供的服务,不要输入任何密码
Skip to content

addpkg(main/mesa-vulkan-icd-wrapper): Android Vulkan wrapper #22500

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

xMeM
Copy link
Contributor

@xMeM xMeM commented Dec 10, 2024

Wrap the Android system Vulkan library into an ICD and provides X11 platform surface support.

@twaik
Copy link
Member

twaik commented Dec 10, 2024

@truboxl @licy183 @sylirre probably this driver can replace vulkan-loader-android and implement default vulkan ICD at the same time. Probably you want to test it a bit more deep.

@twaik
Copy link
Member

twaik commented Dec 10, 2024

For some reasons latest termux-x11 falls with segmentation fault if I launch vkcube. Will investigate it.

@Biswa96
Copy link
Member

Biswa96 commented Dec 10, 2024

Does this support Adreno 505 GPU? I got the following errors.

$ termux-x11 -xstartup vkcube
Selected WSI platform: xcb
Selected GPU 0: Adreno (TM) 505, type: IntegratedGpu
ERROR(/home/builder/.termux-build/vulkan-wsi-layer/src/wsi/swapchain_base.cpp:323): init_platform(device, swapchain_create_info, use_presentation_thread)
ERROR(/home/builder/.termux-build/vulkan-wsi-layer/src/layer/swapchain_api.cpp:65): Failed to initialise swapchain
23377 killed by signal 11

$ termux-x11 -xstartup vulkaninfo
WARNING: [Loader Message] Code 0 : Layer VK_LAYER_window_system_integration uses API version 1.3 which is older than the application specified API version of 1.4. May cause issues.
...more info...

@xMeM
Copy link
Contributor Author

xMeM commented Dec 10, 2024

Uninstall vulkan-wsi-layer , it is no longer needed.

@Biswa96
Copy link
Member

Biswa96 commented Dec 10, 2024

Thanks for the hint. Now, vkcube is working but vulkaninfo fails.

$ vulkaninfo
../src/src/vulkan/wsi/wsi_common_x11.c:938: VkResult x11_surface_get_formats2(VkIcdSurfaceBase *, struct wsi_device *, const void *, uint32_t *, VkSurfaceFormat2KHR *): assertion "f->sType == VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR" failed
Aborted

@twaik
Copy link
Member

twaik commented Dec 10, 2024

Does not work fine on my device. I get this in X server log.

12-10 12:33:14.825 10980 10992 E [Gralloc-ERROR]: validate_lock_input_parameters:227 Lock is not supported for AFBC enabled buffers. wxh(500 500) Internal Format:0x100000001
12-10 12:33:14.825 10980 10992 W Gralloc2: lock(0x7e50a94500, ...) failed: 7
12-10 12:33:14.825 10980 10992 E LorieNative: DRI3: AHardwareBuffer_lock failed: 7

@xMeM
Copy link
Contributor Author

xMeM commented Dec 10, 2024

Thanks for the hint. Now, vkcube is working but vulkaninfo fails.

$ vulkaninfo
../src/src/vulkan/wsi/wsi_common_x11.c:938: VkResult x11_surface_get_formats2(VkIcdSurfaceBase *, struct wsi_device *, const void *, uint32_t *, VkSurfaceFormat2KHR *): assertion "f->sType == VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR" failed
Aborted

This is an issue with vulkan-tools , fixed by KhronosGroup/Vulkan-Tools@2744de9.

@twaik
Copy link
Member

twaik commented Dec 10, 2024

Is there any reason why CI built libwayland-protocols and not the actual package? @sylirre ?

@twaik twaik closed this Dec 10, 2024
@twaik twaik reopened this Dec 10, 2024
@sylirre
Copy link
Member

sylirre commented Dec 10, 2024

@twaik CI built these packages:

  • libwayland-protocols_1.38_all.deb
  • mesa-vulkan-icd-wrapper_24.3.1-1_aarch64.deb
  • mesa-vulkan-icd-wrapper_24.3.1-1_arm.deb

icd wrapper has TERMUX_PKG_BLACKLISTED_ARCHES="i686, x86_64"

I don't see missing packages.

@twaik
Copy link
Member

twaik commented Dec 10, 2024

Oh, I was checking the x86_64 version.
@xMeM is there any reason to make it only arm and arm64?

@xMeM
Copy link
Contributor Author

xMeM commented Dec 10, 2024

Not tested on x86_64 devices.

@xMeM
Copy link
Contributor Author

xMeM commented Dec 10, 2024

Does not work fine on my device. I get this in X server log.

12-10 12:33:14.825 10980 10992 E [Gralloc-ERROR]: validate_lock_input_parameters:227 Lock is not supported for AFBC enabled buffers. wxh(500 500) Internal Format:0x100000001
12-10 12:33:14.825 10980 10992 W Gralloc2: lock(0x7e50a94500, ...) failed: 7
12-10 12:33:14.825 10980 10992 E LorieNative: DRI3: AHardwareBuffer_lock failed: 7

I changed the Usage of AHardwareBuffer, can you try again?

@twaik
Copy link
Member

twaik commented Dec 10, 2024

Unfortunately the package is stripped and debug symbols are disabled so there is no much info.

Selected WSI platform: xlib
Selected GPU 0: Mali-G77, type: IntegratedGpu                                                   
Segmentation fault                                                                              
--------- beginning of crash
12-10 16:32:52.306  9822  9822 F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), faul
t addr 0xe0 in tid 9822 (vkcube), pid 9822 (vkcube)
--------- beginning of main                                                                     
12-10 16:32:52.324  9831  9831 I crash_dump64: obtaining output fd from tombstoned, type: kDebug
gerdTombstoneProto                                                                              
12-10 16:32:52.326  9831  9831 I crash_dump64: performing dump of process 9822 (target tid = 982
2)                                                                                              
12-10 16:32:52.369  9831  9831 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *
** *** ***                                                                                      
12-10 16:32:52.369  9831  9831 F DEBUG   : Build fingerprint: 'samsung/r8sxx/r8s:13/TP1A.220624.
014/G780FXXSLFXK8:user/release-keys'
12-10 16:32:52.369  9831  9831 F DEBUG   : Revision: '5'                                        
12-10 16:32:52.369  9831  9831 F DEBUG   : ABI: 'arm64'
12-10 16:32:52.369  9831  9831 F DEBUG   : Processor: '4'                                       
12-10 16:32:52.369  9831  9831 F DEBUG   : Timestamp: 2024-12-10 16:32:52.330705687+0200        
12-10 16:32:52.369  9831  9831 F DEBUG   : Process uptime: 1s                                   
12-10 16:32:52.369  9831  9831 F DEBUG   : Cmdline: vkcube                                      
12-10 16:32:52.369  9831  9831 F DEBUG   : pid: 9822, tid: 9822, name: vkcube  >>> vkcube <<<   
12-10 16:32:52.369  9831  9831 F DEBUG   : uid: 10677                                           
12-10 16:32:52.369  9831  9831 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr
 0x00000000000000e0                                                                             
12-10 16:32:52.369  9831  9831 F DEBUG   : Cause: null pointer dereference                      
12-10 16:32:52.369  9831  9831 F DEBUG   :     x0  0000000000000000  x1  00000074a6c02800  x2  0
0000074a9a6a008  x3  000000000000001d                                                           
12-10 16:32:52.369  9831  9831 F DEBUG   :     x4  0000000000000000  x5  0000000000000000  x6  0
000000000000000  x7  7f7f7f7f7f7f7f7f
12-10 16:32:52.369  9831  9831 F DEBUG   :     x8  0a032e85271b5fb7  x9  0a032e85271b5fb7  x10 0
0000074a6c00ae0  x11 00000074a6c01450                                                           
12-10 16:32:52.369  9831  9831 F DEBUG   :     x12 00000074a6c01430  x13 0000000000081708  x14 0
000000000080308  x15 ffffffffffffffff
12-10 16:32:52.369  9831  9831 F DEBUG   :     x16 00000074a71d2a60  x17 00000074a71c227c  x18 0
0000074a9574000  x19 0000007fe2413590
12-10 16:32:52.369  9831  9831 F DEBUG   :     x20 0000005a79ed9180  x21 0000005a79e89f09  x22 0
0000074a6d71754  x23 0000000000000001
12-10 16:32:52.369  9831  9831 F DEBUG   :     x24 0000005a79ed7000  x25 0000000000000000  x26 0
000000000000055  x27 0000007fe2413590                                                           
12-10 16:32:52.369  9831  9831 F DEBUG   :     x28 0000000000000000  x29 0000007fe2414690
12-10 16:32:52.369  9831  9831 F DEBUG   :     lr  0000005a79e9de24  sp  0000007fe24134d0  pc  0
000005a79e9de28  pst 0000000060000000
12-10 16:32:52.369  9831  9831 F DEBUG   : backtrace:                                           
12-10 16:32:52.369  9831  9831 F DEBUG   :   NOTE: Function names and BuildId information is mis
sing for some frames due                                                                        
12-10 16:32:52.369  9831  9831 F DEBUG   :   NOTE: to unreadable libraries. For unwinds of apps,
 only shared libraries
12-10 16:32:52.369  9831  9831 F DEBUG   :   NOTE: found under the lib/ directory are readable.
12-10 16:32:52.369  9831  9831 F DEBUG   :   NOTE: On this device, run setenforce 0 to make the 
libraries readable.
12-10 16:32:52.369  9831  9831 F DEBUG   :   NOTE: Unreadable libraries:
12-10 16:32:52.369  9831  9831 F DEBUG   :   NOTE:   /data/data/com.termux/files/usr/bin/vkcube
12-10 16:32:52.369  9831  9831 F DEBUG   :       #00 pc 000000000001de28  /data/data/com.termux/
files/usr/bin/vkcube
12-10 16:32:52.369  9831  9831 F DEBUG   :       #01 pc 0000000000083198  /apex/com.android.runt
ime/lib64/bionic/libc.so (__libc_init+96) (BuildId: ae97b4676db8ce3f620ba6bf7932eba6)
12-10 16:32:52.376  9831  9831 E crash_dump64: AM data write failed: Broken pipe
~/.../downloads/debs $

@hansm629
Copy link

@xMeM
Xclipse 940 GPU : vkmark [clear] flickering issue

vkmark_clear_flickering_issue.mp4

@hansm629
Copy link

@xMeM
Adreno 750 GPU : clvk not work Issue

~$ clinfo
[CLVK] Could not initialise any device!

@hansm629
Copy link

@xMeM
Could you please make MESA_VK_WSI_DEBUG=nosync environment variable work like it did in the old debug build version?

@Artewar67
Copy link

Artewar67 commented Dec 10, 2024

This version (24.3.1) stopped working with all applications except vulkaninfo compared to 24.2.5. I tested all variations of 24.3.1 and none of them works.

Selected WSI platform: xcb
Selected GPU 0: Mali-G76, type: IntegratedGpu
termux :0 -xstartup "vkmark"
7482 killed by signal 11

@paulowesll
Copy link

It's working with lasted termux-x11 update

https://github.com/termux/termux-x11/releases/tag/nightly

This version (24.3.1) stopped working with all applications except vulkaninfo compared to 24.2.5. I tested all variations of 24.3.1 and none of them works.

Selected WSI platform: xcb
Selected GPU 0: Mali-G76, type: IntegratedGpu
termux :0 -xstartup "vkmark"
7482 killed by signal 11

@Artewar67
Copy link

It's working with lasted termux-x11 update

https://github.com/termux/termux-x11/releases/tag/nightly

Updated termux-x11 and install new version of termux-x11-nightly. Nothing change

@twaik
Copy link
Member

twaik commented Dec 10, 2024

I managed to get better crash log

twaik@twaik:~/termux-x11$ adb -s phone:5555 logcat -c; adb -s phone:5555 logcat | ~/Android/Sdk/ndk/28.0.12674087/ndk-stack -i /dev/stdin --sym=/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/src/vulkan/wrapper
********** Crash dump: **********
Build fingerprint: 'samsung/r8sxx/r8s:13/TP1A.220624.014/G780FXXSLFXK8:user/release-keys'
#00 0x000000000076dacc /vendor/lib64/egl/libGLES_mali.so (vulkan::image::image_init_info::handle_image_format(gfx::host_mem_allocator&)+216) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#01 0x000000000076e46c /vendor/lib64/egl/libGLES_mali.so (vulkan::image::image_init_info::parse_image_info(gfx::host_mem_allocator&, bool, hal::surface_metadata const*)+376) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#02 0x000000000076b5b4 /vendor/lib64/egl/libGLES_mali.so (vulkan::image::init(vulkan::device*, VkImageCreateInfo const&, gfx::host_mem_allocator const&, bool, hal::surface_metadata const*, unsigned long const*, unsigned long const*)+276) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#03 0x000000000076f8cc /vendor/lib64/egl/libGLES_mali.so (vulkan::image::init_external_common(vulkan::device*, VkImageCreateInfo const&, unsigned long const*, unsigned long const*, gfx::host_mem_allocator const&, bool, hal::surface_metadata const&, int, hal::drm_format_modifier)+272) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#04 0x0000000000783960 /vendor/lib64/egl/libGLES_mali.so (vulkan::android_deferred_image_init_and_bind(vulkan::device*, vulkan::image*, vulkan::device_memory*)+612) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#05 0x000000000076baf4 /vendor/lib64/egl/libGLES_mali.so (vkBindImageMemory+20) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#06 0x00000000001f7f60 /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
wsi_create_ahardware_buffer_blit_context
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common.c:2359:13
#07 0x00000000001f4b70 /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
wsi_create_image
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common.c:777:13
#08 0x00000000001fce0c /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
x11_image_init
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common_x11.c:2073:13
#09 0x00000000001fbb90 /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
x11_surface_create_swapchain
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common_x11.c:2791:16
#10 0x00000000001f52e0 /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
wsi_CreateSwapchainKHR
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common.c:1058:22
#11 0x000000000007a254 /data/data/com.termux/files/usr/lib/libvulkan.so.1.3.302
#12 0x000000000007c0ec /data/data/com.termux/files/usr/lib/vkmark/xcb.so
#13 0x000000000005c0c4 /data/data/com.termux/files/usr/lib/vkmark/xcb.so
#14 0x00000000000501d4 /data/data/com.termux/files/usr/lib/vkmark/xcb.so
#15 0x00000000000ad458 /data/data/com.termux/files/usr/bin/vkmark
#16 0x0000000000083198 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+96) (BuildId: ae97b4676db8ce3f620ba6bf7932eba6)
Crash dump is completed

********** Crash dump: **********
Build fingerprint: 'samsung/r8sxx/r8s:13/TP1A.220624.014/G780FXXSLFXK8:user/release-keys'
#00 0x000000000076dacc /vendor/lib64/egl/libGLES_mali.so (vulkan::image::image_init_info::handle_image_format(gfx::host_mem_allocator&)+216) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#01 0x000000000076e46c /vendor/lib64/egl/libGLES_mali.so (vulkan::image::image_init_info::parse_image_info(gfx::host_mem_allocator&, bool, hal::surface_metadata const*)+376) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#02 0x000000000076b5b4 /vendor/lib64/egl/libGLES_mali.so (vulkan::image::init(vulkan::device*, VkImageCreateInfo const&, gfx::host_mem_allocator const&, bool, hal::surface_metadata const*, unsigned long const*, unsigned long const*)+276) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#03 0x000000000076f8cc /vendor/lib64/egl/libGLES_mali.so (vulkan::image::init_external_common(vulkan::device*, VkImageCreateInfo const&, unsigned long const*, unsigned long const*, gfx::host_mem_allocator const&, bool, hal::surface_metadata const&, int, hal::drm_format_modifier)+272) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#04 0x0000000000783960 /vendor/lib64/egl/libGLES_mali.so (vulkan::android_deferred_image_init_and_bind(vulkan::device*, vulkan::image*, vulkan::device_memory*)+612) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#05 0x000000000076baf4 /vendor/lib64/egl/libGLES_mali.so (vkBindImageMemory+20) (BuildId: 6ee02575d06e4ab1887c2e4c9f5e690b)
#06 0x00000000001f7f60 /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
wsi_create_ahardware_buffer_blit_context
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common.c:2359:13
#07 0x00000000001f4b70 /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
wsi_create_image
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common.c:777:13
#08 0x00000000001fce0c /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
x11_image_init
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common_x11.c:2073:13
#09 0x00000000001fbb90 /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
x11_surface_create_swapchain
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common_x11.c:2791:16
#10 0x00000000001f52e0 /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
wsi_CreateSwapchainKHR
/home/twaik/.termux-build/mesa-vulkan-icd-wrapper/build/../src/src/vulkan/wsi/wsi_common.c:1058:22
#11 0x000000000007a254 /data/data/com.termux/files/usr/lib/libvulkan.so.1.3.302
#12 0x000000000001f8ac /data/data/com.termux/files/usr/bin/vkcube
#13 0x000000000001e70c /data/data/com.termux/files/usr/bin/vkcube
#14 0x0000000000083198 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+96) (BuildId: ae97b4676db8ce3f620ba6bf7932eba6)
Crash dump is completed

@paulowesll
Copy link

It's working with lasted termux-x11 update
https://github.com/termux/termux-x11/releases/tag/nightly

Updated termux-x11 and install new version of termux-x11-nightly. Nothing change

It's working here with lasted mesa wrapper and lasted termux-x11

~ $ termux-x11 -xstartup vkcube
Selected WSI platform: xcb
Selected GPU 0: Samsung Xclipse 530, type: IntegratedGpu

@twaik
Copy link
Member

twaik commented Dec 10, 2024

@xMeM suggestion. Some devices support BGRA format of AHardwareBuffers. It is enough to pass 5 as AHardwareBuffer_Desc::format to make it work. It will work on most devices (works fine in termux-x11), but you can write a runtime check for it (probe for this feature and check for errors?). So you can avoid blitting in this case and improve performance.

@Artewar67
Copy link

Artewar67 commented Dec 10, 2024

I also that when running vulkaninfo with termux-x11 this error occurs

~ $ termux-x11 -xstartup "vulkaninfo"
../src/src/vulkan/wsi/wsi_common_x11.c:938: VkResult x11_surface_get_formats2(VkIcdSurfaceBase *, struct wsi_device *, const void *, uint32_t *, VkSurfaceFormat2KHR *): assertion "f->sType == VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR" failed
19564 killed by signal 6

This error also occurs in version 24.2.5 vulkan wrapper

@Xtr126
Copy link

Xtr126 commented Dec 11, 2024

Even though the blacklist was removed it does not work on x86_64:

 ~ $ termux-x11 -xstartup vkcube
Selected WSI platform: xcb
12183 killed by signal 11

vulkaninfo and glxgears with zink works fine somehow.

@hansm629
Copy link

hansm629 commented Feb 5, 2025

@xMeM
Hello Sir :)
When will the next package update be?

There seem to be 2 remaining issues:

  • textureCompressionBC -> false
  • Cannot use virpipe simultaneously when running XFCE4 session with zink

@paulowesll
Copy link

paulowesll commented Feb 5, 2025

@xMeM Hello Sir :) When will the next package update be?

There seem to be 2 remaining issues:

  • textureCompressionBC -> false
  • Cannot use virpipe simultaneously when running XFCE4 session with zink

New builds you need to define WRAPPER_DEBUG=bc,placed to have it working

@hansm629
Copy link

hansm629 commented Feb 5, 2025

@paulowesll
Thank you! It worked!

@sabamdarif
Copy link
Contributor

sabamdarif commented Feb 5, 2025

@paulowesll do you have any idea how can i fix this issue it's happened in the latest build, before that it's working fine

vkmark
=======================================================
    vkmark 2017.08
=======================================================
    Vendor ID:      0x13B5
    Device ID:      0x72110000
    Device Name:    Mali-G76 MC4
    Driver Version: 109051904
    Device UUID:    ba510acd8d9038a7a29282d5780482e5
=======================================================
[vertex] device-local=true:[1]    16272 segmentation fault  vkmark
Log
01-07 19:42:47.483 21598 21598 W logcat  : type=1400 audit(0.0:26364): avc: granted { execute } for path="/data/data/com.termux/files/usr/bin/dash" dev="dm-32" ino=655548 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:app_data_file:s0:c6,c258,c512,c768 tclass=file app=com.termux
01-07 19:42:47.487 21598 21598 W logcat  : type=1400 audit(0.0:26365): avc: denied { search } for name="tests" dev="dm-32" ino=122 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:shell_test_data_file:s0 tclass=dir permissive=0 app=com.termux
01-07 19:42:47.487 21598 21598 W logcat  : type=1400 audit(0.0:26366): avc: denied { search } for name="tests" dev="dm-32" ino=122 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:shell_test_data_file:s0 tclass=dir permissive=0 app=com.termux
01-07 19:42:47.487 21598 21598 W logcat  : type=1400 audit(0.0:26367): avc: denied { search } for name="tests" dev="dm-32" ino=122 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:shell_test_data_file:s0 tclass=dir permissive=0 app=com.termux
01-07 19:42:47.487 21598 21598 W logcat  : type=1400 audit(0.0:26368): avc: denied { search } for name="tests" dev="dm-32" ino=122 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:shell_test_data_file:s0 tclass=dir permissive=0 app=com.termux
01-07 19:43:07.602 23186 23208 W Parcel  : Expecting binder but got null!
01-07 19:43:10.067 25693 25693 W zsh     : type=1400 audit(0.0:26375): avc: granted { execute } for name="vkmark" dev="dm-32" ino=843871 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:app_data_file:s0:c6,c258,c512,c768 tclass=file app=com.termux
01-07 19:43:10.067 22306 22306 W zsh     : type=1400 audit(0.0:26376): avc: granted { execute } for name="vkmark" dev="dm-32" ino=843871 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:app_data_file:s0:c6,c258,c512,c768 tclass=file app=com.termux
01-07 19:43:10.067 22306 22306 W zsh     : type=1400 audit(0.0:26377): avc: granted { execute } for name="vkmark" dev="dm-32" ino=843871 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:app_data_file:s0:c6,c258,c512,c768 tclass=file app=com.termux
01-07 19:43:10.067 22306 22306 W zsh     : type=1400 audit(0.0:26378): avc: granted { execute_no_trans } for path="/data/data/com.termux/files/usr/bin/vkmark" dev="dm-32" ino=843871 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:app_data_file:s0:c6,c258,c512,c768 tclass=file app=com.termux
01-07 19:43:10.067 22306 22306 W vkmark  : type=1400 audit(0.0:26379): avc: granted { execute } for path="/data/data/com.termux/files/usr/bin/vkmark" dev="dm-32" ino=843871 scontext=u:r:untrusted_app_27:s0:c6,c258,c512,c768 tcontext=u:object_r:app_data_file:s0:c6,c258,c512,c768 tclass=file app=com.termux
01-07 19:43:10.092 27437 27480 I GED     : [GT]_get_procNameprocess pid(27437)
01-07 19:43:10.092 27437 27480 I GED     : [GT]_getprocess name(/system/bin/app_process)
01-07 19:43:10.093 27437 27480 I app_process: [GT] ret(1) gt_status(00000000) aniso_debug_level(0) gt_aniso_max_level(16) ani so mask(00000001) tri mask(00000002)
01-07 19:43:10.096 27437 27480 I GED     : ged_boost_gpu_freq, level 100, eOrigin 2, final_idx 42, oppidx_max 42, oppidx_min 0
01-07 19:43:10.100 27437 27499 D gles-renderer: renderer: buffer changed 0xb400006f705b2b70 0 0
01-07 19:43:10.162 22306 22306 D PQCommon: [PQ_PROT] [PQCust] libpq_cust_base.so OK, libpq_cust.so absent
01-07 19:43:10.191 22306 22306 I Gralloc4: Adding additional valid usage bits: 0x0
01-07 19:43:10.192 22306 22306 E ion     : ioctl c0044901 failed with code -1: Invalid argument
01-07 19:43:10.230 22306 22306 F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 22306 (vkmark), pid 22306 (vkmark)
01-07 19:43:10.249 22323 22323 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstoneProto
01-07 19:43:10.251 22323 22323 I crash_dump64: performing dump of process 22306 (target tid = 22306)
01-07 19:43:10.283 22323 22323 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-07 19:43:10.283 22323 22323 F DEBUG   : Build fingerprint: 'realme/RMX3085/RMX3085L1:12/SP1A.210812.016/R.GDPR.11887c9-1:user/release-keys'
01-07 19:43:10.283 22323 22323 F DEBUG   : Revision: '0'
01-07 19:43:10.283 22323 22323 F DEBUG   : ABI: 'arm64'
01-07 19:43:10.283 22323 22323 F DEBUG   : Timestamp: 2025-01-07 19:43:10.253407427+0530
01-07 19:43:10.283 22323 22323 F DEBUG   : Process uptime: 1s
01-07 19:43:10.283 22323 22323 F DEBUG   : Cmdline: vkmark
01-07 19:43:10.283 22323 22323 F DEBUG   : pid: 22306, tid: 22306, name: vkmark  >>> vkmark <<<
01-07 19:43:10.283 22323 22323 F DEBUG   : uid: 10518
01-07 19:43:10.283 22323 22323 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000000
01-07 19:43:10.283 22323 22323 F DEBUG   : Cause: null pointer dereference
01-07 19:43:10.283 22323 22323 F DEBUG   :     x0  0000000000000001  x1  0000000000000001  x2  0000007fc6b67480  x3  0000000000000000
01-07 19:43:10.283 22323 22323 F DEBUG   :     x4  0000007fc6b675a8  x5  0000007fc6b674c8  x6  0000007fc6b674d0  x7  0000007fc6b67234
01-07 19:43:10.283 22323 22323 F DEBUG   :     x8  0000000001000000  x9  00000074983d8828  x10 0000000000008000  x11 0000000000000001
01-07 19:43:10.283 22323 22323 F DEBUG   :     x12 000000002fc1bc18  x13 0000000000000008  x14 00000000ffffffff  x15 0000000000000005
01-07 19:43:10.283 22323 22323 F DEBUG   :     x16 00000074983d7728  x17 000000772fded178  x18 0000007734db4000  x19 0000000000000000
01-07 19:43:10.283 22323 22323 F DEBUG   :     x20 0000007fc6b67480  x21 0000000000000001  x22 0000000000000000  x23 0000007fc6b67480
01-07 19:43:10.283 22323 22323 F DEBUG   :     x24 b40000752fc1bc10  x25 0000007fc6b67480  x26 0000007fc6b67560  x27 0000000000000001
01-07 19:43:10.283 22323 22323 F DEBUG   :     x28 0000000000000048  x29 0000007fc6b67450
01-07 19:43:10.283 22323 22323 F DEBUG   :     lr  0000007497e65608  sp  0000007fc6b67450  pc  0000007497e6560c  pst 0000000060001000
01-07 19:43:10.283 22323 22323 F DEBUG   : backtrace:
01-07 19:43:10.283 22323 22323 F DEBUG   :   NOTE: Function names and BuildId information is missing for some frames due
01-07 19:43:10.283 22323 22323 F DEBUG   :   NOTE: to unreadable libraries. For unwinds of apps, only shared libraries
01-07 19:43:10.283 22323 22323 F DEBUG   :   NOTE: found under the lib/ directory are readable.
01-07 19:43:10.283 22323 22323 F DEBUG   :   NOTE: On this device, run setenforce 0 to make the libraries readable.
01-07 19:43:10.283 22323 22323 F DEBUG   :   NOTE: Unreadable libraries:
01-07 19:43:10.283 22323 22323 F DEBUG   :   NOTE:   /data/data/com.termux/files/usr/bin/vkmark
01-07 19:43:10.283 22323 22323 F DEBUG   :   NOTE:   /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
01-07 19:43:10.283 22323 22323 F DEBUG   :       #00 pc 000000000001e60c  /system/lib64/libvulkan.so (vulkan::driver::QueueSubmit(VkQueue_T*, unsigned int, VkSubmitInfo const*, VkFence_T*)+40) (BuildId: 0e0ef8537782565fd16b7f0ce6ef0046)
01-07 19:43:10.283 22323 22323 F DEBUG   :       #01 pc 00000000001a5dfc  /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
01-07 19:43:10.283 22323 22323 F DEBUG   :       #02 pc 0000000000052aa0  /data/data/com.termux/files/usr/bin/vkmark
01-07 19:43:10.283 22323 22323 F DEBUG   :       #03 pc 00000000000514c0  /data/data/com.termux/files/usr/bin/vkmark
01-07 19:43:10.283 22323 22323 F DEBUG   :       #04 pc 000000000004856c  /data/data/com.termux/files/usr/bin/vkmark
01-07 19:43:10.283 22323 22323 F DEBUG   :       #05 pc 00000000000783b0  /data/data/com.termux/files/usr/bin/vkmark
01-07 19:43:10.283 22323 22323 F DEBUG   :       #06 pc 000000000007815c  /data/data/com.termux/files/usr/bin/vkmark
01-07 19:43:10.283 22323 22323 F DEBUG   :       #07 pc 000000000007edc0  /data/data/com.termux/files/usr/bin/vkmark
01-07 19:43:10.283 22323 22323 F DEBUG   :       #08 pc 0000000000042a64  /data/data/com.termux/files/usr/bin/vkmark
01-07 19:43:10.283 22323 22323 F DEBUG   :       #09 pc 000000000004b13c  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+96) (BuildId: 086e70f1671d5268d060cdf12f12a59a)
01-07 19:43:10.312 27437 27480 I GED     : [GT]_get_procNameprocess pid(27437)
01-07 19:43:10.313 27437 27480 I GED     : [GT]_getprocess name(/system/bin/app_process)
01-07 19:43:10.313 27437 27480 I app_process: [GT] ret(1) gt_status(00000000) aniso_debug_level(0) gt_aniso_max_level(16) ani so mask(00000001) tri mask(00000002)
01-07 19:43:10.314 27437 27480 I GED     : ged_boost_gpu_freq, level 100, eOrigin 2, final_idx 42, oppidx_max 42, oppidx_min 0
01-07 19:43:10.321 27437 27499 D gles-renderer: renderer: buffer changed 0xb400006f705b4650 0 0
01-07 19:43:11.448 23186 23208 W Parcel  : Expecting binder but got null!
Log
vkmark                                        
INFO:              Vulkan Loader Version 1.4.304
INFO:              Loader is using non-secure environment variable lookup for HOME
INFO:              Loader is using non-secure environment variable lookup for XDG_DATA_HOME
INFO:              No valid vk_loader_settings.json file found, no loader settings will be active
INFO:              Loader is using non-secure environment variable lookup for VK_LOADER_LAYERS_ENABLE
INFO:              Loader is using non-secure environment variable lookup for VK_LOADER_LAYERS_DISABLE
INFO:              Loader is using non-secure environment variable lookup for VK_LOADER_LAYERS_ALLOW
INFO:              Loader is using non-secure environment variable lookup for XDG_CONFIG_HOME
INFO:              Loader is using non-secure environment variable lookup for XDG_CONFIG_DIRS
INFO:              Loader is using non-secure environment variable lookup for XDG_DATA_HOME
INFO:              Loader is using non-secure environment variable lookup for XDG_DATA_DIRS
INFO:              Loader is using non-secure environment variable lookup for HOME
INFO:              Loader is using non-secure environment variable lookup for VK_IMPLICIT_LAYER_PATH
INFO:              Loader is using non-secure environment variable lookup for VK_ADD_IMPLICIT_LAYER_PATH
LAYER:             Searching for implicit layer manifest files
LAYER:                In following locations:
LAYER:                   /data/data/com.termux/files/home/.config/vulkan/implicit_layer.d
LAYER:                   /data/data/com.termux/files/usr/etc/xdg/vulkan/implicit_layer.d
LAYER:                   /data/data/com.termux/files/usr/etc/vulkan/implicit_layer.d
LAYER:                   /data/data/com.termux/files/home/.local/share/vulkan/implicit_layer.d
LAYER:                   /data/data/com.termux/files/usr/share/vulkan/implicit_layer.d
LAYER:                Found no files
INFO:              Loader is using non-secure environment variable lookup for XDG_CONFIG_HOME
INFO:              Loader is using non-secure environment variable lookup for XDG_CONFIG_DIRS
INFO:              Loader is using non-secure environment variable lookup for XDG_DATA_HOME
INFO:              Loader is using non-secure environment variable lookup for XDG_DATA_DIRS
INFO:              Loader is using non-secure environment variable lookup for HOME
INFO:              Loader is using non-secure environment variable lookup for VK_LAYER_PATH
INFO:              Loader is using non-secure environment variable lookup for VK_ADD_LAYER_PATH
LAYER:             Searching for explicit layer manifest files
LAYER:                In following locations:
LAYER:                   /data/data/com.termux/files/home/.config/vulkan/explicit_layer.d
LAYER:                   /data/data/com.termux/files/usr/etc/xdg/vulkan/explicit_layer.d
LAYER:                   /data/data/com.termux/files/usr/etc/vulkan/explicit_layer.d
LAYER:                   /data/data/com.termux/files/home/.local/share/vulkan/explicit_layer.d
LAYER:                   /data/data/com.termux/files/usr/share/vulkan/explicit_layer.d
LAYER:                Found no files
INFO:              Loader is using non-secure environment variable lookup for VK_LOADER_DRIVERS_SELECT
INFO:              Loader is using non-secure environment variable lookup for VK_LOADER_DRIVERS_DISABLE
INFO:              Loader is using non-secure environment variable lookup for XDG_CONFIG_HOME
INFO:              Loader is using non-secure environment variable lookup for XDG_CONFIG_DIRS
INFO:              Loader is using non-secure environment variable lookup for XDG_DATA_HOME
INFO:              Loader is using non-secure environment variable lookup for XDG_DATA_DIRS
INFO:              Loader is using non-secure environment variable lookup for HOME
INFO:              Loader is using non-secure environment variable lookup for VK_DRIVER_FILES
INFO:              Loader is using non-secure environment variable lookup for VK_ICD_FILENAMES
INFO:              Loader is using non-secure environment variable lookup for VK_ADD_DRIVER_FILES
DRIVER:            Searching for driver manifest files
DRIVER:               In following locations:
DRIVER:                  /data/data/com.termux/files/home/.config/vulkan/icd.d
DRIVER:                  /data/data/com.termux/files/usr/etc/xdg/vulkan/icd.d
DRIVER:                  /data/data/com.termux/files/usr/etc/vulkan/icd.d
DRIVER:                  /data/data/com.termux/files/home/.local/share/vulkan/icd.d
DRIVER:                  /data/data/com.termux/files/usr/share/vulkan/icd.d
DRIVER:               Found the following files:
DRIVER:                  /data/data/com.termux/files/usr/share/vulkan/icd.d/wrapper_icd.aarch64.json
DRIVER:            Found ICD manifest file /data/data/com.termux/files/usr/share/vulkan/icd.d/wrapper_icd.aarch64.json, version 1.0.0
DEBUG | DRIVER:    Searching for ICD drivers named /data/data/com.termux/files/usr/lib/libvulkan_wrapper.so
WARNING | LAYER:   env var 'VK_INSTANCE_LAYERS' defined and adding layers "VK_LAYER_KHRONOS_validation"
ERROR | LAYER:     Layer "VK_LAYER_KHRONOS_validation" was not found but was requested by env var VK_INSTANCE_LAYERS!
WARNING | LAYER:   env var 'VK_INSTANCE_LAYERS' defined and adding layers "VK_LAYER_KHRONOS_validation"
ERROR | LAYER:     Layer "VK_LAYER_KHRONOS_validation" was not found but was requested by env var VK_INSTANCE_LAYERS!
LAYER:             vkCreateInstance layer callstack setup to:
LAYER:                <Application>
LAYER:                  ||
LAYER:                <Loader>
LAYER:                  ||
LAYER:                <Drivers>
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] Mali-G76 MC4
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] Mali-G76 MC4
INFO | DRIVER:     linux_read_sorted_physical_devices:
INFO | DRIVER:          Original order:
INFO | DRIVER:                [0] Mali-G76 MC4
INFO | DRIVER:          Sorted order:
INFO | DRIVER:                [0] Mali-G76 MC4
DEBUG | DRIVER:    Copying old device 0 into new device 0
DRIVER | LAYER:    vkCreateDevice layer callstack setup to:
DRIVER | LAYER:       <Application>
DRIVER | LAYER:         ||
DRIVER | LAYER:       <Loader>
DRIVER | LAYER:         ||
DRIVER | LAYER:       <Device>
DRIVER | LAYER:           Using "Mali-G76 MC4" with driver: "/data/data/com.termux/files/usr/lib/libvulkan_wrapper.so"
Unsupported MESA_VK_WSI_PRESENT_MODE value!
=======================================================
    vkmark 2017.08
=======================================================
    Vendor ID:      0x13B5
    Device ID:      0x72110000
    Device Name:    Mali-G76 MC4
    Driver Version: 109051904
    Device UUID:    ba510acd8d9038a7a29282d5780482e5
=======================================================
[vertex] device-local=true:[2]    4686 segmentation fault  vkmark

@sabamdarif
Copy link
Contributor

sabamdarif commented Feb 6, 2025

@paulowesll do you have any idea how can i fix this issue it's happened in the latest build, before that it's working fine

vkmark
=======================================================
    vkmark 2017.08
=======================================================
    Vendor ID:      0x13B5
    Device ID:      0x72110000
    Device Name:    Mali-G76 MC4
    Driver Version: 109051904
    Device UUID:    ba510acd8d9038a7a29282d5780482e5
=======================================================
[vertex] device-local=true:[1]    16272 segmentation fault  vkmark

Log

Log

fixed now and the performance, mean the fps is feel higher, although not that much from 800-1000 to 1353-1500

@robertkirkman
Copy link
Contributor

Package: vulkan-wrapper-android commit xMeM@d3c42fc
X11 server: Termux:X11 commit termux/termux-x11@cd98217

Samsung Galaxy S7 (SM-G930U, Android 8, Adreno 530, Original closed-source /system/lib64/libvulkan.so)

vulkaninfo --summary
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000007fb7187eb8 in ?? () from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#2  0x0000007fb718ac98 in ?? () from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#3  0x0000007fb719166c in vkCreateInstance ()
   from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#4  0x0000005555689dfc in ?? ()
#5  0x0000005555659cd8 in ?? ()
#6  0x0000007fb7c44974 in __libc_init () from /system/lib64/libc.so
#7  0x00000055555a79fc in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) 
vkcube
Selected WSI platform: xcb

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000007fb75f7eb8 in ?? () from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#2  0x0000007fb75fac98 in ?? () from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#3  0x0000007fb760166c in vkCreateInstance ()
   from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#4  0x0000005555573aa4 in ?? ()
#5  0x0000007fb7d26974 in __libc_init () from /system/lib64/libc.so
#6  0x00000055555644d4 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) 
vkmark
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000007fb7a8ceb8 in ?? () from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#2  0x0000007fb7a8fc98 in ?? () from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#3  0x0000007fb7a9666c in vkCreateInstance ()
   from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#4  0x0000007fb6965ac4 in vk::detail::DispatchLoaderStatic::vkCreateInstance(VkInstanceCreateInfo const*, VkAllocationCallbacks const*, VkInstance_T**) const ()
   from /data/data/com.termux/files/usr/lib/vkmark/display.so
#5  0x0000007fb69642a8 in vkmark_window_system_probe ()
   from /data/data/com.termux/files/usr/lib/vkmark/display.so
#6  0x00000055555f0a08 in ?? ()
--Type <RET> for more, q to quit, c to continue without paging--
#7  0x00000055555f0e6c in ?? ()
#8  0x00000055555f0608 in ?? ()
#9  0x00000055555f0314 in ?? ()
#10 0x00000055555f013c in ?? ()
#11 0x000000555559b44c in ?? ()
#12 0x0000007fb7ae7974 in __libc_init () from /system/lib64/libc.so
#13 0x000000555559b0c4 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) 

@robertkirkman
Copy link
Contributor

Samsung Galaxy S8+ (SM-G955F, Android 14, Mali-G71 MP2, Original closed-source /system/lib64/libvulkan.so)

vulkaninfo --summary
==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.310


Instance Extensions: count = 24
-------------------------------
VK_EXT_acquire_drm_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_GOOGLE_surfaceless_query            : extension revision 2
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:
----------------

Devices:
========
GPU0:
	apiVersion         = 1.0.97
	driverVersion      = 67108864
	vendorID           = 0x13b5
	deviceID           = 0x60a00001
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = Mali-G71
GPU1:
	apiVersion         = 1.3.289
	driverVersion      = 0.0.1
	vendorID           = 0x10005
	deviceID           = 0x0000
	deviceType         = PHYSICAL_DEVICE_TYPE_CPU
	deviceName         = llvmpipe (LLVM 19.1.3, 128 bits)
	driverID           = DRIVER_ID_MESA_LLVMPIPE
	driverName         = llvmpipe
	driverInfo         = Mesa 24.2.6 (LLVM 19.1.3)
	conformanceVersion = 1.3.1.1
	deviceUUID         = 6d657361-3234-2e32-2e36-000000000000
	driverUUID         = 6c6c766d-7069-7065-5555-494400000000
vkcube
Thread 1 "vkcube" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000007d1e336148 in wsi_get_ahardware_buffer_blit_type (wsi=wsi@entry=0x7f36992580, 
    params=params@entry=0x7fffffc8d4, device=device@entry=0x7f3698b010)
    at ../src/src/vulkan/wsi/wsi_common_ahardware_buffer.c:40
#2  0x0000007d1e331c88 in get_blit_type (wsi=0x7f36992580, params=0x7fffffc8d4, 
    device=0x7f3698b010) at ../src/src/vulkan/wsi/wsi_common.c:399
#3  wsi_swapchain_init (wsi=wsi@entry=0x7f36992580, chain=chain@entry=0x7f369993e0, 
    _device=_device@entry=0x7f3698b010, pCreateInfo=pCreateInfo@entry=0x7fffffc9f0, 
    image_params=0x7fffffc8d4, pAllocator=pAllocator@entry=0x7f3698b050)
    at ../src/src/vulkan/wsi/wsi_common.c:477
#4  0x0000007d1e338294 in x11_surface_create_swapchain (icd_surface=<optimized out>, 
--Type <RET> for more, q to quit, c to continue without paging--
    device=0x7f3698b010, wsi_device=0x7f36992580, pCreateInfo=0x7fffffc9f0, 
    pAllocator=0x7f3698b050, swapchain_out=0x7fffffca60)
    at ../src/src/vulkan/wsi/wsi_common_x11.c:2707
#5  0x0000007d1e332adc in wsi_CreateSwapchainKHR (_device=<optimized out>, 
    pCreateInfo=<optimized out>, pAllocator=<optimized out>, pSwapchain=<optimized out>)
    at ../src/src/vulkan/wsi/wsi_common.c:1049
#6  0x0000007d23a94e50 in ?? () from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#7  0x0000005555576038 in ?? ()
#8  0x0000005555574a74 in ?? ()
#9  0x0000007fb6a6674c in __libc_init () from /apex/com.android.runtime/lib64/bionic/libc.so
(gdb) 
vkmark
MESA: warning: src/vulkan/runtime/vk_physical_device_features.c:97: VkPhysicalDeviceFeatures.samplerAnisotropy not supported (VK_ERROR_FEATURE_NOT_PRESENT)
MESA: warning: ../src/src/vulkan/wrapper/wrapper_device.c:169: VK_ERROR_FEATURE_NOT_PRESENT
Error: vk::PhysicalDevice::createDevice: ErrorFeatureNotPresent

@robertkirkman
Copy link
Contributor

robertkirkman commented Mar 15, 2025

Samsung Galaxy A70 (SM-A705FN, Android 13, Adreno 612, /system/lib64/libvulkan.so has been deleted using root and replaced with a SurfaceFlinger(ANativeWindow) Turnip built around late 2023)

vulkaninfo --summary
==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.310


Instance Extensions: count = 24
-------------------------------
VK_EXT_acquire_drm_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_GOOGLE_surfaceless_query            : extension revision 2
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:
----------------

Devices:
========
GPU0:
	apiVersion         = 1.0.267
	driverVersion      = 23.99.99
	vendorID           = 0x5143
	deviceID           = 0x6010200
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = Turnip Adreno (TM) 612
	driverID           = DRIVER_ID_MESA_TURNIP
	driverName         = turnip Mesa driver
	driverInfo         = Mesa 24.0.0-devel
	conformanceVersion = 1.2.7.1
GPU1:
	apiVersion         = 1.3.296
	driverVersion      = 0.0.1
	vendorID           = 0x10005
	deviceID           = 0x0000
	deviceType         = PHYSICAL_DEVICE_TYPE_CPU
	deviceName         = llvmpipe (LLVM 19.1.7, 128 bits)
	driverID           = DRIVER_ID_MESA_LLVMPIPE
	driverName         = llvmpipe
	driverInfo         = Mesa 24.3.4 (LLVM 19.1.7)
	conformanceVersion = 1.3.1.1
	deviceUUID         = 6d657361-3234-2e33-2e34-000000000000
	driverUUID         = 6c6c766d-7069-7065-5555-494400000000
vkcube
Thread 1 "vkcube" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000007d26144148 in wsi_get_ahardware_buffer_blit_type (
    wsi=wsi@entry=0xb400007f3c2d4580, params=params@entry=0x7fffffc6a4, 
    device=device@entry=0xb400007f3c2d58c0)
    at ../src/src/vulkan/wsi/wsi_common_ahardware_buffer.c:40
#2  0x0000007d2613fc88 in get_blit_type (wsi=0xb400007f3c2d4580, params=0x7fffffc6a4, 
    device=0xb400007f3c2d58c0) at ../src/src/vulkan/wsi/wsi_common.c:399
#3  wsi_swapchain_init (wsi=wsi@entry=0xb400007f3c2d4580, 
    chain=chain@entry=0xb400007f3c2de170, _device=_device@entry=0xb400007f3c2d58c0, 
    pCreateInfo=pCreateInfo@entry=0x7fffffc7c0, image_params=0x7fffffc6a4, 
    pAllocator=pAllocator@entry=0xb400007f3c2d5900) at ../src/src/vulkan/wsi/wsi_common.c:477
--Type <RET> for more, q to quit, c to continue without paging--
#4  0x0000007d26146294 in x11_surface_create_swapchain (icd_surface=<optimized out>, 
    device=0xb400007f3c2d58c0, wsi_device=0xb400007f3c2d4580, pCreateInfo=0x7fffffc7c0, 
    pAllocator=0xb400007f3c2d5900, swapchain_out=0x7fffffc830)
    at ../src/src/vulkan/wsi/wsi_common_x11.c:2707
#5  0x0000007d26140adc in wsi_CreateSwapchainKHR (_device=<optimized out>, 
    pCreateInfo=<optimized out>, pAllocator=<optimized out>, pSwapchain=<optimized out>)
    at ../src/src/vulkan/wsi/wsi_common.c:1049
#6  0x0000007d28d42e50 in ?? () from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#7  0x0000005555576038 in ?? ()
#8  0x0000005555574a74 in ?? ()
#9  0x0000007fbc3aa1f8 in __libc_init () from /apex/com.android.runtime/lib64/bionic/libc.so
(gdb) 
vkmark
Thread 1 "vkmark" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000007d25b43148 in wsi_get_ahardware_buffer_blit_type (
    wsi=wsi@entry=0xb400007f3923b7f0, params=params@entry=0x7fffffe024, 
    device=device@entry=0xb400007f39237010)
    at ../src/src/vulkan/wsi/wsi_common_ahardware_buffer.c:40
#2  0x0000007d25b3ec88 in get_blit_type (wsi=0xb400007f3923b7f0, params=0x7fffffe024, 
    device=0xb400007f39237010) at ../src/src/vulkan/wsi/wsi_common.c:399
#3  wsi_swapchain_init (wsi=wsi@entry=0xb400007f3923b7f0, 
    chain=chain@entry=0xb400007f492506c0, _device=_device@entry=0xb400007f39237010, 
    pCreateInfo=pCreateInfo@entry=0x7fffffe140, image_params=0x7fffffe024, 
    pAllocator=pAllocator@entry=0xb400007f39237050) at ../src/src/vulkan/wsi/wsi_common.c:477
--Type <RET> for more, q to quit, c to continue without paging--
#4  0x0000007d25b45294 in x11_surface_create_swapchain (icd_surface=<optimized out>, 
    device=0xb400007f39237010, wsi_device=0xb400007f3923b7f0, pCreateInfo=0x7fffffe140, 
    pAllocator=0xb400007f39237050, swapchain_out=0x7fffffe1b0)
    at ../src/src/vulkan/wsi/wsi_common_x11.c:2707
#5  0x0000007d25b3fadc in wsi_CreateSwapchainKHR (_device=<optimized out>, 
    pCreateInfo=<optimized out>, pAllocator=<optimized out>, pSwapchain=<optimized out>)
    at ../src/src/vulkan/wsi/wsi_common.c:1049
#6  0x0000007fb92b6e50 in ?? () from /data/data/com.termux/files/usr/lib/libvulkan.so.1.4.310
#7  0x0000007d251349fc in vk::detail::DispatchLoaderStatic::vkCreateSwapchainKHR(VkDevice_T*, VkSwapchainCreateInfoKHR const*, VkAllocationCallbacks const*, VkSwapchainKHR_T**) const ()
   from /data/data/com.termux/files/usr/lib/vkmark/xcb.so
--Type <RET> for more, q to quit, c to continue without paging--
#8  0x0000007d2512a07c in SwapchainWindowSystem::create_vk_swapchain() ()
   from /data/data/com.termux/files/usr/lib/vkmark/xcb.so
#9  0x0000007d25127608 in SwapchainWindowSystem::init_vulkan(VulkanState&) ()
   from /data/data/com.termux/files/usr/lib/vkmark/xcb.so
#10 0x000000555559b4cc in ?? ()
#11 0x0000007fbafeb1f8 in __libc_init () from /apex/com.android.runtime/lib64/bionic/libc.so
(gdb) 

@robertkirkman
Copy link
Contributor

robertkirkman commented Mar 15, 2025

Samsung Galaxy S9 (SM-G960U, Android 10, Adreno 630, Original closed-source /system/lib64/libvulkan.so)

vulkaninfo --summary
==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.310


Instance Extensions: count = 23
-------------------------------
VK_EXT_acquire_drm_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:
----------------

Devices:
========
GPU0:
	apiVersion         = 1.1.87
	driverVersion      = 0.415.0
	vendorID           = 0x5143
	deviceID           = 0x6030001
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = Adreno (TM) 630
	driverID           = DRIVER_ID_QUALCOMM_PROPRIETARY
	driverName         = Qualcomm Technologies Inc. Adreno Vulkan Driver
	driverInfo         = Driver Build: fdd61e0, I20154638fb, 1602078382
Date: 10/07/20
Compiler Version: EV031.27.05.01
Driver Branch: 

	conformanceVersion = 1.1.2.1
GPU1:
	apiVersion         = 1.3.296
	driverVersion      = 0.0.1
	vendorID           = 0x10005
	deviceID           = 0x0000
	deviceType         = PHYSICAL_DEVICE_TYPE_CPU
	deviceName         = llvmpipe (LLVM 19.1.7, 128 bits)
	driverID           = DRIVER_ID_MESA_LLVMPIPE
	driverName         = llvmpipe
	driverInfo         = Mesa 24.3.4 (LLVM 19.1.7)
	conformanceVersion = 1.3.1.1
	deviceUUID         = 6d657361-3234-2e33-2e34-000000000000
	driverUUID         = 6c6c766d-7069-7065-5555-494400000000
vkcube
Selected WSI platform: xcb
Selected GPU 0: Adreno (TM) 630, type: IntegratedGpu
(cube is working. framerate is good. window is resizeable)
vkmark
=======================================================
    vkmark 2025.01
=======================================================
    Vendor ID:      0x5143
    Device ID:      0x6030001
    Device Name:    Adreno (TM) 630
    Driver Version: 2149183488
    Device UUID:    e061dd0f435100000000010003060000
=======================================================
[vertex] device-local=true: FPS: 839 FrameTime: 1.192 ms
[vertex] device-local=false: FPS: 896 FrameTime: 1.116 ms
[texture] anisotropy=0: FPS: 906 FrameTime: 1.104 ms
[texture] anisotropy=16: FPS: 901 FrameTime: 1.110 ms
[shading] shading=gouraud: FPS: 766 FrameTime: 1.305 ms
[shading] shading=blinn-phong-inf: FPS: 765 FrameTime: 1.307 ms
[shading] shading=phong: FPS: 712 FrameTime: 1.404 ms
[shading] shading=cel: FPS: 711 FrameTime: 1.406 ms
[effect2d] kernel=edge: FPS: 667 FrameTime: 1.499 ms
[effect2d] kernel=blur: FPS: 414 FrameTime: 2.415 ms
[desktop] <default>: FPS: 635 FrameTime: 1.575 ms
[cube] <default>: FPS: 956 FrameTime: 1.046 ms
[clear] <default>: FPS: 1027 FrameTime: 0.974 ms
=======================================================
                                   vkmark Score: 784
=======================================================
glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0xffffffff)
    Device: llvmpipe (LLVM 19.1.7, 128 bits) (0xffffffff)
    Version: 24.3.4
    Accelerated: no
    Video memory: 3581MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 4.5
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 0 MB, largest block: 0 MB
    VBO free aux. memory - total: 1093 MB, largest block: 1093 MB
    Texture free memory - total: 0 MB, largest block: 0 MB
    Texture free aux. memory - total: 1093 MB, largest block: 1093 MB
    Renderbuffer free memory - total: 0 MB, largest block: 0 MB
    Renderbuffer free aux. memory - total: 1093 MB, largest block: 1093 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4294314144 MB
    Total available memory: 4294317726 MB
    Currently available dedicated video memory: 0 MB
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 19.1.7, 128 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 24.3.4
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5 (Compatibility Profile) Mesa 24.3.4
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
glxgears
536 frames in 5.0 seconds = 107.199 FPS
(llvmpipe glxgears)

@robertkirkman
Copy link
Contributor

robertkirkman commented Mar 15, 2025

Valve Steam Deck OLED (Galileo, Android 13 [bare metal], AMD Sephiroth, /system/lib64/libvulkan.so is a RADV for SurfaceFlinger(ANativeWindow) built around mid 2024)

vulkaninfo --summary
==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.310


Instance Extensions: count = 23
-------------------------------
VK_EXT_acquire_drm_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_GOOGLE_surfaceless_query            : extension revision 2
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:
----------------

Devices:
========
GPU0:
	apiVersion         = 1.1.267
	driverVersion      = 23.3.3
	vendorID           = 0x1002
	deviceID           = 0x1435
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = AMD Radeon Graphics (RADV VANGOGH)
	driverID           = DRIVER_ID_MESA_RADV
	driverName         = radv
	driverInfo         = Mesa 23.3.3
	conformanceVersion = 1.3.0.0
vkcube
Selected WSI platform: xcb
Selected GPU 0: AMD Radeon Graphics (RADV VANGOGH), type: IntegratedGpu
(cube is working. framerate is good. window is resizeable)
vkmark
=======================================================
    vkmark 2025.01
=======================================================
    Vendor ID:      0x1002
    Device ID:      0x1435
    Device Name:    AMD Radeon Graphics (RADV VANGOGH)
    Driver Version: 96481283
    Device UUID:    c176f346e04ddef25ab76292f42007af
=======================================================
[vertex] device-local=true: FPS: 4885 FrameTime: 0.205 ms
[vertex] device-local=false: FPS: 4934 FrameTime: 0.203 ms
[texture] anisotropy=0: FPS: 4743 FrameTime: 0.211 ms
[texture] anisotropy=16: FPS: 4690 FrameTime: 0.213 ms
[shading] shading=gouraud: FPS: 4646 FrameTime: 0.215 ms
[shading] shading=blinn-phong-inf: FPS: 4605 FrameTime: 0.217 ms
[shading] shading=phong: FPS: 4542 FrameTime: 0.220 ms
[shading] shading=cel: FPS: 4502 FrameTime: 0.222 ms
[effect2d] kernel=edge: FPS: 4824 FrameTime: 0.207 ms
[effect2d] kernel=blur: FPS: 3696 FrameTime: 0.271 ms
[desktop] <default>: FPS: 4000 FrameTime: 0.250 ms
[cube] <default>: FPS: 5107 FrameTime: 0.196 ms
[clear] <default>: FPS: 4597 FrameTime: 0.218 ms
=======================================================
                                   vkmark Score: 4597
=======================================================
glxinfo -B
name of display: :0
MESA: error: CreateSwapchainKHR failed with VK_ERROR_OUT_OF_HOST_MEMORY
MESA: error: zink: could not create swapchain
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0x1002)
    Device: zink Vulkan 1.1(AMD Radeon Graphics (RADV VANGOGH) (MESA_RADV)) (0x1435)
    Version: 24.3.4
    Accelerated: yes
    Video memory: 5627MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 5621 MB, largest block: 5621 MB
    VBO free aux. memory - total: 2809 MB, largest block: 2809 MB
    Texture free memory - total: 5621 MB, largest block: 5621 MB
    Texture free aux. memory - total: 2809 MB, largest block: 2809 MB
    Renderbuffer free memory - total: 5621 MB, largest block: 5621 MB
    Renderbuffer free aux. memory - total: 2809 MB, largest block: 2809 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 5627 MB
    Total available memory: 8440 MB
    Currently available dedicated video memory: 5621 MB
OpenGL vendor string: Mesa
OpenGL renderer string: zink Vulkan 1.1(AMD Radeon Graphics (RADV VANGOGH) (MESA_RADV))
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.3.4
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
MESA: error: CreateSwapchainKHR failed with VK_ERROR_OUT_OF_HOST_MEMORY
MESA: error: zink: could not create swapchain

OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.3.4
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
MESA: error: CreateSwapchainKHR failed with VK_ERROR_OUT_OF_HOST_MEMORY
MESA: error: zink: could not create swapchain

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
glxgears
MESA: error: CreateSwapchainKHR failed with VK_ERROR_OUT_OF_HOST_MEMORY
MESA: error: zink: could not create swapchain
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
X Error of failed request:  GLXBadCurrentWindow
  Major opcode of failed request:  150 (GLX)
  Minor opcode of failed request:  11 (X_GLXSwapBuffers)
  Serial number of failed request:  63
  Current serial number in output stream:  63

@sabamdarif
Copy link
Contributor

@robertkirkman for that mali device try launching it with

MESA_VK_WSI_PRESENT_MODE=mailbox MESA_VK_WSI_DEBUG=blit vkmark

and see what happened

@robertkirkman
Copy link
Contributor

Ok

~ $ MESA_VK_WSI_PRESENT_MODE=mailbox MESA_VK_WSI_DEBUG=blit vkmark
MESA: warning: src/vulkan/runtime/vk_physical_device_features.c:97: VkPhysicalDeviceFeatures.samplerAnisotropy not supported (VK_ERROR_FEATURE_NOT_PRESENT)
MESA: warning: ../src/src/vulkan/wrapper/wrapper_device.c:169: VK_ERROR_FEATURE_NOT_PRESENT
Error: vk::PhysicalDevice::createDevice: ErrorFeatureNotPresent

@sabamdarif
Copy link
Contributor

i don't know the exact reason bu try this

VK_ICD_FILENAMES=/data/data/com.termux/files/usr/share/vulkan/icd.d/wrapper_icd.aarch64.json MESA_VK_WSI_PRESENT_MODE=mailbox MESA_VK_WSI_DEBUG=blit MESA_SHADER_CACHE=512MB MESA_SHADER_CACHE_DISABLE=false vblank_mode=0

or change MESA_VK_WSI_DEBUG value to rgba / noahb might work

@robertkirkman
Copy link
Contributor

Ok

~ $ VK_ICD_FILENAMES=/data/data/com.termux/files/usr/share/vulkan/icd.d/wrapper_icd.aarch64.json MESA_VK_WSI_PRESENT_MODE=mailbox MESA_VK_WSI_DEBUG=blit MESA_SHADER_CACHE=512MB MESA_SHADER_CACHE_DISABLE=false vblank_mode=0 vkmark
MESA: warning: src/vulkan/runtime/vk_physical_device_features.c:97: VkPhysicalDeviceFeatures.samplerAnisotropy not supported (VK_ERROR_FEATURE_NOT_PRESENT)
MESA: warning: ../src/src/vulkan/wrapper/wrapper_device.c:169: VK_ERROR_FEATURE_NOT_PRESENT
Error: vk::PhysicalDevice::createDevice: ErrorFeatureNotPresent
~ $ VK_ICD_FILENAMES=/data/data/com.termux/files/usr/share/vulkan/icd.d/wrapper_icd.aarch64.json MESA_VK_WSI_PRESENT_MODE=mailbox MESA_VK_WSI_DEBUG=rgba MESA_SHADER_CACHE=512MB MESA_SHADER_CACHE_DISABLE=false vblank_mode=0 vkmark
MESA: warning: src/vulkan/runtime/vk_physical_device_features.c:97: VkPhysicalDeviceFeatures.samplerAnisotropy not supported (VK_ERROR_FEATURE_NOT_PRESENT)
MESA: warning: ../src/src/vulkan/wrapper/wrapper_device.c:169: VK_ERROR_FEATURE_NOT_PRESENT
Error: vk::PhysicalDevice::createDevice: ErrorFeatureNotPresent
~ $ VK_ICD_FILENAMES=/data/data/com.termux/files/usr/share/vulkan/icd.d/wrapper_icd.aarch64.json MESA_VK_WSI_PRESENT_MODE=mailbox MESA_VK_WSI_DEBUG=noahb MESA_SHADER_CACHE=512MB MESA_SHADER_CACHE_DISABLE=false vblank_mode=0 vkmark
MESA: warning: src/vulkan/runtime/vk_physical_device_features.c:97: VkPhysicalDeviceFeatures.samplerAnisotropy not supported (VK_ERROR_FEATURE_NOT_PRESENT)
MESA: warning: ../src/src/vulkan/wrapper/wrapper_device.c:169: VK_ERROR_FEATURE_NOT_PRESENT
Error: vk::PhysicalDevice::createDevice: ErrorFeatureNotPresent
~ $ 

@roygoraposonjr
Copy link

roygoraposonjr commented Mar 19, 2025

Hi, How should I run this on SD 8s gen 3 adreno 735? I installed it and it directly changes the GPU to zink vulkan.

What are the variables needed to be added to the xface4 session and also when running glmark2. Vkmark shows 1301 score while glmark2 on last parts.

[ideas] speed=duration:MESA: error: ZINK: vkCreateGraphicsPipelines failed (VK_ERROR_UNKNOWN) Segmentation fault

@hansm629
Copy link

hansm629 commented Apr 5, 2025

@roygoraposonjr
As far as I know, currently only Samsung xclipse series GPU can complete glmark2&glmark2-es2 on mesa zink.

This is not a vulkan-wrapper-android_25.0.0-2_aarch64.deb issue,
but simply that mesa zink is not compatible with the Android Vulkan driver.

In theory, mesa zink is only guaranteed to be compatible with Turnip and RADV.

@hansm629
Copy link

hansm629 commented Apr 5, 2025

@xMeM
Hi sir
Do you have any plans to update the feature further?

If there is no update, wouldn't it be okay to merge the pull request?
I think minor issues can be improved through updates.

@robertkirkman
Copy link
Contributor

robertkirkman commented Apr 5, 2025

If we are mentioning things that would be very interesting to have available from pkg install even if they are not perfect,

@xMeM this thing (freedreno kgsl opengl mesa) is very amazing and it is very good on Samsung Galaxy A70 SM-A705FN with Adreno 612. I have not gotten it to work on anything else currently but it is the only existing thing I have seen that enables working X11 EGL on Samsung Galaxy A70 and other things like Zink and termux-wsi-layer do not yet (EDIT: UPDATE: EGL is now working with Zink with Turnip with my Adreno 612!). So this driver is possibly very good for Samsung Galaxy A70 even if it is not useful for any other device. xMeM@401982b

I am not sure whether you have received feedback about that or knew that it works on some devices, but I would like to let you know that it is good for Samsung Galaxy A70 in case you did not know yet.

@robertkirkman robertkirkman mentioned this pull request Apr 9, 2025
@hansm629
Copy link

Here are my Galaxy S24+ (SM-S926N) test results.

It is a model equipped with Samsung Exynos2400
The GPU is Samsung Xclipse 940 (AMD RDNA3 Custom 6WGP).

It works very well in most environments.

but
There is an issue with 3D viewer coordinates being misaligned in OpenGL 3.x & OpenGL ES 3.x environments, but this seems to be a simple mesa zink compatibility issue.
(Compatibility guarantees for mesa zink are limited to Turnip and RADV.)

vulkaninfo

~$ vulkaninfo
==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.312


Instance Extensions: count = 25
===============================
	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_GOOGLE_surfaceless_query            : extension revision 2
	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

Layers:
=======
Presentable Surfaces:
=====================
GPU id : 0 (Samsung Xclipse 940):
	Surface types: count = 2
		VK_KHR_xcb_surface
		VK_KHR_xlib_surface
	Formats: count = 2
		SurfaceFormat[0]:
			format = FORMAT_B8G8R8A8_UNORM
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
		SurfaceFormat[1]:
			format = FORMAT_B8G8R8A8_SRGB
			colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
	Present Modes: count = 3
		PRESENT_MODE_MAILBOX_KHR
		PRESENT_MODE_FIFO_KHR
		PRESENT_MODE_FIFO_RELAXED_KHR
	VkSurfaceCapabilitiesKHR:
	-------------------------
		minImageCount = 3
		maxImageCount = 0
		currentExtent:
			width  = 256
			height = 256
		minImageExtent:
			width  = 256
			height = 256
		maxImageExtent:
			width  = 256
			height = 256
		maxImageArrayLayers = 1
		supportedTransforms: count = 1
			SURFACE_TRANSFORM_IDENTITY_BIT_KHR
		currentTransform = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
		supportedCompositeAlpha: count = 2
			COMPOSITE_ALPHA_OPAQUE_BIT_KHR
			COMPOSITE_ALPHA_INHERIT_BIT_KHR
		supportedUsageFlags: count = 7
			IMAGE_USAGE_TRANSFER_SRC_BIT
			IMAGE_USAGE_TRANSFER_DST_BIT
			IMAGE_USAGE_SAMPLED_BIT
			IMAGE_USAGE_STORAGE_BIT
			IMAGE_USAGE_COLOR_ATTACHMENT_BIT
			IMAGE_USAGE_INPUT_ATTACHMENT_BIT
			IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
	VkSurfaceProtectedCapabilitiesKHR:
	----------------------------------
		supportsProtected = false

	VK_EXT_surface_maintenance1:
	----------------------------
		PRESENT_MODE_MAILBOX_KHR:
			minImageCount = 4
			maxImageCount = 0
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 256
					height = 256
				maxScaledImageExtent:
					width  = 256
					height = 256
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 3
				pPresentModes: count = 3
					PRESENT_MODE_MAILBOX_KHR
					PRESENT_MODE_FIFO_KHR
					PRESENT_MODE_FIFO_RELAXED_KHR
		PRESENT_MODE_FIFO_KHR:
			minImageCount = 3
			maxImageCount = 0
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 256
					height = 256
				maxScaledImageExtent:
					width  = 256
					height = 256
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 3
				pPresentModes: count = 3
					PRESENT_MODE_FIFO_KHR
					PRESENT_MODE_MAILBOX_KHR
					PRESENT_MODE_FIFO_RELAXED_KHR
		PRESENT_MODE_FIFO_RELAXED_KHR:
			minImageCount = 3
			maxImageCount = 0
			VkSurfacePresentScalingCapabilitiesEXT:
				supportedPresentScaling:
					None
				supportedPresentGravityX:
					None
				supportedPresentGravityY:
					None
				minScaledImageExtent:
					width  = 256
					height = 256
				maxScaledImageExtent:
					width  = 256
					height = 256
			VkSurfacePresentModeCompatibilityEXT:
				presentModeCount                = 3
				pPresentModes: count = 3
					PRESENT_MODE_FIFO_RELAXED_KHR
					PRESENT_MODE_MAILBOX_KHR
					PRESENT_MODE_FIFO_KHR


Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
	apiVersion        = 1.3.279 (4206871)
	driverVersion     = 24.3.9 (100675593)
	vendorID          = 0x144d
	deviceID          = 0x2600200
	deviceType        = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName        = Samsung Xclipse 940
	pipelineCacheUUID = 5050c88a-cf84-5cdc-a9cb-02f2ff6efa48

vkmark

~$ vkmark
=======================================================
    vkmark 2025.01
=======================================================
    Vendor ID:      0x144D
    Device ID:      0x2600200
    Device Name:    Samsung Xclipse 940
    Driver Version: 100675593
    Device UUID:    5050c88acf845cdca9cb02f2ff6efa48
=======================================================
[vertex] device-local=true: FPS: 6006 FrameTime: 0.167 ms
[vertex] device-local=false: FPS: 6484 FrameTime: 0.154 ms
[texture] anisotropy=0: FPS: 6226 FrameTime: 0.161 ms
[texture] anisotropy=16: FPS: 6398 FrameTime: 0.156 ms
[shading] shading=gouraud: FPS: 5558 FrameTime: 0.180 ms
[shading] shading=blinn-phong-inf: FPS: 5544 FrameTime: 0.180 ms
[shading] shading=phong: FPS: 5528 FrameTime: 0.181 ms
[shading] shading=cel: FPS: 5522 FrameTime: 0.181 ms
[effect2d] kernel=edge: FPS: 6652 FrameTime: 0.150 ms
[effect2d] kernel=blur: FPS: 6886 FrameTime: 0.145 ms
[desktop] <default>: FPS: 4440 FrameTime: 0.225 ms
[cube] <default>: FPS: 6576 FrameTime: 0.152 ms
[clear] <default>: FPS: 6572 FrameTime: 0.152 ms
=======================================================
                                   vkmark Score: 6030
=======================================================

glxinfo -B

~$ glxinfo -B
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0x144d)
    Device: zink Vulkan 1.3(Samsung Xclipse 940 (SAMSUNG_PROPRIETARY)) (0x2600200)
    Version: 25.0.3
    Accelerated: yes
    Video memory: 8256MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 8251 MB, largest block: 8251 MB
    VBO free aux. memory - total: 0 MB, largest block: 0 MB
    Texture free memory - total: 8251 MB, largest block: 8251 MB
    Texture free aux. memory - total: 0 MB, largest block: 0 MB
    Renderbuffer free memory - total: 8251 MB, largest block: 8251 MB
    Renderbuffer free aux. memory - total: 0 MB, largest block: 0 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 8256 MB
    Total available memory: 8256 MB
    Currently available dedicated video memory: 8251 MB
OpenGL vendor string: Mesa
OpenGL renderer string: zink Vulkan 1.3(Samsung Xclipse 940 (SAMSUNG_PROPRIETARY))
OpenGL core profile version string: 4.6 (Core Profile) Mesa 25.0.3
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.0.3
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 25.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

glmark2

~$ glmark2
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      Mesa
    GL_RENDERER:    zink Vulkan 1.3(Samsung Xclipse 940 (SAMSUNG_PROPRIETARY))
    GL_VERSION:     4.6 (Compatibility Profile) Mesa 25.0.3
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 709 FrameTime: 1.411 ms
[build] use-vbo=true: FPS: 649 FrameTime: 1.541 ms
[texture] texture-filter=nearest: FPS: 657 FrameTime: 1.523 ms
[texture] texture-filter=linear: FPS: 626 FrameTime: 1.599 ms
[texture] texture-filter=mipmap: FPS: 642 FrameTime: 1.559 ms
[shading] shading=gouraud: FPS: 645 FrameTime: 1.553 ms
[shading] shading=blinn-phong-inf: FPS: 595 FrameTime: 1.681 ms
[shading] shading=phong: FPS: 627 FrameTime: 1.596 ms
[shading] shading=cel: FPS: 645 FrameTime: 1.552 ms
[bump] bump-render=high-poly: FPS: 580 FrameTime: 1.727 ms
[bump] bump-render=normals: FPS: 651 FrameTime: 1.538 ms
[bump] bump-render=height: FPS: 611 FrameTime: 1.638 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 583 FrameTime: 1.717 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 580 FrameTime: 1.724 ms
[pulsar] light=false:quads=5:texture=false: FPS: 606 FrameTime: 1.652 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 506 FrameTime: 1.980 ms
[desktop] effect=shadow:windows=4: FPS: 542 FrameTime: 1.845 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 194 FrameTime: 5.176 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 366 FrameTime: 2.732 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 210 FrameTime: 4.783 ms
[ideas] speed=duration: FPS: 591 FrameTime: 1.694 ms
[jellyfish] <default>: FPS: 481 FrameTime: 2.079 ms
[terrain] <default>: FPS: 361 FrameTime: 2.773 ms
[shadow] <default>: FPS: 539 FrameTime: 1.856 ms
[refract] <default>: FPS: 353 FrameTime: 2.836 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 627 FrameTime: 1.595 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 634 FrameTime: 1.578 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 620 FrameTime: 1.613 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 630 FrameTime: 1.590 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 622 FrameTime: 1.609 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 615 FrameTime: 1.628 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 625 FrameTime: 1.600 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 634 FrameTime: 1.579 ms
=======================================================
                                  glmark2 Score: 561 
=======================================================

glmark2-es2

~$ glmark2-es2
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      Mesa
    GL_RENDERER:    zink Vulkan 1.3(Samsung Xclipse 940 (SAMSUNG_PROPRIETARY))
    GL_VERSION:     OpenGL ES 3.2 Mesa 25.0.3
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 804 FrameTime: 1.244 ms
[build] use-vbo=true: FPS: 870 FrameTime: 1.151 ms
[texture] texture-filter=nearest: FPS: 800 FrameTime: 1.250 ms
[texture] texture-filter=linear: FPS: 801 FrameTime: 1.250 ms
[texture] texture-filter=mipmap: FPS: 807 FrameTime: 1.240 ms
[shading] shading=gouraud: FPS: 780 FrameTime: 1.282 ms
[shading] shading=blinn-phong-inf: FPS: 770 FrameTime: 1.300 ms
[shading] shading=phong: FPS: 779 FrameTime: 1.284 ms
[shading] shading=cel: FPS: 774 FrameTime: 1.294 ms
[bump] bump-render=high-poly: FPS: 656 FrameTime: 1.525 ms
[bump] bump-render=normals: FPS: 813 FrameTime: 1.231 ms
[bump] bump-render=height: FPS: 822 FrameTime: 1.217 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 679 FrameTime: 1.474 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 713 FrameTime: 1.404 ms
[pulsar] light=false:quads=5:texture=false: FPS: 676 FrameTime: 1.481 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 569 FrameTime: 1.758 ms
[desktop] effect=shadow:windows=4: FPS: 619 FrameTime: 1.617 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 208 FrameTime: 4.824 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 644 FrameTime: 1.554 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 245 FrameTime: 4.094 ms
[ideas] speed=duration: FPS: 597 FrameTime: 1.677 ms
[jellyfish] <default>: FPS: 547 FrameTime: 1.830 ms
[terrain] <default>: FPS: 396 FrameTime: 2.529 ms
[shadow] <default>: FPS: 586 FrameTime: 1.709 ms
[refract] <default>: FPS: 425 FrameTime: 2.358 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 760 FrameTime: 1.316 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 752 FrameTime: 1.331 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 750 FrameTime: 1.334 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 730 FrameTime: 1.370 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 743 FrameTime: 1.347 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 739 FrameTime: 1.354 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 756 FrameTime: 1.324 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 740 FrameTime: 1.352 ms
=======================================================
                                  glmark2 Score: 676 
=======================================================

clinfo

~$ clinfo
Number of platforms                               1
  Platform Name                                   clvk
  Platform Vendor                                 clvk
  Platform Version                                OpenCL 3.0 clvk
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd cl_khr_extended_versioning 
  Platform Extensions with Version                cl_khr_icd                                                       0x400000 (1.0.0)
                                                  cl_khr_extended_versioning                                       0x400000 (1.0.0)
  Platform Numeric Version                        0xc00000 (3.0.0)
  Platform Extensions function suffix             clvk
  Platform Host timer resolution                  1ns

  Platform Name                                   clvk
Number of devices                                 1
  Device Name                                     Samsung Xclipse 940
  Device Vendor                                   Unknown vendor
  Device Vendor ID                                0x144d
  Device Version                                  OpenCL 3.0 CLVK on Vulkan v1.3.279 driver 100675593
  Device UUID                                     00000000-0000-0000-0000-000000000000
  Driver UUID                                     414d442d-4c49-4e55-582d-445256000000
  Valid Device LUID                               No
  Device LUID                                     0000-000000000000
  Device Node Mask                                0x1
  Device Numeric Version                          0xc00000 (3.0.0)
  Driver Version                                  3.0 CLVK on Vulkan v1.3.279 driver 100675593
  Device OpenCL C Version                         OpenCL C 1.2 CLVK on Vulkan v1.3.279 driver 100675593
  Device OpenCL C Numeric Version                 0x402000 (1.2.0)
  Device OpenCL C all versions                    OpenCL C                                                         0x400000 (1.0.0)
                                                  OpenCL C                                                         0x401000 (1.1.0)
                                                  OpenCL C                                                         0x402000 (1.2.0)
                                                  OpenCL C                                                         0xc00000 (3.0.0)
  Device OpenCL C features                        __opencl_c_images                                                0xc00000 (3.0.0)
                                                  __opencl_c_3d_image_writes                                       0xc00000 (3.0.0)
                                                  __opencl_c_read_write_images                                     0xc00000 (3.0.0)
                                                  __opencl_c_atomic_order_acq_rel                                  0xc00000 (3.0.0)
                                                  __opencl_c_atomic_scope_device                                   0xc00000 (3.0.0)
                                                  __opencl_c_subgroups                                             0xc00000 (3.0.0)
                                                  __opencl_c_int64                                                 0xc00000 (3.0.0)
                                                  __opencl_c_integer_dot_product_input_4x8bit                      0xc00000 (3.0.0)
                                                  __opencl_c_integer_dot_product_input_4x8bit_packed               0xc00000 (3.0.0)
  Latest conformance test passed                  v2023-12-12-00
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                Yes
  Max compute units                               1
  Max clock frequency                             0MHz
  Device Partition                                (core)
    Max number of sub-devices                     0
    Supported partition types                     None
    Supported affinity domains                    (n/a)
  Max work item dimensions                        3
  Max work item sizes                             1024x1024x1024
  Max work group size                             1024
  Preferred work group size multiple (device)     16
  Preferred work group size multiple (kernel)     16
  Max sub-groups per work group                   4294967295
  Sub-group sizes (Intel)                         32, 64
  Preferred / native vector sizes                 
    char                                                 1 / 1       
    short                                                1 / 1       
    int                                                  1 / 1       
    long                                                 1 / 1       
    half                                                 1 / 1        (cl_khr_fp16)
    float                                                1 / 1       
    double                                               0 / 0        (n/a)
  Half-precision Floating-point support           (cl_khr_fp16)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
  Single-precision Floating-point support         (core)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  No
  Double-precision Floating-point support         (n/a)
  Address bits                                    32, Little-Endian
  Global memory size                              8589934592 (8GiB)
  Error Correction support                        No
  Max memory allocation                           2147483648 (2GiB)
  Unified memory for Host and Device              Yes
  Shared Virtual Memory (SVM) capabilities        (core)
    Coarse-grained buffer sharing                 No
    Fine-grained buffer sharing                   No
    Fine-grained system sharing                   No
    Atomics                                       No
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       1024 bits (128 bytes)
  Preferred alignment for atomics                 
    SVM                                           0 bytes
    Global                                        0 bytes
    Local                                         0 bytes
  Atomic memory capabilities                      relaxed, acquire/release, work-group scope, device scope
  Atomic fence capabilities                       relaxed, acquire/release, work-item scope, work-group scope, device scope
  Max size for global variable                    0
  Preferred total size of global vars             0
  Global Memory cache type                        None
  Image support                                   Yes
    Max number of samplers per kernel             20
    Max size for 1D images from buffer            2147483648 pixels
    Max 1D or 2D image array size                 8192 images
    Base address alignment for 2D image buffers   0 bytes
    Pitch alignment for 2D image buffers          0 pixels
    Max 2D image size                             16384x16384 pixels
    Max 3D image size                             8192x8192x8192 pixels
    Max number of read image args                 4294967295
    Max number of write image args                4294967295
    Max number of read/write image args           4294967295
  Pipe support                                    No
  Max number of pipe args                         0
  Max active pipe reservations                    0
  Max pipe packet size                            0
  Local memory type                               Local
  Local memory size                               32768 (32KiB)
  Max number of constant args                     8
  Max constant buffer size                        65536 (64KiB)
  Generic address space support                   No
  Max size of kernel argument                     1024
  Queue properties (on host)                      
    Out-of-order execution                        No
    Profiling                                     Yes
  Device enqueue capabilities                     (n/a)
  Queue properties (on device)                    
    Out-of-order execution                        No
    Profiling                                     No
    Preferred size                                0
    Max size                                      0
  Max queues on device                            0
  Max events on device                            0
  Prefer user sync for interop                    Yes
  Profiling timer resolution                      1ns
  Execution capabilities                          
    Run OpenCL kernels                            Yes
    Run native kernels                            No
    Non-uniform work-groups                       Yes
    Work-group collective functions               No
    Sub-group independent forward progress        No
    IL version                                    SPIR-V_1.0 
    ILs with version                              SPIR-V                                                           0x400000 (1.0.0)
  printf() buffer size                            1048576 (1024KiB)
  Built-in kernels                                (n/a)
  Built-in kernels with version                   (n/a)
  Device Extensions                               cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_extended_versioning cl_khr_create_command_queue cl_khr_il_program cl_khr_spirv_no_integer_wrap_decoration cl_arm_non_uniform_work_group_size cl_arm_printf cl_khr_suggested_local_work_size cl_khr_3d_image_writes cl_khr_spirv_linkonce_odr cl_khr_device_uuid cl_khr_fp16 cl_intel_required_subgroup_size cl_khr_integer_dot_product cl_arm_integer_dot_product_int8 cl_arm_integer_dot_product_accumulate_int8 cl_arm_integer_dot_product_accumulate_saturate_int8 cl_arm_integer_dot_product_accumulate_int16 
  Device Extensions with Version                  cl_khr_global_int32_base_atomics                                 0x400000 (1.0.0)
                                                  cl_khr_global_int32_extended_atomics                             0x400000 (1.0.0)
                                                  cl_khr_local_int32_base_atomics                                  0x400000 (1.0.0)
                                                  cl_khr_local_int32_extended_atomics                              0x400000 (1.0.0)
                                                  cl_khr_byte_addressable_store                                    0x400000 (1.0.0)
                                                  cl_khr_extended_versioning                                       0x400000 (1.0.0)
                                                  cl_khr_create_command_queue                                      0x400000 (1.0.0)
                                                  cl_khr_il_program                                                0x400000 (1.0.0)
                                                  cl_khr_spirv_no_integer_wrap_decoration                          0x400000 (1.0.0)
                                                  cl_arm_non_uniform_work_group_size                               0x400000 (1.0.0)
                                                  cl_arm_printf                                                    0x400000 (1.0.0)
                                                  cl_khr_suggested_local_work_size                                 0x400000 (1.0.0)
                                                  cl_khr_3d_image_writes                                           0x400000 (1.0.0)
                                                  cl_khr_spirv_linkonce_odr                                        0x400000 (1.0.0)
                                                  cl_khr_device_uuid                                               0x400000 (1.0.0)
                                                  cl_khr_fp16                                                      0x400000 (1.0.0)
                                                  cl_intel_required_subgroup_size                                  0x400000 (1.0.0)
                                                  cl_khr_integer_dot_product                                       0x800000 (2.0.0)
                                                  cl_arm_integer_dot_product_int8                                  0x400000 (1.0.0)
                                                  cl_arm_integer_dot_product_accumulate_int8                       0x400000 (1.0.0)
                                                  cl_arm_integer_dot_product_accumulate_saturate_int8              0x400000 (1.0.0)
                                                  cl_arm_integer_dot_product_accumulate_int16                      0x400000 (1.0.0)

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  clvk
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success [clvk]
  clCreateContext(NULL, ...) [default]            Success [clvk]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
    Platform Name                                 clvk
    Device Name                                   Samsung Xclipse 940
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
    Platform Name                                 clvk
    Device Name                                   Samsung Xclipse 940
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
    Platform Name                                 clvk
    Device Name                                   Samsung Xclipse 940

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loader
  ICD loader Vendor                               OCL Icd free software
  ICD loader Version                              2.3.3
  ICD loader Profile                              OpenCL 3.0

@hansm629
Copy link

hansm629 commented Jun 3, 2025

@xMeM
Hello sir
A common issue with Adreno GPU has been confirmed in the latest Android 15 & 16.
When running vkmark, the shader is broken in the [cube] item.

  • Galaxy S25 Ultra | Android 16 | Adreno 830
  • Galaxy S24 Ultra | Android 15 | Adreno 750
  • Galaxy Tab S9 Ultra | Android 15 | Adreno 740

Screenshot_2025-06-03_13-31-15
Screenshot_20250603_133524_TermuxX11
Screenshot_2025-06-03_13-28-35

This is a common symptom in the above devices.

Interestingly,
Galaxy S24+ | Android 15 | Xclipse 940
The symptom does not occur in the above environment.
Screenshot_2025-06-03_13-46-01

Can you fix it?

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

Successfully merging this pull request may close these issues.