로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 PC, 카메라, 스피커 등 IT 미니기기와 음향기기에 관해 교류하는 게시판입니다.

흡혈귀왕

미니 Termux 네이티브 XFCE4 데스크탑 (by S24+)

20240601_013946.jpg

현재 덱스테이션과 합체(...) 후

열심히 Termux 실험 대상이 되고있는 갤럭시S24+ 입니다.

 

 

 

 

 

 

Screenshot_2024-06-01_01-44-32.png

 

해당 화면은 DeX 모드에서 실행된 Termux로

리눅스와 같은 X11 환경을 만들어준 겁니다. (세션은 XFCE4)

 

즉 리눅스처럼 보이지만 저 화면은 리눅스가 아니라

 

 

안드로이드에서 돌아가는 X11 환경입니다.

 

 

 

 

 

 

 

Screenshot_2024-06-01_01-45-03.png

터미널에서 neofetch 명령어를 치면

 

OS정보가 리눅스가 아닌 안드로이드로 나오죠.

 

 

아직은 조금 불안정하지만 이 X11 환경에서도 GPU 가속이 가능합니다.

 

Screenshot_2024-06-01_02-11-24.png

Screenshot_2024-06-01_02-12-12.png

Screenshot_2024-06-01_02-12-42.png

Screenshot_2024-06-01_02-13-15.png

 

예전 같았으면 virgl로 10분의1토막된 성능으로 GPU 가속이 되었지만

 

최근 안드로이드 호스트 Vulkan 드라이버를 Termux로 불러와서 X11 WSI를 구현해주는

vulkan-wsi-layer의 등장덕에

 

 

X11 환경에서 Vulkan 가속이 가능해졌고.

mesa zink와 clvk 조합시

OpenGL4.6(zink), OpenGL ES3.2(zink), OpenCL3.0(clvk) 등등 가속도 가능합니다.

 

 

사실상 하드웨어 비디오 디코딩/인코딩 기능빼고 모두 하드웨어 가속이 된다라고 보면됩니다.

 

 

 

Screenshot_2024-06-01_02-14-43.png

그 덕분에 크로미움 브라우저에서 WebGL 가속도 아주 잘작동하고.

(퍼포먼스가 삼브랑 거의 비슷합니다. 크롬보단 좀 떨어짐)

 

 

 

안드로이드가 리눅스 커널을 사용하고 있고 Termux를 통해 X11 환경이 구축된 덕분에

 

유명 리눅스 프로그램들이 Termux 네이티브용으로 빌드되기도 했습니다.

 

 

 

Screenshot_2024-06-01_01-46-22.png

블렌더3D도 Termux 네이티브용으로 존재하며

vulkan-wsi-layer + mesa zink 22.0.5 조합 시 아주 쾌적하게 사용 가능합니다.

 

proot 컨테이너 리눅스에서 돌아가는 프로그램이 아니라 오버헤드도 없는

찐 네이티브라서 CPU를 풀로 갈궈서 렌더링이 가능합니다.

 

 

 

 

Screenshot_2024-06-01_01-47-31.png

김프도 Termux 네이티브로 존재하지만

 

한글을 미지원해서 속편하게 proot 데비안 컨테이너에 설치된 김프를 불러다가

사용하고 있습니다.

 

 

Termux 네이티브 XFCE4 데스크탑에선 Termux로 빌드된 프로그램을 실행하는거 뿐만 아니라

proot 컨테이너에 설치된 리눅스 프로그램을 로그인하지 않고 바로 실행할 수 있습니다.

 

 

즉 안드로이드 X11 환경에서

WSL2 및 크롬OS 처럼 리눅스 프로그램만 구동 방식과 비슷한겁니다.

(애네도 컨테이너에 설치된 프로그램만 따로 실행하는 방식이죠)

 

 

스냅드래곤 아드레노6xx/7xx 시리즈를 제외한

