xMeM / vulkan-wsi-layer

Other
21 stars 4 forks source link

[Question] How could I use this to get hardware acceleration in termux? #1

Closed 500InternalError closed 1 year ago

xMeM commented 1 year ago

我只在自己机器上测试过,而且只跑过vkcube跟vkmark,不确定对其他机器或程序有没有用。 需要配合这个一起才能工作,同样的方法编译安装,它依赖 vulkan-loader-generic 这个包所以要先安装它。

apt install vulkan-loader-generic

安装方法:

mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX
make install

删除方法:

rm $PREFIX/lib/libsysvk.so
rm $PREFIX/share/vulkan/icd.d/sysvk_icd.json
rm $PREFIX/share/vulkan/implicit_layer.d/libVkLayer_window_system_integration.so
rm $PREFIX/share/vulkan/implicit_layer.d/VkLayer_window_system_integration.json

与llvmpipe、turnip等vulkan驱动冲突,可能需要卸载它们,以及不能在proot、chroot里面使用。

500InternalError commented 1 year ago

感谢,不过这个wsi layer不能和turnip驱动一起用吗?我想试试能不能运行zink但是系统自带的驱动好像不支持一些extension

xMeM commented 1 year ago

可以支持turnip,但我觉得不如直接改mesa的vulkan wsi,如果你的设备存在 /dev/dma_heap/system ,并有权限访问,可以试试 这个

500InternalError commented 1 year ago

厉害,确实可以,太感谢了

xMeM commented 1 year ago

这个补丁只需要 /dev/dma_heap/system ,可以在proot/chroot里面编译mesa。 环境变量加上 MESA_VK_WSI_DEBUG=linear 可能可以提高帧数,我在chroot的box64droid里面测试茶壶可以跑到1500帧。

500InternalError commented 1 year ago

不过这个驱动比高通专有驱动慢一些啊,是因为对Adreno7xx支持还不完善还是因为需要拷贝内存带来的开销呢