termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
13.33k stars 3.07k forks source link

[Bug]: Mesa/Vulkan loader: Mali DRI support issue since update #22260

Open twvd opened 4 days ago

twvd commented 4 days ago

Problem description

Ever since a recent package upgrade of either mesa or the OGL/Vulkan libraries, OpenGL applications crash on startup with a warning concerning Mali GPUs, which is possibly related. This worked before.

Installing the Vulkan software rasterizer 'mesa-vulkan-icd-swrast' makes things work, but of course lacks hardware acceleration.

What steps will reproduce the bug?

$ glxgears
WARNING: Some incorrect rendering might occur because the selected Vulkan device (Mali-G78) doesn't support base Zink requirements: feats.features.fillModeNonSolid feats.features.shaderClipDistance
Segmentation fault
 $ glxinfo
name of display: :0
WARNING: Some incorrect rendering might occur because the selected Vulkan device (Mali-G78) doesn't support base Zink requirements: feats.features.fillModeNonSolid feats.features.shaderClipDistance
Segmentation fault

Stack trace:

Thread 1 "glxgears" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000007d50e607ec in ?? ()
   from /data/data/com.termux/files/usr/lib/libgallium-24.2.7.so
#2  0x0000007d50f16464 in ?? ()
   from /data/data/com.termux/files/usr/lib/libgallium-24.2.7.so
#3  0x0000007d50948dd0 in ?? ()
   from /data/data/com.termux/files/usr/lib/libgallium-24.2.7.so
#4  0x0000007d50944c90 in ?? ()
   from /data/data/com.termux/files/usr/lib/libgallium-24.2.7.so
#5  0x0000007d50b2b990 in ?? ()
   from /data/data/com.termux/files/usr/lib/libgallium-24.2.7.so
#6  0x0000007d50b2b5a4 in ?? ()
   from /data/data/com.termux/files/usr/lib/libgallium-24.2.7.so
#7  0x0000007d509426a0 in ?? ()
   from /data/data/com.termux/files/usr/lib/libgallium-24.2.7.so
#8  0x0000007d50944628 in ?? ()
   from /data/data/com.termux/files/usr/lib/libgallium-24.2.7.so
#9  0x0000007d4f6c8544 in ?? ()
   from /data/data/com.termux/files/usr/lib/libGLX_mesa.so
#10 0x0000007d4f6cb95c in ?? ()
   from /data/data/com.termux/files/usr/lib/libGLX_mesa.so
#11 0x0000007ff6b56700 in ?? ()
   from /data/data/com.termux/files/usr/lib/libGLX.so.0.0.0
#12 0x0000007ff6b56880 in ?? ()
   from /data/data/com.termux/files/usr/lib/libGLX.so.0.0.0
#13 0x0000007ff6b5474c in ?? ()
   from /data/data/com.termux/files/usr/lib/libGLX.so.0.0.0
#14 0x0000005555558414 in ?? ()
#15 0x0000007ff4559218 in __libc_init ()
   from /apex/com.android.runtime/lib64/bionic/libc.so

What is the expected behavior?

GL applications run

System information

Termux Variables:
TERMUX_APP_PACKAGE_MANAGER=apt
TERMUX_APP__AM_SOCKET_SERVER_ENABLED=true
TERMUX_APP__APK_PATH=/data/app/~~jiR-6Zhc4vfSLwrwBj2tXA==/com.termux-qgq49IQfeQZmxmwOglbT8A==/base.apk
TERMUX_APP__APK_RELEASE=GITHUB
TERMUX_APP__FILES_DIR=/data/user/0/com.termux/files
TERMUX_APP__IS_DEBUGGABLE_BUILD=true
TERMUX_APP__IS_INSTALLED_ON_EXTERNAL_STORAGE=false
TERMUX_APP__PACKAGE_MANAGER=apt
TERMUX_APP__PACKAGE_NAME=com.termux
TERMUX_APP__PACKAGE_VARIANT=apt-android-7
TERMUX_APP__PID=4662
TERMUX_APP__SE_FILE_CONTEXT=u:object_r:app_data_file:s0:c34,c257,c512,c768
TERMUX_APP__SE_INFO=default:targetSdkVersion=28:complete
TERMUX_APP__SE_PROCESS_CONTEXT=u:r:untrusted_app_27:s0:c34,c257,c512,c768
TERMUX_APP__TARGET_SDK=28
TERMUX_APP__UID=10290
TERMUX_APP__USER_ID=0
TERMUX_APP__VERSION_CODE=118
TERMUX_APP__VERSION_NAME=0.118.0
TERMUX_MAIN_PACKAGE_FORMAT=debian
TERMUX_VERSION=0.118.0
TERMUX__USER_ID=0
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://packages-cf.termux.dev/apt/termux-main stable main
# sources.list.d/pointless.list
deb https://its-pointless.github.io/files/21 termux extras
# x11-repo (sources.list.d/x11.list)
deb https://packages-cf.termux.dev/apt/termux-x11 x11 main
Updatable packages:
All packages up to date
termux-tools version:
1.44.3
Android version:
15
Kernel build information:
Linux localhost 5.10.209-android13-4-00008-g28a6e1ad779c-ab11971276 #1 SMP PREEMPT Fri Jun 14 01:29:26 UTC 2024 aarch64 Android
Device manufacturer:
Google
Device model:
Pixel 6
LD Variables:
LD_LIBRARY_PATH=
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so
Installed termux plugins:
com.termux.x11 versionCode:14
com.termux.styling versionCode:30
licy183 commented 3 days ago

It should fallback to llvmpipe. Could you please the output of glxinfo?

twvd commented 3 days ago

As I said above, glxinfo also crashes, unless the software rasterizer is installed:

 $ glxinfo
name of display: :0
WARNING: Some incorrect rendering might occur because the selected Vulkan device (Mali-G78) doesn't support base Zink requirements: feats.features.fillModeNonSolid feats.features.shaderClipDistance
Segmentation fault
truboxl commented 3 days ago

Please rerun the command with LD_DEBUG=1 and post logcat