GPU들은 proot 환경에서 사용 가능한 GPU 가속은 virgl이 한계 입니다.

 

 

하지만 2D 프로그램 실행하는데 virgl이면 충분하기에

블렌더3D 같은건 Termux 네이티브로 실행하고 김프, 리브레오피스 같은건 proot로 실행하면 딱입니다.

 

 

 

Screenshot_2024-06-01_01-49-28.png

잉크스케이프 같은 경우도 Termux 네이티브로 빌드되었지만

한국어 미지원 때문에 역시 proot 데비안 컨테이너에 설치된걸 가져와서 실행하고 있습니다.

 

 

 

Screenshot_2024-06-01_01-48-27.png

rawtherapee는 Termux 네이티브 용으로 설치했는데

proot보다 훨씬 빠르고 쾌적합니다.

 

보정 공부좀 해봐야겠네요....

 

 

 

Screenshot_2024-06-01_01-49-49.png

Screenshot_2024-06-01_01-50-33.png

KolourPaint와 Audacity 같은 경우도

proot 데비안 컨테이너에 설치된걸 가져다가 실행하고 있습니다.

 

 

 

 

 

 

Screenshot_2024-06-01_01-51-54.png

VLC가 Termux 네이티브로 빌드되었기 때문에

동영상 감상도 가능합니다.

 

 

아쉽게도 Termux에선 안드로이드 비디오 디코딩 기능을 사용할 수 없어서

 

CPU + OpenGL 렌더러 빨로

H.264/AVC 기준 1080p@60fps, 4K@30fps, 4K@60fps 재생정도가 마지노선입니다.

 

 

크로미움 브라우저에서도 유튜브 재생 시 비디오 디코딩을 미지원하니

4K@30fps가 마지노선이더군요.

 

 

어차피 비디오는 안드로이드에서도 감상 가능하고

일반적인 1080p는 전혀 문제 없습니다.

 

 

Screenshot_2024-06-01_01-52-27.png

fcitx5를 통해 한글 입력도 잘 지원됩니다.

 

 

Screenshot_2024-06-01_01-55-30.png

Screenshot_2024-06-01_01-56-08.png

Screenshot_2024-06-01_02-10-30.png

proot 데비안 컨테이너에 설치된 리브레오피스를

Termux XFCE4에서 실행한 모습입니다.

 

아주 잘작동합니다.

 

그나저나 이놈의 리브레오피스 기능은 참 좋은데

윈도우나 리눅스나 정말 느리네요 ㅡㅡㅋ

 

 

 

 

 

Screenshot_2024-06-01_02-15-14.png

 

터미널에서 직접 proot 데비안 컨테이너 로그인도 가능합니다.

 

저렇게 로그인한 상태에서 명령어 입력하는 식으로

proot 프로그램을 실행하는것도 가능하고

 

아니면 Termux XFCE4 애플리케이션 메뉴에 아예 proot 컨테이너에 설치된 리눅스 프로그램을 추가해서

 

GUI로 쉽게 실행할 수 있습니다.

 

정리하면 이렇습니다.

 

<주요 기능>

- Termux로 안드로이드에서 X11 환경을 만들고 XFCE4 데스크탑을 사용 (찐 네이티브 방식임!)

- 아직 불안정하지만 Vulkan1.3, OpenGL4.6(zink), OpenGL ES3.2(zink), OpenCL3.0(clvk) 가속 가능

- WSL2/크롬OS 마냥 해당 환경에서 proot 컨테이너에 설치된 리눅스 프로그램을 바로 실행 가능

 

드디어....

제가 갤럭시S3 시절부터 꿈꿔 왔던 모바일 컴퓨팅 솔루션이 완성되었습니다.

 

과도기의 아트릭스와 사라져버린 리눅스 온 덱스 거치고나서

정말 오래걸렸네요.

 

 

물론 단점도 있습니다.

 

1. Termux 네이티브 XFCE4 데스크탑 환경에선 한국어 미지원

