GPU generates black image on Adreno 618/660 (Android/Termux)
knyipab opened this issue · 1 comments
Thanks a lot for porting this RIFE to ncnn! I recently tried to use this project on Termux/Android.
rife-ncnn-vulkan
generates black image using GPU while perfect running CPU (rife-ncnn-vulkan -g -1
). Tested on Adreno 505, 618 and 660 Android (Termux) against your images/
files (and other jpg). Nothing insightful from its terminal output (even with -v
).
CPU (-g -1 ) |
GPU | |
---|---|---|
Adreno 550 | successful, correct output image | failed with vkCreateComputePiplines failed 5 |
Adreno 618 | successful, correct output image | black image |
Adreno 660 | successful, correct output image | black image |
Adreno 550 seems to have buggy driver. The others' GPU seems to do its work, as they freeze the screen somehow.
FYI, here's how I setup wtih Termux,
- unzip ncnn-20220216-android-vulkan-shared.zip and install the lib/cmake/include with
ln -s
- unzip ncnn-20220216-android-vulkan.zip (to prepare
glslang
objects) pkg install libwebp vulkan-header vulkan-loader-android
cmake ../src -DUSE_SYSTEM_NCNN=ON -DUSE_SYSTEM_WEBP=ON -DVulkan_LIBRARY="/system/lib64/libvulkan.so" -DGLSLANG_TARGET_DIR="<path-to-glslang-directory>"
I also tested my setup against waifu2x-ncnn-vulkan
(GPU, 2x) which works fine on Adreno 618 and 660. Any clues on what's wrong in rife-ncnn-vulkan
?
感谢大神!!
Hi, I discovered that compiling together with the "mini Vulkan SDK" composed of glslc and glslangValidator may resolve the black screen issue.However, I found that enabling -x in rife-ncnn-vulkan is a way to avoid the black screen.
Below are reference urls and compiled file.
rife-ncnn-vulkan.zip
tanyiok1234/waifu2x_srmd-ncnn-vulkan-termux-binary#3
https://xyx.moe/010-Build-waifu2x-ncnn-vulkan-in-termux.html
glslc binary file from
https://github.com/lzhiyong/termux-ndk/tree/android-ndk
This line suggests to me that the Vulkan SDK may not be complete
-- Found Vulkan: /system/lib64/libvulkan.so (found version "1.3.275") missing components: glslc glslangValidator
when build with "mini Vulkan SDK"
-- Found Vulkan: /system/lib64/libvulkan.so (found version "1.3.275") found components: glslc glslangValidator