Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

addpkg(main/termux-wsi-layer): 0.0.1 #22598

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

addpkg(main/termux-wsi-layer): 0.0.1 #22598

wants to merge 1 commit into from

Conversation

twaik
Copy link
Member

@twaik twaik commented Dec 17, 2024

Works on my device.
And has much better performance than llvmpipe and virpipe.
It improves only EGL+GLES2 performance, GL is untouched.
Vulkan implementation is not planned.

llvmpipe
~ $ GALLIUM_DRIVER=llvmpipe glmark2-es2 
libEGL warning: DRI3: Screen seems not DRI3 capable
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      Mesa
    GL_RENDERER:    llvmpipe (LLVM 19.1.4, 128 bits)
    GL_VERSION:     OpenGL ES 3.2 Mesa 24.2.8
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=32 stencil=0 samples=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 57 FrameTime: 17.688 ms
[build] use-vbo=true: FPS: 91 FrameTime: 11.109 ms
[texture] texture-filter=nearest: FPS: 74 FrameTime: 13.621 ms
[texture] texture-filter=linear: FPS: 114 FrameTime: 8.818 ms
[texture] texture-filter=mipmap: FPS: 79 FrameTime: 12.771 ms
[shading] shading=gouraud: FPS: 59 FrameTime: 17.100 ms
[shading] shading=blinn-phong-inf: FPS: 43 FrameTime: 23.724 ms
[shading] shading=phong: FPS: 36 FrameTime: 28.125 ms
[shading] shading=cel: FPS: 36 FrameTime: 28.474 ms
[bump] bump-render=high-poly: FPS: 23 FrameTime: 44.220 ms
[bump] bump-render=normals: FPS: 87 FrameTime: 11.526 ms
[bump] bump-render=height: FPS: 92 FrameTime: 10.966 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 38 FrameTime: 26.475 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 18 FrameTime: 57.007 ms
[pulsar] light=false:quads=5:texture=false: FPS: 83 FrameTime: 12.149 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 9 FrameTime: 112.707 ms
[desktop] effect=shadow:windows=4: FPS: 23 FrameTime: 43.668 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 32 FrameTime: 32.170 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 31 FrameTime: 32.715 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 31 FrameTime: 32.687 ms
[ideas] speed=duration: FPS: 52 FrameTime: 19.414 ms
[jellyfish] <default>: FPS: 19 FrameTime: 52.844 ms
[terrain] <default>: FPS: 2 FrameTime: 805.955 ms
[shadow] <default>: FPS: 34 FrameTime: 29.912 ms
[refract] <default>: FPS: 4 FrameTime: 260.969 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 70 FrameTime: 14.335 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 50 FrameTime: 20.119 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 70 FrameTime: 14.430 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 53 FrameTime: 19.051 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 35 FrameTime: 29.334 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 53 FrameTime: 18.877 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 53 FrameTime: 18.942 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 50 FrameTime: 20.337 ms
=======================================================
                                  glmark2 Score: 47 