이유는 안드로이드의 bionic libc가 locales를 미지원합니다.

보통 리눅스는 glibc 기반으로 locales를 지원하고 여러 언어로 변경 가능하죠.

 

근데 윈도우나 맥을 일부러 영어로 쓰시는분들도 계시고 XFCE4 세션 자체가

복잡한 데스크탑 환경은 아니라서 문제될건 없습니다.

 

재밌는건 강제로 한국어 로케일 변수 추가하면 XFCE4에서 일부가 한국어로 보인다는 점입니다 ㅋㅋㅋ

Termux 네이티브로 빌드된 파이어폭스나 크로미움도 한국어로 표시되구요 ㅋㅋㅋㅋ

 

신기하더군요.

 

 

 

2. USB 스토리지 인식 미지원

이건 안드로이드 정책 및 보안 이슈 때문에 루팅된 디바이스가 아닌 이상

Termux XFCE4 상에서 USB 스토리지가 인식되지 않는다고 합니다.

 

우회하는 방법은 있습니다.

USB 스토리지 연결 후 사용할 파일을 안드로이드 저장소로 옴기고

XFCE4에서 그 옴긴 파일을 사용하는 식으로 간접적으로 사용 가능합니다.

 

 

 

3. root 권한 프로그램 사용불가

Termux 네이티브용 프로그램이든 proot 리눅스 컨테이너의 프로그램이든

호스트 디바이스가 루팅되어있지 않는 이상 root 권한이 필요한 프로그램은 사용 불가 입니다.

 

하지만 저의 사용패턴에선 아직까지 문제되거나 안돌아간 프로그램은 없었던거 같네요.

아...딱 하나있다 fuse가 설치해도 작동하지 않았습니다 ㅡㅡㅋ

 

 

 

 

 

이제  남은건

 

 

1. Termux 네이티브용 비디오 편집기 등장

유명한 리눅스 프로그램들이 Termux용으로 빌드되었지만 아직 비디오 편집기가 없습니다.

proot 컨테이너에서 제대로된 비디오 편집기를 사용하려면 OpenGL3.3 이상 지원이 필수인데

아드레노를 제외한 GPU들은 virgl로만 가속이 가능해서 OpenGL2.1이 한계 입니다.

 

하지만 곧 유명 오픈소스 비디오 편집기인 Shotcut이 Termux 네이티브용으로 빌드될거라

해결될듯합니다.

 

 

 

2. vulkan-wsi-layer 안정화 및 mmap32/mmap64 추가

안드로이드 호스트 Vulkan 드라이버를 로드하고 X11 환경을 구현해주는

위의 레이어는 아직 불안정합니다.

 

그리고 wine에서 제대로 게임을 실행하려면 mmap32/mmap64 지원도 필요하구요.

2년전에 Termux에서 GPU 가속 상상도 못했는데 이정도 발전한거보면 이것도 이제 곧입니다.

 

wine에서 안드로이드 호스트 Vulkan 드라이버로 스팀 게임을 구동할 날이 멀지 않았습니다.

 

 

 

 

3. virgl 성능 개선

사실 아드레노 시리즈는 proot 컨테이너에서 dri3 패치된 mesa turnp 쓰면되지만

다른 GPU들은 사정이 여의치 않습니다.

 

말리나 엑스클립스는 proot 환경에서 virgl을 써야하는데

일반적인 2D 프로그램 돌리는데 충분하지만

 

안드로이드 EGL 드라이버가 WSI를 미지원하다보니

virgl에서 2D/3D 사용 시 CPU를 엄청 갈굽니다....

 

사실상 안드로이드 EGL을 통한 virgl은 반 SW 가속이나 마찮가지 입니다.

그래서 성능이 10분의1이 나오는거구요.

 

하지만!

몇달전 제가 Termux git에 virgl 최신 버전 빌드좀 해달라는 스노우볼을 굴린덕에

중장기적으로 Termux용 virgl 성능 개선 프로젝트가 시작되었습니다.

 

