
미니 안드 Vulkan 드라이버를 통한 Termux GPU 가속 근황
- 흡혈귀왕
- 조회 수 634
- 2023.11.16. 23:41
https://www.reddit.com/r/termux/comments/17w7hg7/finally_glxgears_with_zink_is_working_110_fps/
레딧에서 한 능력자분이
안드로이드 호스트 Vulkan 드라이버를
Termux에서 로드 후 mesa zink와 결합해서 Vulkan, OpenGL, OpenGL ES 가속을 구현중이고 계시는데
드디어 mesa zink와 결합해서 OpenGL 구현 후 glxgears 데모를 구동하는 성과까지 나왔습니다!
화면에 뿌려주는건 아직 SW로 처리하고 있지만
그럼에도 2000X1200 해상도에서 110~144fps정도가 나오고 있습니다.
참고로 CPU로 OpenGL 가속을하는 llvmpipe에서 glxgears 800X800으로 구동 시
60~80fps밖에 안나오는데 SW 처리임에도 2000X1200 해상도에서
그거보다 높다는건 엄청 가시적이고 바늘적인 성과인 셈입니다.
현재
vk_khr_xcb_surface SW구현으로 Vulkan 구동하고
zink 호환 레이어블 구현까지해서 OpenGL 구동까지 완료했으니
(X11서버 환경에서 vkmark, vkcube, glxgears 등등 구동 가능!)
이제 다음 단계는 성능 개선으로
AHardwareBuffer를 사용하여 dmabuf를 가져오고 Termux-x11에서 DRI3를 통해 화면에 뿌려주는걸
HW로 처리해주면 완벽할듯합니다.
그리고 심볼릭 링크를 통해서 PRoot/Chroot 리눅스에서도
안드로이드 호스트 Vulkan 드라이버 + mesa zink를 사용해서 GPU 가속이 완벽히 구현될듯하네요.
이정도 속도면 S25 시리즈 출시가 아니라 내년중으로 다 개발이 될거같은 느낌적인 느낌입니다.
이제 안드로이드폰에서 box64+wine으로 PC게임을 원활히 구동할날이 멀지 않았습니다.
P.S 개발자분이 언급하시길 최소 지원 스펙은 Vulkan1.2과 Vulkan1.3은 되어야지 사용 가능하다고 하더군요.
이제 Vulkan1.0과 Vulkan1.1은 레거시 취급받나보네요 ㅠㅠ
사실 워낙 과도기때인지라 피처레벨과 익스텐션 수준이 너무 부실하긴합니다.













2200의 ANGLE 드라이버 중 Vulkan 1.1.179 기반의 건 이제 레거시 취급이 되는군요.... orz