=======================================================
virpipe+virglrenderer-android+angle-gl backend
~ $ GALLIUM_DRIVER=virpipe glmark2-es2 # working with --angle-null
libEGL warning: DRI3: Screen seems not DRI3 capable
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      Mesa
    GL_RENDERER:    virgl (ANGLE (ARM, Mali-G77, OpenGL ES 3.2 v1.r38p1-01bet0-...)
    GL_VERSION:     OpenGL ES 3.1 Mesa 24.2.8
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=32 stencil=0 samples=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 89 FrameTime: 11.298 ms
[build] use-vbo=true: FPS: 90 FrameTime: 11.162 ms
[texture] texture-filter=nearest: FPS: 92 FrameTime: 10.968 ms
[texture] texture-filter=linear: FPS: 93 FrameTime: 10.830 ms
[texture] texture-filter=mipmap: FPS: 92 FrameTime: 10.944 ms
[shading] shading=gouraud: FPS: 87 FrameTime: 11.533 ms
[shading] shading=blinn-phong-inf: FPS: 88 FrameTime: 11.403 ms
[shading] shading=phong: FPS: 85 FrameTime: 11.768 ms
[shading] shading=cel: FPS: 86 FrameTime: 11.763 ms
[bump] bump-render=high-poly: FPS: 73 FrameTime: 13.847 ms
[bump] bump-render=normals: FPS: 93 FrameTime: 10.869 ms
[bump] bump-render=height: FPS: 96 FrameTime: 10.452 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 88 FrameTime: 11.378 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 70 FrameTime: 14.392 ms
[pulsar] light=false:quads=5:texture=false: FPS: 93 FrameTime: 10.867 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 34 FrameTime: 29.800 ms
[desktop] effect=shadow:windows=4: FPS: 77 FrameTime: 13.019 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 61 FrameTime: 16.620 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 49 FrameTime: 20.782 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 62 FrameTime: 16.169 ms
[ideas] speed=duration: FPS: 63 FrameTime: 16.101 ms
[jellyfish] <default>: FPS: 84 FrameTime: 11.996 ms
[terrain] <default>: FPS: 21 FrameTime: 49.025 ms
[shadow] <default>: FPS: 80 FrameTime: 12.547 ms
[refract] <default>: FPS: 39 FrameTime: 25.801 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 90 FrameTime: 11.159 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 92 FrameTime: 10.963 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 86 FrameTime: 11.656 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 93 FrameTime: 10.813 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 89 FrameTime: 11.334 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 91 FrameTime: 11.084 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 91 FrameTime: 11.085 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 89 FrameTime: 11.241 ms
=======================================================
                                  glmark2 Score: 77 
=======================================================
termux-wsi-layer
~ $ glmark2-es2 
path is package:/data/app/~~mPTtCf1-pCAf1ACPxK1iKg==/com.example.egl-jmVvhpwzs983xbEUsX9zhg==/base.apk!/lib/arm64-v8a/libegl-test.so
Error: Invoking ChooseConfig ended with error EGL_SUCCESS (0x3000) 19
Error: Invoking ChooseConfig ended with error EGL_SUCCESS (0x3000) 19
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      ARM
    GL_RENDERER:    Mali-G77
    GL_VERSION:     OpenGL ES 3.2 v1.r38p1-01bet0-mbs2v41_0.8320a750c7c9e2666df3500d139b434f
    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: FPS: 294 FrameTime: 3.405 ms
[build] use-vbo=true: FPS: 329 FrameTime: 3.047 ms
[texture] texture-filter=nearest: FPS: 353 FrameTime: 2.837 ms
[texture] texture-filter=linear: FPS: 363 FrameTime: 2.758 ms
[texture] texture-filter=mipmap: FPS: 357 FrameTime: 2.808 ms
[shading] shading=gouraud: FPS: 332 FrameTime: 3.015 ms
[shading] shading=blinn-phong-inf: FPS: 305 FrameTime: 3.287 ms
[shading] shading=phong: FPS: 303 FrameTime: 3.302 ms
[shading] shading=cel: FPS: 303 FrameTime: 3.302 ms
[bump] bump-render=high-poly: FPS: 219 FrameTime: 4.580 ms
[bump] bump-render=normals: FPS: 366 FrameTime: 2.739 ms
[bump] bump-render=height: FPS: 368 FrameTime: 2.717 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 374 FrameTime: 2.680 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 293 FrameTime: 3.417 ms
[pulsar] light=false:quads=5:texture=false: FPS: 334 FrameTime: 3.000 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 197 FrameTime: 5.102 ms
[desktop] effect=shadow:windows=4: FPS: 301 FrameTime: 3.329 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 106 FrameTime: 9.480 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 112 FrameTime: 8.937 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 152 FrameTime: 6.598 ms
[ideas] speed=duration: FPS: 170 FrameTime: 5.888 ms
[jellyfish] <default>: FPS: 289 FrameTime: 3.471 ms
[terrain] <default>: FPS: 71 FrameTime: 14.217 ms
[shadow] <default>: FPS: 258 FrameTime: 3.888 ms
[refract] <default>: FPS: 97 FrameTime: 10.405 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 341 FrameTime: 2.937 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 332 FrameTime: 3.014 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 336 FrameTime: 2.984 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 330 FrameTime: 3.039 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 333 FrameTime: 3.011 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 333 FrameTime: 3.010 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 329 FrameTime: 3.045 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 332 FrameTime: 3.019 ms
=======================================================
                                  glmark2 Score: 281 
=======================================================

@twaik twaik force-pushed the termux-wsi-layer2 branch 3 times, most recently from 134d8f1 to fe44e30 Compare December 17, 2024 11:58
Copy link
Member

@TomJo2000 TomJo2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To summarize our discussion in the discord.
I think you should just make an upstream repo for this package already.

I will be grumbling about embedding additional projects into termux/termux-packages though.

<soapbox>
This is the package repo.
It's not the development repository for termux-wsi-layer.
It'll be better for termux-wsi-layer to have granular commit history with commits between releases instead of effectively having release snapshots of it in the package repo.
</soapbox>

@twaik twaik force-pushed the termux-wsi-layer2 branch from fe44e30 to 1ffb451 Compare December 17, 2024 13:54
@hansm629
Copy link

@twaik
Will still have trouble work on Xclipse 940 GPU?

glmark2-es2
Error: Invoking CreateImageKHR ended with error EGL_BAD_PARAMETER (0x300C)
/data/data/com.termux/files/usr/opt/termux-wsi-layer/src/egl.c:888: reallocateBuffers failed with error 12
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      Samsung Electronics Co., Ltd.
    GL_RENDERER:    ANGLE (Samsung Xclipse 940) on Vulkan 1.3.264
    GL_VERSION:     OpenGL ES 3.2 ANGLE git hash: fdd6aba2eb9a
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
    Surface Size:   800x600 windowed
=======================================================
Error: Invoking CreateImageKHR ended with error EGL_BAD_PARAMETER (0x300C)
/data/data/com.termux/files/usr/opt/termux-wsi-layer/src/egl.c:888: reallocateBuffers failed with error 12
[build] use-vbo=false:Error: Invoking CreateImageKHR ended with error EGL_BAD_PARAMETER (0x300C)
/data/data/com.termux/files/usr/opt/termux-wsi-layer/src/egl.c:888: reallocateBuffers failed with error 12
Error: Invoking CreateImageKHR ended with error EGL_BAD_PARAMETER (0x300C)
/data/data/com.termux/files/usr/opt/termux-wsi-layer/src/egl.c:888: reallocateBuffers failed with error 12
Error: Invoking CreateImageKHR ended with error EGL_BAD_PARAMETER (0x300C)
/data/data/com.termux/files/usr/opt/termux-wsi-layer/src/egl.c:888: reallocateBuffers failed with error 12
Error: Invoking CreateImageKHR ended with error EGL_BAD_PARAMETER (0x300C)
/data/data/com.termux/files/usr/opt/termux-wsi-layer/src/egl.c:888: reallocateBuffers failed with error 12
Error: Invoking CreateImageKHR ended with error EGL_BAD_PARAMETER (0x300C)
/data/data/com.termux/files/usr/opt/termux-wsi-layer/src/egl.c:888: reallocateBuffers failed with error 12
Error: Invoking CreateImageKHR ended with error EGL_BAD_PARAMETER (0x300C)
/data/data/com.termux/files/usr/opt/termux-wsi-layer/src/egl.c:888: reallocateBuffers failed with error 12
Error: Invoking CreateImageKHR ended with error EGL_BAD_PARAMETER (0x300C)
/data/data/com.termux/files/usr/opt/termux-wsi-layer/src/egl.c:888: reallocateBuffers failed with error 12

@anonymususer04
Copy link

@hansm629 wtf is angle on your device?, pls disable virglrenderer.

@hansm629
Copy link

hansm629 commented Dec 19, 2024

@anonymususer04
This is not virglrenderer.

SamsungExynos 1480, Exynos 1580, Exynos 2200, Exynos 2400
Xclipse series GPU
do not support Android EGL,
so OpenGL ES3.2 is implemented with ANGLE EGL, which is a combination of ANGLE + Vulkan driver.

@twaik
Copy link
Member Author

twaik commented Dec 19, 2024

I am not sure why it fails. I'll try to debug this part of angle later.

@hansm629
Copy link

@twaik
Is there any possibility in the future to wrap it with mesa or gl4es to support OpenGL as well?

@anonymususer04
Copy link

@twaik Is there any possibility in the future to wrap it with mesa or gl4es to support OpenGL as well?

Its good Idea GL4es in termux EGL glvnd for gl

@twaik
Copy link
Member Author

twaik commented Dec 19, 2024

In the first place I want to make it work, full gl is not a priority.

@hansm629
Copy link

@twaik
Here is the logcat output after running glmark2-es2 on Xclipse 940 GPU.
I hope this helps you debug.

~$ logcat
--------- beginning of main
12-20 01:52:17.206 25085 25103 D gles-renderer: 9 frames in 5.0 seconds = 1.8 FPS
12-20 01:52:22.207 25085 25103 D gles-renderer: 20 frames in 5.0 seconds = 4.0 FPS
12-20 01:52:22.483 16520 16520 W libc    : Access denied finding property "ro.debuggable"
12-20 01:52:22.520 16520 16520 D libEGL  : loaded /vendor/lib64/egl/libEGL_samsung.so
12-20 01:52:22.525 16520 16520 D libEGL  : loaded /vendor/lib64/egl/libGLESv1_CM_samsung.so
12-20 01:52:22.526 16520 16520 D libEGL  : loaded /vendor/lib64/egl/libGLESv2_samsung.so
12-20 01:52:22.530 16520 16520 D libEGL  : dlopen (libGLESv2_samsung.so) success at 0xdc302bfebe3fabb3
12-20 01:52:22.536 16520 16520 W libc    : Access denied finding property "vendor.sbwchelper.debug.enabled"
12-20 01:52:22.536 16520 16520 W libc    : Access denied finding property "vendor.sbwchelper.trace.enabled"
12-20 01:52:22.538 16520 16520 V XGL     : Samsung::Vulkan::OpenDevice
12-20 01:52:22.538 16520 16520 V XGL     : -------------------------------------------------------
12-20 01:52:22.538 16520 16520 V XGL     : SUMD version merge SHA1      = 893a48f7be
12-20 01:52:22.538 16520 16520 V XGL     : SUMD version revision number = 8e918d4d17
12-20 01:52:22.538 16520 16520 V XGL     : -------------------------------------------------------
12-20 01:52:22.538 16520 16520 V XGL     : Entering: Create
12-20 01:52:22.541 16520 16520 V XGL     : Exiting: Create
12-20 01:52:22.544 16520 16520 I ANGLE   : Version (git hash: fdd6aba2eb9a), Renderer (ANGLE (Samsung Xclipse 940) on Vulkan 1.3.264)
12-20 01:52:22.567 16520 16520 I glmark2-es2: [HIDL_FETCH_IMapper] [email protected]: Loaded Mapper successfully.
12-20 01:52:22.615 25085 25103 D gles-renderer: Xlorie: updating cursor
12-20 01:52:27.210 25085 25103 D gles-renderer: 246 frames in 5.0 seconds = 49.2 FPS
12-20 01:52:32.211 25085 25103 D gles-renderer: 256 frames in 5.0 seconds = 51.2 FPS
12-20 01:52:37.210 25085 25103 D gles-renderer: 256 frames in 5.0 seconds = 51.2 FPS
12-20 01:52:42.210 25085 25103 D gles-renderer: 270 frames in 5.0 seconds = 54.0 FPS
12-20 01:52:47.210 25085 25103 D gles-renderer: 274 frames in 5.0 seconds = 54.8 FPS
12-20 01:52:52.211 25085 25103 D gles-renderer: 269 frames in 5.0 seconds = 53.8 FPS
12-20 01:52:57.217 25085 25103 D gles-renderer: 277 frames in 5.0 seconds = 55.4 FPS
12-20 01:53:02.217 25085 25103 D gles-renderer: 276 frames in 5.0 seconds = 55.2 FPS
12-20 01:53:07.217 25085 25103 D gles-renderer: 292 frames in 5.0 seconds = 58.4 FPS
12-20 01:53:12.218 25085 25103 D gles-renderer: 300 frames in 5.0 seconds = 60.0 FPS
12-20 01:53:17.219 25085 25103 D gles-renderer: 298 frames in 5.0 seconds = 59.6 FPS
12-20 01:53:22.221 25085 25103 D gles-renderer: 300 frames in 5.0 seconds = 60.0 FPS
12-20 01:53:27.221 25085 25103 D gles-renderer: 300 frames in 5.0 seconds = 60.0 FPS
12-20 01:53:32.222 25085 25103 D gles-renderer: 300 frames in 5.0 seconds = 60.0 FPS
12-20 01:53:37.222 25085 25103 D gles-renderer: 299 frames in 5.0 seconds = 59.8 FPS
12-20 01:53:42.223 25085 25103 D gles-renderer: 300 frames in 5.0 seconds = 60.0 FPS
12-20 01:53:47.224 25085 25103 D gles-renderer: 298 frames in 5.0 seconds = 59.6 FPS
12-20 01:53:52.225 25085 25103 D gles-renderer: 300 frames in 5.0 seconds = 60.0 FPS
12-20 01:53:57.226 25085 25103 D gles-renderer: 299 frames in 5.0 seconds = 59.8 FPS
12-20 01:54:02.226 25085 25103 D gles-renderer: 300 frames in 5.0 seconds = 60.0 FPS
12-20 01:54:07.226 25085 25103 D gles-renderer: 298 frames in 5.0 seconds = 59.6 FPS
12-20 01:54:12.226 25085 25103 D gles-renderer: 300 frames in 5.0 seconds = 60.0 FPS
12-20 01:54:17.227 25085 25103 D gles-renderer: 260 frames in 5.0 seconds = 52.0 FPS
12-20 01:54:22.228 25085 25103 D gles-renderer: 263 frames in 5.0 seconds = 52.6 FPS
12-20 01:54:27.233 25085 25103 D gles-renderer: 257 frames in 5.0 seconds = 51.4 FPS
12-20 01:54:32.233 25085 25103 D gles-renderer: 259 frames in 5.0 seconds = 51.8 FPS
12-20 01:54:37.234 25085 25103 D gles-renderer: 263 frames in 5.0 seconds = 52.6 FPS
12-20 01:54:42.235 25085 25103 D gles-renderer: 272 frames in 5.0 seconds = 54.4 FPS
12-20 01:54:47.236 25085 25103 D gles-renderer: 259 frames in 5.0 seconds = 51.8 FPS
12-20 01:54:52.236 25085 25103 D gles-renderer: 266 frames in 5.0 seconds = 53.2 FPS
12-20 01:54:57.236 25085 25103 D gles-renderer: 292 frames in 5.0 seconds = 58.4 FPS
12-20 01:55:02.235 25085 25103 D gles-renderer: 300 frames in 5.0 seconds = 60.0 FPS
12-20 01:55:07.235 25085 25103 D gles-renderer: 296 frames in 5.0 seconds = 59.2 FPS
12-20 01:55:12.236 25085 25103 D gles-renderer: 294 frames in 5.0 seconds = 58.8 FPS
12-20 01:55:17.235 25085 25103 D gles-renderer: 287 frames in 5.0 seconds = 57.4 FPS
12-20 01:55:22.236 25085 25103 D gles-renderer: 293 frames in 5.0 seconds = 58.6 FPS
12-20 01:55:27.235 25085 25103 D gles-renderer: 299 frames in 5.0 seconds = 59.8 FPS
12-20 01:55:32.235 25085 25103 D gles-renderer: 299 frames in 5.0 seconds = 59.8 FPS
12-20 01:55:37.235 25085 25103 D gles-renderer: 297 frames in 5.0 seconds = 59.4 FPS
12-20 01:55:42.236 25085 25103 D gles-renderer: 299 frames in 5.0 seconds = 59.8 FPS
12-20 01:55:42.717 16520 16520 W libEGL  : eglTerminate() called w/ 22 objects remaining
12-20 01:55:43.141 25085 25103 D gles-renderer: Xlorie: updating cursor
12-20 01:55:43.290 25085 25103 D gles-renderer: Xlorie: updating cursor
12-20 01:55:43.919 25085 25103 D gles-renderer: Xlorie: updating cursor
12-20 01:55:43.968 25085 25103 D gles-renderer: Xlorie: updating cursor
12-20 01:55:47.236 25085 25103 D gles-renderer: 111 frames in 5.0 seconds = 22.2 FPS
12-20 01:55:50.475 25085 25103 D gles-renderer: Xlorie: updating cursor
12-20 01:55:50.606 25085 25103 D gles-renderer: Xlorie: updating cursor
12-20 01:55:52.237 25085 25103 D gles-renderer: 107 frames in 5.0 seconds = 21.4 FPS
12-20 01:55:57.238 25085 25103 D gles-renderer: 14 frames in 5.0 seconds = 2.8 FPS
12-20 01:56:02.238 25085 25103 D gles-renderer: 102 frames in 5.0 seconds = 20.4 FPS
12-20 01:56:07.239 25085 25103 D gles-renderer: 55 frames in 5.0 seconds = 11.0 FPS
12-20 01:56:12.240 25085 25103 D gles-renderer: 106 frames in 5.0 seconds = 21.2 FPS
12-20 01:56:17.240 25085 25103 D gles-renderer: 173 frames in 5.0 seconds = 34.6 FPS
12-20 01:56:22.240 25085 25103 D gles-renderer: 116 frames in 5.0 seconds = 23.2 FPS
12-20 01:56:27.241 25085 25103 D gles-renderer: 42 frames in 5.0 seconds = 8.4 FPS
12-20 01:56:32.242 25085 25103 D gles-renderer: 180 frames in 5.0 seconds = 36.0 FPS
12-20 01:56:37.242 25085 25103 D gles-renderer: 30 frames in 5.0 seconds = 6.0 FPS
12-20 01:56:42.243 25085 25103 D gles-renderer: 90 frames in 5.0 seconds = 18.0 FPS
12-20 01:56:47.244 25085 25103 D gles-renderer: 195 frames in 5.0 seconds = 39.0 FPS
12-20 01:56:52.245 25085 25103 D gles-renderer: 154 frames in 5.0 seconds = 30.8 FPS
12-20 01:56:57.244 25085 25103 D gles-renderer: 172 frames in 5.0 seconds = 34.4 FPS
12-20 01:57:02.246 25085 25103 D gles-renderer: 130 frames in 5.0 seconds = 26.0 FPS
12-20 01:57:07.248 25085 25103 D gles-renderer: 58 frames in 5.0 seconds = 11.6 FPS
12-20 01:57:12.249 25085 25103 D gles-renderer: 182 frames in 5.0 seconds = 36.4 FPS
12-20 01:57:17.249 25085 25103 D gles-renderer: 193 frames in 5.0 seconds = 38.6 FPS

@hansm629
Copy link

@twaik
Adreno 750 GPU : glmark2-es2 is not work

~$ logcat -c

~$ glmark2-es2

~$ logcat
--------- beginning of main
12-20 03:21:16.682 31092 31148 D gles-renderer: 7 frames in 5.0 seconds = 1.4 FPS
12-20 03:21:19.872  1708  1708 W libc    : Access denied finding property "ro.debuggable"
12-20 03:21:19.872  1708  1708 W libc    : Access denied finding property "ro.debuggable"
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: QUALCOMM build                   : 0c7c4b37d5, I3988f0db60
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: Build Date                       : 10/18/24
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: OpenGL ES Shader Compiler Version: E031.45.02.19
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: Local Branch                     : 
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.VENDOR.14.3.0.R1.00.00.00.000.168
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: Remote Branch                    : NONE
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: Reconstruct Branch               : NOTHING
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: Build Config                     : S P 16.1.2 AArch64
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: Driver Path                      : /vendor/lib64/egl/libGLESv2_adreno.so
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: Driver Version                   : 0762.30
12-20 03:21:19.914  1708  1708 I AdrenoGLES-0: Process Name                     : glmark2-es2
12-20 03:21:19.921  1708  1708 I AdrenoGLES-0: PFP: 0x01520675, ME: 0x01520023
12-20 03:21:19.922  1708  1708 E Adreno-AppProfiles: QSPM AIDL service doesn't exist
12-20 03:21:19.922  1708  1708 I AdrenoUtils: <ReadGpuID:357>: Reading chip ID through GSL
12-20 03:21:19.948 31092 31148 E LorieNative: DRI3: Modifier is not RAW_MMAPPABLE_FD or AHARDWAREBUFFER_SOCKET_FD
12-20 03:21:21.682 31092 31148 D gles-renderer: 21 frames in 5.0 seconds = 4.2 FPS
12-20 03:21:26.682 31092 31148 D gles-renderer: 43 frames in 5.0 seconds = 8.6 FPS
12-20 03:21:27.177 31092 31148 D gles-renderer: Xlorie: updating cursor
12-20 03:21:31.682 31092 31148 D gles-renderer: 60 frames in 5.0 seconds = 12.0 FPS
12-20 03:21:36.683 31092 31148 D gles-renderer: 86 frames in 5.0 seconds = 17.2 FPS
12-20 03:21:41.683 31092 31148 D gles-renderer: 127 frames in 5.0 seconds = 25.4 FPS
12-20 03:21:46.683 31092 31148 D gles-renderer: 188 frames in 5.0 seconds = 37.6 FPS
12-20 03:21:51.231 31092 31148 D gles-renderer: Xlorie: updating cursor
12-20 03:21:51.379 31092 31148 D gles-renderer: Xlorie: updating cursor
12-20 03:21:51.394 31092 31148 D gles-renderer: Xlorie: updating cursor
12-20 03:21:51.684 31092 31148 D gles-renderer: 177 frames in 5.0 seconds = 35.4 FPS

@twaik
Copy link
Member Author

twaik commented Dec 19, 2024

@hansm629 it seems like ANGLE does not like using ANGLE_AHB_FORMAT_B8G8R8A8_UNORM (5) as a AHardwareBuffer format. But it is weird, in this case you should not have termux-x11 working.

@hansm629
Copy link

@twaik
Oddly enough, on Xclipse 940 GPU,

Termux-X11 showed pretty bad video performance.

This is the same for llvmpipe, virpipe, and zink.

It seems that ANGLE EGL and Termux-X11 don't work well together.

@hansm629
Copy link

@twaik
Hello, Sir.

Has there been any update to improve ANGLE EGL compatibility in the latest Termux-X11 release?

In previous versions, when using the Xclipse 940 GPU environment, I observed poor video performance. For example, after launching XFCE4, moving program windows with the mouse would cause vertical tearing on the screen or broken edges around the program windows.
(This issue occurred consistently across llvmpipe, virpipe, and zink.)

However, after installing the latest Termux-X11 release from the following link:
https://github.com/termux/termux-x11/actions/runs/12476603692

I’ve noticed that these issues no longer occur. Moving program windows in the X11 server no longer results in vertical tearing or distorted edges around the windows.

If there has been an improvement in ANGLE EGL compatibility, it seems to be working exceptionally well!

@twaik
Copy link
Member Author

twaik commented Dec 24, 2024

Probably it happened because of termux/termux-x11@97bee98.

@hansm629
Copy link

@twaik
Thank you!
Xclipse series GPU used to have slow X11 server, but the latest version is very smooth!

It seems that vulkan and zink performances have also improved.

termux-wsi-layer doesn't work on Xclipse 940 GPU yet,
but I'm looking forward to the future!

@twaik
Copy link
Member Author

twaik commented Dec 24, 2024

I want to implement some support on X server side before coming back to this project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants