xMeM / vulkan-wsi-layer

Other
18 stars 4 forks source link

"mesa-vulkan-icd-wrapper" issues Reporting 2024-11-13 (GPU : ARM Mali-G76) #30

Open sabamdarif opened 1 day ago

sabamdarif commented 1 day ago

@xMeM I have one Mali GPU device, so I’m reporting additional test results! The test environment is as follows.

https://github.com/xMeM/termux-packages/actions/runs/11801252552 https://github.com/xMeM/termux-packages/actions/runs/

issue list


1. vkcube & vkmark performance issue

It works! It’s even running at my device max resolution!

Screenshot_20241113-121444_Termux_X11~2

Screenshot_20241113-121337_Termux_X11~2

~$  vkcube
Selected WSI platform: xcb
Selected GPU 0: Mali-G76 MC4, type: IntegratedGpu
~$  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: FPS: 1040 FrameTime: 0.962 ms
[vertex] device-local=false: FPS: 1066 FrameTime: 0.938 ms
[texture] anisotropy=0: FPS: 1207 FrameTime: 0.829 ms
[texture] anisotropy=16: FPS: 1166 FrameTime: 0.858 ms
[shading] shading=gouraud: FPS: 1010 FrameTime: 0.990 ms
=======================================================
                                   vkmark Score: 1097
=======================================================

2. Supertuxkart Vulkan Mode is Work (but still has issues)

Supertuxkart is only work in Vulkan renderer mode!

Screenshot_20241113-124341_Termux_X11~2

Screenshot_20241113-123554_Termux_X11~2

