xMeM / vulkan-wsi-layer

Other
21 stars 4 forks source link

Mali GPU had issues #3

Closed Saikatsaha1996 closed 7 months ago

Saikatsaha1996 commented 8 months ago

1st issue about Mali GPU

Screenshot_2024-03-26-00-33-54-331_com termux-edit

Even Zink was also not worked properly for some missing extension.. Just share Zink report if it will help you..

IMG_20230108_195327

I will share debug report later

2nd issue about adreno..

I am trying to run native wine dxvk application in Termux with your proof of work but unable to run.. any solution?

0168:err:environ:init_peb starting L"C:\\windows\\env\\SphereMap.exe" in experimental wow64 mode
starting Box64 based box64cpu.dll
0168:err:vulkan:wine_vkCreateInstance Failed to create instance, res=-7

vulkaninfo.txt

I solve this issue.. but still this graphics drive not compatible with wine.. Any way to add support for wine compatibility?

Started wine hangover with

export DISPLAY=:0
export LD_LIBRARY_PATH=/system/lib64/:/vendor/lib64/:/vendor/lib64/egl/:$PREFIX/lib/
export VK_ICD_FILENAMES=/data/data/com.termux/files/usr/share/vulkan/icd.d/sysvk_icd.json
~/wine_hangover/arm64-v8a/bin/wine explorer /desktop=shell,1280x1024 explorer

error was

0164:err:environ:init_peb starting L"C:\\Program Files (x86)\\env\\CubeMap.exe" in experimental wow64 mode
starting Box64 based box64cpu.dll
0164:err:vulkan:init_vulkan Failed to load Wine graphics driver supporting Vulkan.
xMeM commented 8 months ago

I’ve updated some code, but I’m still uncertain whether it will work on the Mali GPU. Wine should require VK_KHR_xlib_surface , I didn't implement it.

Saikatsaha1996 commented 8 months ago

I’ve updated some code, but I’m still uncertain whether it will work on the Mali GPU. Wine should require VK_KHR_xlib_surface , I didn't implement it.

Hold on please i will give you update after one week.. actually not in home.. After proper test with bionic wine.. i will give you update

alexvorxx commented 8 months ago

I’ve updated some code, but I’m still uncertain whether it will work on the Mali GPU. Wine should require VK_KHR_xlib_surface , I didn't implement it.

Hi! I got errors when compiling updated code:

Linking CXX shared library libVkLayer_window_system_integration.so
ld.lld: error: undefined symbol: timespec_get
>>> referenced by swapchain.cpp:306 (/data/data/com.termux/files/home/vulkan-wsi-layer/wsi/x11/swapchain.cpp:306)
>>>               swapchain.cpp.o:(wsi::x11::swapchain::get_free_buffer(unsigned long*)) in archive libwsi_x11.a
>>> referenced by swapchain.cpp:306 (/data/data/com.termux/files/home/vulkan-wsi-layer/wsi/x11/swapchain.cpp:306)
>>>               swapchain.cpp.o:(wsi::x11::swapchain::get_free_buffer(unsigned long*)) in archive libwsi_x11.a
c++: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/VkLayer_window_system_integration.dir/build.make:307: libVkLayer_window_system_integration.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:142: CMakeFiles/VkLayer_window_system_integration.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Could you also implement VK_KHR_xlib_surface? So that we can use the proprietary Vulkan driver in Wine-Hangover in Termux.

hansm629 commented 8 months ago

@Saikatsaha1996 Looking at the Mali GPU's Vulkan driver feature level, technical support is so poor that it falls short of even mesa zink OpenGL2.1 support.

https://docs.mesa3d.org/drivers/zink.html

Mali GPU Vulkan driver feature level (with vulkaninfo) I think it would be helpful to compare the feature levels required for zink compatibility.

@alexvorxx Apart from zink compatibility If VK_KHR_xlib_surface is supported on the WSI layer

It appears that the game will be able to run smoothly through DXVK or VKD3D when combining box64+wien64 in the Termux native environment.

@xMeM Could you please add VK_KHR_xlib_surface support in the future?

Saikatsaha1996 commented 7 months ago

@xMeM any new updates?

01a4:err:environ:init_peb starting L"C:\\Env Mapping\\CubeMap.exe" in experimental wow64 mode
starting Box64 based box64cpu.dll
info:  Game: CubeMap.exe
info:  DXVK: v2.3-21-g1b31aa5d-gplasync
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x77512fd0
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
01a4:err:vulkan:wine_vkCreateInstance Failed to create instance, res=-7