바로 AHardwareBuffer를 통해 dri3 구현해서 성능을 올린다는것인데

이러면 적어도 일반적인 virgl처럼 네이티브의 70% 성능 이상은 나와줄것이라

비약적인 성능 향상이될것으로 보입니다.

 

중장기 프로젝트라 당장은 어렵지만 그래도 기대되네요.

 

 

 

 

대충 이정도입니다.

제가 아직 Termux용 hangover-wine에서 프로그램 설치를 실패하고 있는데

다음 버전 빌드때까지 기다리던가 아니면 ARM64EC 기본 활성화 때 까지 기다려봐야겠네요.

 

proot 컨테이너를 통해서도 wine 구동이 가능하지만 오버헤드가 전혀 없는

Termux 네이티브 환경에서 wine을 사용하는게 목표입니다.

 

 

 

 

지금도 2400정도만 되어도 사용 환경이 엄청 쾌적한데

내년 출시하는 AP는 더 기대됩니다.

흡혈귀왕
퀄콤빠, AMD빠, 테그라빠
댓글
18
1등 난거북넌토끼
2024.06.01. 04:06

Hoxi 노션 강의는 언제 완성될까요?? ㅠㅠ

[난거북넌토끼]님의 댓글을 신고합니다. 취소 신고
흡혈귀왕
글쓴이
흡혈귀왕 난거북넌토끼 님께
2024.06.01. 04:24

원래는 proot 리눅스 설치법을 올리려고 했다가

Termux XFCE4 솔루션을 발견해서 이거 올리고 겸사겸사 hangover-wine 설치까지 같이 올리려고

hangover-wine에서 윈도우 프로그램 설치 이슈 해결하려했는데

 

그냥 Termux XFCE4 구축법 먼저 올려도 될거같네요.

 

스크린샷도 다 찍어놓아서 정리만 하면되는 상황입니다.

게다가 proot 리눅스 보다 설치도 훨씬 간단합니다.

 

Termux XFCE4 설치할때 proot 데비안 컨테이너도 알아서 설치되거든요.

 

조만간 정리하겠습니다.

[흡혈귀왕]님의 댓글을 신고합니다. 취소 신고
흡혈귀왕
글쓴이
흡혈귀왕 잘되어가시나 님께
2024.06.01. 14:36

이정도는 되어야 폰이랑 태블릿을 컴퓨터라고 부를만하죠 ㅋ

[흡혈귀왕]님의 댓글을 신고합니다. 취소 신고
RuBisCO
3등 RuBisCO
2024.06.01. 10:38

이제 동영상 가속만 충족시키면 되는건데 구글도 M$가 만든 VAon12 같은 솔루션을 안드로이드를 위해서 만들어주면 좋겠는데 말이죠.

[RuBisCO]님의 댓글을 신고합니다. 취소 신고
흡혈귀왕
글쓴이
흡혈귀왕 RuBisCO 님께
2024.06.01. 14:38

mesa-va 같은 경우

AMD, 인텔, 엔비디아만 지원하는거 같더군요.

 

mesa-va에 virtio_gpu_drv_video.so 옵션도 있긴한데

이걸로 어떻게 풀수있으려나요?

[흡혈귀왕]님의 댓글을 신고합니다. 취소 신고
RuBisCO
RuBisCO 흡혈귀왕 님께
2024.06.02. 13:24

mesa 쪽은 데스크탑 리눅스를 위해서 지원해주는것에 덤으로 딸려간거라 가능한것이고, 안드로이드의 기본 멀티미디어 가속 인터페이스는 OpenMAX라서 굳이 모바일 AP 제조사들이 수고스럽게 해줄거 같진 않습니다.

[RuBisCO]님의 댓글을 신고합니다. 취소 신고
Section31
Section31
2024.06.01. 13:27

KDE를 지원했다면 더 괜찮았을지도...

