미니 Termux PRoot 리눅스 GPU 가속.....결론에 도달.....
- 흡혈귀왕
- 조회 수 740
- 2024.03.24. 14:34
결론은
사실상 스냅드래곤 시리즈를 제외한 SoC(디멘시티, 엑시노스, 텐서 등등)에선
PRoot 리눅스 환경에서 GPU 가속은 사실상
angle-android 혹은 virglrenderer-android 외에는 답이 없다라고 하네요 ㅡㅡa
Termux 상에서 안드로이드 호스트 Vulkan 드라이버를 불러오는건 가능하지만
Termux 위에서 돌아가는 PRoot 리눅스는 불가능하다는 소리입니다.
이유 1 : 안드로이드 Vulkan 드라이버는 bionic libc 기반임 (리눅스는 gnu libc 기반)
이유2 : PRoot에선 안드로이드 저장소 접근이 제한이되기 때문에 gnu libc와 bionic libc 하이브리드 방식으로도 구동 불가
뭔가 새로운 솔루션이 등장하기 전까지 사실상 PRoot에서 안드로이드 호스트 Vulkan 드라이버 사용은
아예 불가능할듯합니다.
사실 뭐...
다른 SoC들도 리눅스 환경에서 OpenGL3.3 권장 프로그램만 포기하면 딱히 문제가 없긴 합니다.
(ex : Blender3D, Kdenlive, shotcout 등등...)
angle-android 혹은 virglrenderer-android 로도
간이 3D가속이나 2D GUI가속할 정도로는 구동되니깐요.....(llvmpipe보단 성능적으로 낫단 소리;)
문제는 호환성이 아주 쉣이고 성능은 정말 떨어지긴합니다....
레알 가속이된다? 라는 정도;;;
Termux 개발자분중 패키지 빌드하시는 분께
최신 src의 angle과 virglrenderer 좀 반영해달라고 요청드렸는데
뭔가 성능은 고사하고 호환성이라도 개선이 있지 않을까 기대를 안고 있는데
(작년 7월에 Termux에 패키지 릴리즈 이후 패키지 업데이트가 전혀 없었음)
근데 개발쪽에서도 최신 src 반영 시 어떤 문제가 생길지 몰라서 좀 조심스러워 하는거 같더군요.
이건 지켜봐야할듯
아! Termux 자체에서 안드로이드 호스트 Vulkan 드라이버를 불러와서
WSI 호환 레이어로 가속하는건 가능합니다.
아시다시피 Termux가 이미 리눅스 터미널 에뮬레이터이다보니 X11 환경에서 Termux용으로 포팅된 리눅스 프로그램 구동이 가능합니다.
PRoot보다 성능이 훨씬 낫고 (PRoot는 저장소 분리로 오버헤드가 살짝 발생)
Termux용으로 포팅된 리눅스 프로그램 성능은 기기 성능을 풀로 냅니다.
지금 생각해보니 애초에
리눅스용 프로그램 대부분이 Termux로 포팅되는게
더 쉽게 풀릴 문제겠네요 ㅋㅋㅋ
xfce4로 이미 X11 GUI 환경은 제공하고 있고..
Blender, GIMP, Inkscape 등등 유명 프로그램도
이미 Termux 전용 deb 패키지로 포팅이 된 상태입니다.
게다가
PRoot를 거치지 않고 Termux에서 box64랑 wine64 사용 가능해서 게임 구동은 충분할거같네요.
요약
- 스냅드래곤 외 다른 SoC들은 bionic libc 문제로 PRoot에서 Vulkan 사용은 불가능 (새로운 솔루션이 나와야함)
- 다른 SoC들은 angle이나 virgl 써야하는데 호환성이랑 성능이 쉣임 (GUI가 가속이 된다는데 의의...)
- Termux에선 안드로이드 호스트 Vulkan 드라이버 불러오고 WSI 레이어로 완벽 가속이 가능하니깐 오히려 현존 리눅스 프로그램들이 모두 포팅되는게 빠를지도..?
(근데 이것도 Termux팀 자체가 소규모라 한계가 있음)
스냅드래곤이 짱입니다.
결국 칩셋 제조사가 움직이는게 제일 좋죠