tur icon indicating copy to clipboard operation
tur copied to clipboard

Virglrenderer does not work with Mesa Zink on PowerVR Rogue GE8300 graphics card.

Open SashkaNik opened this issue 1 year ago • 9 comments

Virglrenderer-mesa-zink does not work with Mesa Zink on the PowerVR Rogue GE8300 graphics card.

I am using Arch Linux aarch64 proot-distro and running virglrenderer-mesa-zink like this:

MESA_NO_ERROR=1 MESA_GL_VERSION_OVERRIDE=4.0 GALLIUM_DRIVER=zink ZINK_DESCRIPTORS=lazy virgl_test_server --use-egl-surfaceless --use-gles

In Termux, I receive the following error:

WARNING: Some incorrect rendering might occur because the selected Vulkan device (PowerVR Rogue GE8300) doesn't support base Zink requirements: feats.features.fillModeNonSolid have_EXT_custom_border_color have_EXT_line_rasterization ZINK: USING LAZY DESCRIPTORS
gl_version 0 - compat profile WARNING: running without ARB/KHR robustness in place may crash ../src/src/dispatch_common.c:867: void *epoxy_get_proc_address(const char *): assertion "0 && "Couldn't find current GLX or EGL context.\n"" failed

In Arch Linux:

GALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=4.0 glxgears
lost connection to rendering server on 8 read -1 104

Can you advise on what can be done?

Termux-info:

Termux Variables:
TERMUX_API_VERSION=0.50.1
TERMUX_APK_RELEASE=GITHUB
TERMUX_APP_PACKAGE_MANAGER=apt
TERMUX_APP_PID=13099
TERMUX_IS_DEBUGGABLE_BUILD=1
TERMUX_MAIN_PACKAGE_FORMAT=debian
TERMUX_VERSION=0.118.0
TERMUX__USER_ID=0
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://mirror.iscas.ac.cn/termux/apt/termux-main stable main
# x11-repo (sources.list.d/x11.list)
deb https://mirror.iscas.ac.cn/termux/apt/termux-x11 x11 main
# tur-repo (sources.list.d/tur.list)
deb https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous
Updatable packages:
All packages up to date
termux-tools version:
1.41.1
Android version:
11
Kernel build information:
Linux localhost 4.19.127-g9c5929a9aca2-dirty #1 SMP PREEMPT Wed Sep 14 12:02:04 CST 2022 aarch64 Android
Device manufacturer:
INFINIX MOBILITY LIMITED
Device model:
Infinix X665B
LD Variables:
LD_LIBRARY_PATH=
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so
Installed termux plugins:
com.termux.api versionCode:51

SashkaNik avatar Mar 16 '24 14:03 SashkaNik

Can't you use OpenGL without Zink using Virglrenderer-android?

IntinteDAO avatar Mar 24 '24 21:03 IntinteDAO

I used virglrenderer-android, but it's too slow. For example, in glxgears, FPS is 30-40, and with Zink it is approximately 100-150.

SashkaNik avatar Mar 25 '24 05:03 SashkaNik

I used virglrenderer-android, but it's too slow. For example, in glxgears, FPS is 30-40, and with Zink it is approximately 100-150.

Maybe, I have Zink and it have the same performance as on VirglRenderer somehow :P

However. Does Zink works on Termux directly without Proot?

IntinteDAO avatar Mar 25 '24 09:03 IntinteDAO

Yes, Zink works in Termux

SashkaNik avatar Mar 26 '24 09:03 SashkaNik

Yes, Zink works in Termux

So it's a problem between virglrenderer and proot. Do you have --shared-tmp enabled in proot-distro?

IntinteDAO avatar Mar 26 '24 18:03 IntinteDAO

Yes

SashkaNik avatar Mar 26 '24 18:03 SashkaNik

I used virglrenderer-android, but it's too slow. For example, in glxgears, FPS is 30-40, and with Zink it is approximately 100-150.

Can you try installing angle-gl and starting virgl like so virgl_test_server_android --angle-vulkan and virgl_test_server_android --angle-gl?

It may offer better performance if zink can.

As for the issue, I can't recreate it. Maybe you didn't properly install mesa and it's libraries in arch. Try reinstalling them.

alexytomi avatar Apr 11 '24 13:04 alexytomi

Everything remains the same, it seems the performance is low precisely because of the virgrender

SashkaNik avatar Apr 12 '24 15:04 SashkaNik

@SashkaNik

It's probably a Vulkan driver issue with the PowerVR GPU.

This is probably because zink lacks a feature level that satisfies OpenGL2.1.

Vulkan driver for Mali GPU and Vulkan driver for PowerVR GPU The feature level is not as good as I thought.

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

Check out the list of feature levels required for OpenGL2.1 support at zink.

hansm629 avatar Apr 16 '24 15:04 hansm629