I am closing.. please ping when new updates available

hansm629 commented 6 months ago

@Saikatsaha1996 hello sir I have a question.

For box64+wine running in Termux native environment Is it glibc-repo? Or is it build for bionic libc?

Saikatsaha1996 commented 6 months ago

@Saikatsaha1996 hello sir I have a question.

For box64+wine running in Termux native environment Is it glibc-repo? Or is it build for bionic libc?

Hangover has native performance And it's available in tur-repo (tur-multilib) but now vulkan not working..

hansm629 commented 6 months ago

@Saikatsaha1996 With tur-repo currently added,

pkg install hangover

Even though I entered the above command

Installation is failing with the message below. E: Unable to locate package hangover

Can you tell me what the package installation command is?

Saikatsaha1996 commented 6 months ago

@Saikatsaha1996 With tur-repo currently added,

pkg install hangover

Even though I entered the above command

Installation is failing with the message below. E: Unable to locate package hangover

Can you tell me what the package installation command is?

nano $PREFIX/etc/apt/sources.list.d/tur.list

Add in last tur-multilib and save..

apt update && apt install hangover-wine* -y

hansm629 commented 6 months ago

@Saikatsaha1996 thank you! Thanks to you, I was able to install it safely.

However, the program installation doesn't seem to work. The following error occurs and you cannot proceed any further.

Is there any solution?

~ $ wine npp.7.Installer.x64.exe
019c:err:environ:init_peb starting L"Z:\\data\\data\\com.termux\\files\\home\\Downloads\\npp.7.Installer.x64.exe" in experimental wow64 mode
starting Box64 based box64cpu.dll
019c:err:shell:SHGetFileInfoW pidl is null!
019c:err:wow:BTCpuResetToConsistentState db ExceptionAddress 0000000000000000
~$ wine Install.exe
01a4:err:environ:init_peb starting L"Z:\\storage\\emulated\\0\\Download\\Quick Share\\Hangeul 2010\\Install.exe" in experimental wow64 mode
starting Box64 based box64cpu.dll
01ac:err:environ:init_peb starting L"Z:\\storage\\emulated\\0\\Download\\Quick Share\\Hangeul 2010\\install\\setup.exe" in experimental wow64 mode
~ $ tarting Box64 based box64cpu.dll
Hangover currently has issues with some ACM modules, disabling
Saikatsaha1996 commented 6 months ago

@Saikatsaha1996 thank you! Thanks to you, I was able to install it safely.

However, the program installation doesn't seem to work. The following error occurs and you cannot proceed any further.

Is there any solution?

~ $ wine npp.7.Installer.x64.exe
019c:err:environ:init_peb starting L"Z:\\data\\data\\com.termux\\files\\home\\Downloads\\npp.7.Installer.x64.exe" in experimental wow64 mode
starting Box64 based box64cpu.dll
019c:err:shell:SHGetFileInfoW pidl is null!
019c:err:wow:BTCpuResetToConsistentState db ExceptionAddress 0000000000000000
~$ wine Install.exe
01a4:err:environ:init_peb starting L"Z:\\storage\\emulated\\0\\Download\\Quick Share\\Hangeul 2010\\Install.exe" in experimental wow64 mode
starting Box64 based box64cpu.dll
01ac:err:environ:init_peb starting L"Z:\\storage\\emulated\\0\\Download\\Quick Share\\Hangeul 2010\\install\\setup.exe" in experimental wow64 mode
~ $ tarting Box64 based box64cpu.dll
Hangover currently has issues with some ACM modules, disabling
wine explorer /desktop=shell explorer
wine explorer /desktop=shell,1280x1024 explorer
hansm629 commented 6 months ago

@Saikatsaha1996

The latest src finally supports VK_KHR_xlib_surface!

https://github.com/Trass3r/termux-packages/actions/runs/8938187125 (@Trass3r Thanks for build it!)

Test it out to see if it works with hangover-wine.

I am still unable to resolve the issue of program installation not being possible in hangover-wine.

:(

Saikatsaha1996 commented 6 months ago

@Saikatsaha1996

The latest src finally supports VK_KHR_xlib_surface!

https://github.com/Trass3r/termux-packages/actions/runs/8938187125 (@Trass3r Thanks for build it!)

Test it out to see if it works with hangover-wine.

I am still unable to resolve the issue of program installation not being possible in hangover-wine.

:(

In hangover it will won't work.. because mmap32 features features is missing from hangover side.. this feature added now in turnip.. so now we just require mmap32 features in hangover or wsi driver side