본문 바로가기
안드로이드

termux native freedreno kgsl 드라이버 설치

by ㅋㅋ잠자 2026. 9. 19.

proot 용

https://github.com/lfdevs/mesa-for-android-container

native 용

https://github.com/lfdevs/termux-packages

설치 진행

$ wget https://github.com/lfdevs/termux-packages/releases/download/freedreno-26.3.0-devel-20260824/mesa-vulkan-icd-freedreno_26.3.0_aarch64.deb

$ wget https://github.com/lfdevs/termux-packages/releases/download/freedreno-26.3.0-devel-20260824/mesa_26.3.0_aarch64.deb

$ pkg install ./*.deb

환경 변수 조정

export MESA_LOADER_DRIVER_OVERRIDE=kgsl TURNIP_KMD=kgsl GALLIUM_DRIVER=freedreno FD_FORCE_KGSL=1

 

테스트

1. xfce4 정보

2. glxinfo

$ glxinfo -B
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: freedreno (0x5143)
    Device: Adreno (TM) 830v1 (0xffffffff)
    Version: 26.3.0
    Accelerated: yes
    Video memory: 11113MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 11113 MB, largest block: 11113 MB
    VBO free aux. memory - total: 0 MB, largest block: 0 MB
    Texture free memory - total: 11113 MB, largest block: 11113 MB
    Texture free aux. memory - total: 0 MB, largest block: 0 MB
    Renderbuffer free memory - total: 11113 MB, largest block: 11113 MB
    Renderbuffer free aux. memory - total: 0 MB, largest block: 0 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 11113 MB
    Total available memory: 11113 MB
    Currently available dedicated video memory: 11113 MB
OpenGL vendor string: freedreno
OpenGL renderer string: Adreno (TM) 830v1
OpenGL core profile version string: 4.6 (Core Profile) Mesa 26.3.0-devel (git-98f3d6229d)
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 26.3.0-devel (git-98f3d6229d)
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 26.3.0-devel (git-98f3d6229d)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

os_same_file_description couldn't determine if two DRM fds reference the same file description. (Operation not permitted)
Let's just assume that file descriptors for the same file probablyshare the file description instead. This may cause problems whenthat isn't the case.

3. chromium 가속

크롬브라우저는 gl / gles 로 가속시 깨짐 UI 깨짐 문제가 있음으로 아래 변경으로 vulkan 으로 동작하도록 수정

대신 성능은 좀 떨어짐

$ vi $(which chromium-browser)

exec "$PROGDIR/chrome" --extra-plugin-dir=/data/data/com.termux/files/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@" --no-sandbox --use-angle=vulkan

4. 현재 시작 스크립트

#!/data/data/com.termux/files/usr/bin/bash

pkill -9 -ef "termux.x11"

pkill -f pulseaudio
rm -rf ~/.config/pulse
rm -rf $TMPDIR/pulse*

pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1

termux-x11 :0 &
sleep 1
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity > /dev/null 2>&1 &

export DISPLAY=:0
export PULSE_SERVER=127.0.0.1
export MESA_LOADER_DRIVER_OVERRIDE=kgsl TURNIP_KMD=kgsl GALLIUM_DRIVER=freedreno FD_FORCE_KGSL=1 XWAYLAND_FORCE_KGSL_SURFACELESS=1


startxfce4 &

댓글