~$ supertuxkart  --render-driver=vulkan                    127 ↵
[verbose  ] main: Error messages and other text output will be logged to /data/data/com.termux/files/home/.config/supertuxkart/config-0.10/stdout.log.                                                
[info   ] [FileManager]: Data files will be fetched from: '/data/data/com.termux/files/usr/share/supertuxkart/data/'
[info   ] [FileManager]: User directory is '/data/data/com.termux/files/home/.config/supertuxkart/config-0.10/'.
[info   ] [FileManager]: Addons files will be stored in '/data/data/com.termux/files/home/.local/share/supertuxkart/addons/'.
[info   ] [FileManager]: Screenshots will be stored in '/data/data/com.termux/files/home/.local/share/supertuxkart/screenshots/'.
[info   ] [FileManager]: User-defined grand prix will be stored in '/data/data/com.termux/files/home/.local/share/supertuxkart/grandprix/'.
[info   ] [FileManager]: Asset 0 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/challenges/'.
[info   ] [FileManager]: Asset 1 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/gfx/'.
[info   ] [FileManager]: Asset 2 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/grandprix/'.
[info   ] [FileManager]: Asset 3 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/gui/icons/'.
[info   ] [FileManager]: Asset 4 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/gui/screens/'.
[info   ] [FileManager]: Asset 5 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/gui/dialogs/'.
[info   ] [FileManager]: Asset 6 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/replay/'.
[info   ] [FileManager]: Asset 7 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/shaders/'.
[info   ] [FileManager]: Asset 8 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/skins/'.
[info   ] [FileManager]: Asset 9 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/ttf/'.
[info   ] [FileManager]: Asset 10 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/po/'.
[info   ] [FileManager]: Asset 11 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/library/'.
[info   ] [FileManager]: Asset 12 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/models/'.
[info   ] [FileManager]: Asset 13 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/music/'.
[info   ] [FileManager]: Asset 14 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/sfx/'.
[info   ] [FileManager]: Asset 15 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/textures/'.
[info   ] [FileManager]: Asset 16 will be loaded from '/data/data/com.termux/files/usr/share/supertuxkart/data/tracks/'.
..:: Antarctica Rendering Engine 2.0 ::..
[warn   ] irr_driver: The window size specified in user config is larger than your screen!                                          
[info   ] [IrrDriver Logger]: ..:: Antarctica Rendering Engine 2.0 ::..
[info   ] [IrrDriver Logger]: SDL Version 2.30.5
[info   ] [IrrDriver Logger]: Vulkan version: 1.1.131
[info   ] [IrrDriver Logger]: Vulkan vendor: ARM
[info   ] [IrrDriver Logger]: Vulkan renderer: Mali-G76 MC4
[info   ] [IrrDriver Logger]: Vulkan driver version: 26.0.0
[info   ] [IrrDriver Logger]: Vulkan enabled extension: VK_KHR_swapchain
[info   ] [IrrDriver Logger]: Vulkan command loader: 10 threads used, 2 graphics queue(s)
[info   ] [IrrDriver Logger]: Vulkan can bind textures at once in shader: false
[info   ] [IrrDriver Logger]: Vulkan can bind mesh textures at once in shader: false
[info   ] [IrrDriver Logger]: Vulkan supports linear blitting for rgba8: true
[info   ] [IrrDriver Logger]: Vulkan supports linear blitting for r8: true
[info   ] [IrrDriver Logger]: Vulkan supports VK_EXT_descriptor_indexing: false
[info   ] [IrrDriver Logger]: Vulkan supports multi-draw indirect: false
[info   ] [IrrDriver Logger]: Vulkan supports base vertex rendering: true
[info   ] [IrrDriver Logger]: Vulkan supports compute in main queue: true
[info   ] [IrrDriver Logger]: Vulkan supports shader draw parameters: true
[info   ] [IrrDriver Logger]: Vulkan supports s3 texture compression (bc3, dxt5): false
[info   ] [IrrDriver Logger]: Vulkan supports BPTC texture compression (bc7): false
[info   ] [IrrDriver Logger]: Vulkan supports adaptive scalable texture compression (4x4 block): false
[info   ] [IrrDriver Logger]: Vulkan descriptor indexes can be dynamically non-uniform: false
[info   ] [IrrDriver Logger]: Vulkan descriptor can be partially bound: false
[warn   ] Graphics: Can not find version for '' '' - ignored.
[warn   ] irr_driver: Using the fixed pipeline (old GPU, or shaders disabled in options)                                            
[info   ] GUI: Loading skin data from file: /data/data/com.termux/files/usr/share/supertuxkart/data/skins/peach/stkskin.xml
[info   ] HTTPRequest: Downloading https://online.supertuxkart.net/dl/xml/online_news.xml
[info   ] GrandPrixManager: Loading Grand Prix files from /data/data/com.termux/files/usr/share/supertuxkart/data/grandprix/
[info   ] GrandPrixManager: Loading Grand Prix files from /data/data/com.termux/files/home/.local/share/supertuxkart/grandprix/
[warn   ] OpenGL: OpenGL version is too old!
[warn   ] LayoutManager: Statically sized widgets took all the place!!                                                              
[info   ] addons: Using cached addons.xml.                        
[verbose  ] RaceManager: Nb of karts=1, ghost karts:0 ai:0 players:1                                                                

[warn   ] material: Track uses deprecated texture 'grass.jpg'     
[info   ] Track: Overall scene complexity estimated at 106        
[info   ] Script: allchallenges: unlocked_challenges=1, challenges=26
[info   ] Script: allchallenges: unlocked_challenges=1, challenges=26
[info   ] Script: allchallenges: unlocked_challenges=1, challenges=26
[info   ] Script: allchallenges: unlocked_challenges=1, challenges=26
[warn   ] SFXManager: Throttling sfx - queue size 41
[warn   ] SFXManager: Throttling sfx - queue size 41              
[warn   ] SFXManager: Throttling sfx - queue size 42              
[warn   ] SFXManager: Throttling sfx - queue size 42              
[warn   ] SFXManager: Throttling sfx - queue size 42              
[info   ] Singleton: Destroyed singleton.                         
[info   ] Singleton: Destroyed singleton.
[verbose  ] Thread: Start waiting 610266.990000
[verbose  ] Thread: Waited 0.014000 seconds for thread to become deleteable.                                                        
[verbose  ] Thread: Stop waiting 610267.004000                    
[info   ] Singleton: Destroyed singleton.                         
[1]    32206 segmentation fault  supertuxkart --render-driver=vulkan