[Section31]님의 댓글을 신고합니다. 취소 신고
흡혈귀왕
글쓴이
흡혈귀왕 Section31 님께
2024.06.01. 14:40

Gnome이나 KDE 대신 XFCE4를 권장하는 이유가

가볍고 제일 나은 퍼포먼스라서 그렇다더군요.

 

proot 리눅스에선 KDE나 Gnome 사용이 가능하긴 합니다.

 

하지만 해당 솔루션은 안드로이드 네이티브 상태에서 Termux로 포팅된 리눅스 프로그램을 실행하거나

proot 컨테이너에 설치된 리눅스 프로그램 실행이 목적이니 의미 없을듯하네요.

[흡혈귀왕]님의 댓글을 신고합니다. 취소 신고
Section31
Section31 흡혈귀왕 님께
2024.06.01. 14:46

그렇군요. 반대로 아사히 리눅스 개발팀은 애플 실리콘 맥에서

아사히 리눅스를 쓸 때 기본 환경을 KDE 플라즈마 6으로 하는 모양입니다.

[Section31]님의 댓글을 신고합니다. 취소 신고
흡혈귀왕
글쓴이
흡혈귀왕 Section31 님께
2024.06.01. 14:50

네 아사이는 KDE더군요.

그나저나 아사이쪽은 애플 실리콘에서 비디오 가속 지원되나요?

[흡혈귀왕]님의 댓글을 신고합니다. 취소 신고
Section31
Section31 흡혈귀왕 님께
2024.06.01. 14:56

M1,M2 시리즈는 아직 작업 중이라고 하며, M3 시리즈는 TBA입니다.(...)**

주: M3 시리즈는 아직 아사히 리눅스 지원 자체를 하지 않습니다.(......)

** 비디오 코덱 H/W 엔진 기준

[Section31]님의 댓글을 신고합니다. 취소 신고
흡혈귀왕
글쓴이
흡혈귀왕 Section31 님께
2024.06.01. 15:07

역시 비디오 지원은 쉽지않은가 보네요.

[흡혈귀왕]님의 댓글을 신고합니다. 취소 신고
오리제
오리제
2024.06.01. 21:32

앱처럼 한 번에 딱 하면 저렇게 켜지는 게 있으면 좋겠네요 무선 임원이 돈 안된다고 막겠지만요

[오리제]님의 댓글을 신고합니다. 취소 신고
흡혈귀왕
글쓴이
흡혈귀왕 오리제 님께
2024.06.01. 21:35

저게 termux 실행 후

start 명령어만 치면 딱 실행되는 방식이긴 합니다.

엄청 편해요~

 

조만간 정리해서 올리겠습니다.

proot 리눅스 쓰는거보다 저게 더 쾌적합니다!

 

실제 리눅스 온 덱스도 투자 대비 돈 안된다고 취소되었죠 ㅠㅠ

[흡혈귀왕]님의 댓글을 신고합니다. 취소 신고
RASBI
RASBI
2024.06.03. 09:04

진짜 들고다니는 컴퓨터네요..

[RASBI]님의 댓글을 신고합니다. 취소 신고
YSDN
YSDN
2024.07.12. 22:01

오오 신기하네요... 보통 proot는 여러 매뉴얼이 많은데 native는 국내에 정보가 별로없어서 이런거 정리해 주시면 유용할 듯 합니다.