3. mesa-24.x.x Zink work issue

glmark2 & glmark2-es2 didn't work

~$ glmark2
WARNING: Some incorrect rendering might occur because the selected Vulkan device (Mali-G76 MC4) doesn't support base Zink requirements: feats.features.logicOp feats.features.fillModeNonSolid feats.features.shaderClipDistance have_EXT_custom_border_color 
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      Mesa
    GL_RENDERER:    zink Vulkan 1.1(Mali-G76 MC4 (ARM_PROPRIETARY))
    GL_VERSION:     3.1 Mesa 24.2.6
    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:MESA: warning: WARNING: Incorrect rendering will happen because the Vulkan device doesn't support the 'VK_EXT_depth_clip_enable' feature
[1]    2570 segmentation fault  glmark2

4. Blender did't work

~$ blender
WARNING: Some incorrect rendering might occur because the selected Vulkan device (Mali-G76 MC4) doesn't support base Zink requirements: feats.features.logicOp feats.features.fillModeNonSolid feats.features.shaderClipDistance have_EXT_custom_border_color 
Error! Unsupported graphics card or driver.
A graphics card and driver with support for OpenGL 3.3 or higher is required.
The program will now close.

5. Xfce4 WM issue

no minimize and maximized and close button

photo_2024-11-13_13-02-51

hansm629 commented 1 day ago

@sabamdarif For the XFCE4 window issue, try changing the vblank_mode value in the xfwm4.xml file located at ~/.config/xfce4/xfconf/xfce-perchannel-xml.

Set the value from auto to off.

Trass3r commented 1 day ago

Note that this is a Bifrost chip though. https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16915

High end Valhall devices might run FEX + DXVK acceptably. For whatever it's worth, Valhall is the first Mali hardware that can support Vulkan properly, even Bifrost Vulkan is a slow mess that you wouldn't want to use for anything if you had another option.

astroskyoffical commented 1 day ago

Just to add to that all the issues the guy who made this post made i have too with the ardeno 750 on the S24. My main hope with this wrapper was to run blender but it keeps saying vk unsupported device issue and other errors i can't report and the desktop doesn't show menus. This driver is wicked fast though on benchmark's N

xMeM commented 1 day ago

The wrapper does not do any API emulation, it just forwards the API calls as-is to the proprietary driver, any OpenGL issues are compatibility issues between the proprietary driver and zink, which I cannot resolve. Blender seems to have a Vulkan backend in development, you can try building it yourself.

astroskyoffical commented 1 day ago

The wrapper does not do any API emulation, it just forwards the API calls as-is to the proprietary driver, any OpenGL issues are compatibility issues between the proprietary driver and zink, which I cannot resolve. Blender seems to have a Vulkan backend in development, you can try building it yourself

Well I'm just glad someone figured this out. This is a huge speed increase when it works. Benchmarks are almost 5x or more when they run. Tux kart runs amazing but shaders are disabled as it says opengl not working? Idk but it runs in Vulkan mode. Just doesn't look great since no shaders

sabamdarif commented 1 day ago

The wrapper does not do any API emulation, it just forwards the API calls as-is to the proprietary driver, any OpenGL issues are compatibility issues between the proprietary driver and zink, which I cannot resolve. Blender seems to have a Vulkan backend in development, you can try building it yourself.

o i understand now and also thanks for this wrapper program , it's make huge improvement in the benchmarks. previously i only get at around 200 fps now it's 1000fps

sabamdarif commented 1 day ago

@sabamdarif For the XFCE4 window issue, try changing the vblank_mode value in the xfwm4.xml file located at ~/.config/xfce4/xfconf/xfce-perchannel-xml.

Set the value from auto to off.

thanks it's fixed