[YSDN]님의 댓글을 신고합니다. 취소 신고
취소
번호 분류 제목 글쓴이 날짜 조회 수
공지 공지 사이트 이용 수칙 230228 수정 file admin 18.08.04 117725 13
핫글 미니 '이재용이 뿔났다'…'애플스러워진' MX사업부 [13] update 존버합니다 12:17 1243 22
핫글 미니 삼성 직원으로 보이는 사람 영상요 [7] 갠냑시 13:20 1457 9
핫글 미니 싱글벙글 샤오미 플립 소프트웨어 [12] file Mint 15:14 846 7
214529 미니 삼성이 오랫동안 간과하고 있는 것 [20] Beoplay31 24.06.28 2122 36
214528 미니 그래서 탭s10 나옵니꽈~~ [5] 쩌러쒀 24.06.28 638 0
214527 미니 갤워치 프로?는 디자인팀과 설계팀의 타협의 결과물일까요 ㅋㅋㅋ [14] KIKIRAKA 24.06.28 1085 1
214526 미니 갤워치 울트라는 굳이 애플의 오션 스트랩을 따라할 필요가 있었는지 의문입니다.. [23] file Stellist 24.06.28 1815 30
214525 미니 버즈3 프로는 케이스 안쪽에서 불 들어오는게 보이네요. [7] file Stellist 24.06.28 898 2
214524 미니 Z 시리즈 삼닷 컬러만 남은건가요..? [4] polorbear 24.06.28 494 0
214523 미니 워치7 유출 보니 아쉽네요 [5] 닮은살걀 24.06.28 1145 3
214522 미니 갤럭시 버즈3는 에어팟과 너무 닮았네요;; [10] scjang01 24.06.28 1492 12
214521 미니 갤럭시 Z 플립6 색상별 공식 렌더링 [12] file 노다 24.06.28 1871 6
214520 미니 워치 울트라 애플워치랑 스트랩 호환되진 않겠죠? [10] 1o92nd 24.06.28 717 0
214519 미니 에반 블레스) 워치7울트라 렌더링(화이트, 블랙) [19] file AquStar 24.06.28 1745 8
214518 미니 아르바이트로 카운터에서 몇개월간 느낀건데 [1] file 오레오가좋아 24.06.28 895 4
214517 미니 갤럭시 워치 울트라, 워치7, 버즈3, 버즈3 프로 공식 렌더링 [30] file 노다 24.06.28 1964 9
214516 미니 질문..23울트라 방수 해제 [5] 아따이양반이 24.06.28 579 1
214515 미니 갤럭시 Z 폴드6 공식 렌더링 유출 [18] file 노다 24.06.27 2069 10
214514 미니 스마트싱스 기기 제어 화면이 변경되었네요 [1] file 미붕붕드링크 24.06.27 560 4
214513 미니 중국 원플러스, 실리콘 음극재로 6100mAh 탑재 배터리 발표 [1] file AquStar 24.06.27 709 0
214512 미니 결국 이 폴드플립 렌더링이 진짜가 맞는거군요? [8] file 지넥 24.06.27 1543 4
214511 미니 폴드 6 공식 케이스 유출 [8] MiCasaEsSuCasa 24.06.27 1602 8
214510 미니 잡담: 빙우주 "(S25U에) S펜 여전히 있어" [9] Section31 24.06.27 1410 6
214509 미니 펜 빼고 둥그런 울트라면... 의미가 있나 싶습니다. [1] 가로쓰기 24.06.27 633 1
214508 미니 울트라의 장점이 [7] file 적당히하자 24.06.27 802 7
214507 미니 25울트라가 S펜 빠진다는 소리는 처음 듣네요 [12] 엔당이희망입니다 24.06.27 1629 18
214506 미니 DCS, 스냅 8Gen4 는 자체 프레임 보간 기능 탑재 [8] AquStar 24.06.27 1103 6
214505 미니 가끔 그립읍니다 [3] file trigun 24.06.27 593 4

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

게시판 타이틀 하단에 출력 됩니다.

일반 게시판, 리스트 게시판, 갤러리 게시판에만 해당

2. 글 목록

기본 게시판, 일반 게시판, 썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

기본 10명 (11명 일 경우, XXXXX 외 1명으로 표시)

5. 댓글 설정

일정 수 이상의 추천을 받은 댓글에 표시를 합니다.

6. 글 쓰기 화면 설정

글 쓰기 폼에 미리 입력해 놓을 문구를 설정합니다.

서버에 요청 중입니다. 잠시만 기다려 주십시오...