로그인 해주세요.

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

흡혈귀왕

미니 아..엑시노스2400 Termux 리눅스에서 GPU 호환성 개선 방법이 있네요.

이전 언급부터 OpenGL ES를 virglrenderer-android을 통해 OpenGL로 가상화하는건

오만가지 호환성 문제가 발생하고 오버헤드도 많아서 좋지 못한 솔루션이라고 언급했습니다.

 

퀄콤 칩셋은 mesa에서 Freedreno Turnip이라고 

아드레노용 오픈소스 Vulkna 드라이버가 있어서 Vulkan 가속이 가능하고 mesa zink와 조합 시

OpenGL4.6 구현이 가능합니다.

 

제가 mesa git에 오픈소스용 라데온 Vulkan 드라이버인 RADV에 엑시노스 지원 추가에 대해

문의했을 땐 퇴짜 맞아서 (개발자왈 : 삼성한테 문의해라 개네들이 우리보다 훨씬 인력 많으니)

 

 

 

 

포기하고 스냅드래곤 탑재 바라고 있었는데 방법이 있었습니다ㅡㅡㅋ

 

 

 

바로 Termux에서 mesa-zink를 설치 후 안드로이드의 호스트 Vulkan 드라이버와 조합해서

OpenGL을 구현 후 virglrenderer-mesa-zink를 통해 가상화 시켜주는겁니다.

 

이 방법대로라면

 

안드로이드 호스트GPU Vulkan 드라이버 -> mesa-zink (OpenGL 구현) -> virglrenderer-mesa-zink (zink의 OpenGL 가상화)

 

과정을 거치게되고 proot-distro에서 GPU 가속이 가능하게됩니다.

 

 

 

사실 없었던 방법은 아닙니다.

virglrenderer-android가 생겨나기 전에

 

저런 방식을 통해 proot-distro 리눅스에서 GPU 가속을 구현했습니다.

 

 

 

문제는 현존 모바일 AP들의 Vulkan 드라이버의 extension과 feature의 지원 레벨이

워낙 낮아서 zink 사용 시 OpenGL2.1 구현이 한계더군요.

 

그래서 virglrenderer-mesa-zink로 가상화하여 proot-distro 리눅스에서 GPU 가속을 구현해도

OpenGL2.1이 한계였습니다.

 

그럼에도 호환성 만큼은  virglrenderer-android을 사용한 가상화보다 훨씬 나았습니다.

(문제는 이 방식은 아드레노7xx 시리즈에서 작동을 하지않기 때문에 자연스러게 안쓰이게됨)

 

 

 

 

 

그런데...!!!

 

제가 최근 엑시노스2200의 Vulkan1.1 드라이버 기준으로

extension과 feature의 지원 레벨을 확인해보니

 

zink에서 OpenGL4.0 이상까지 지원 가능한 수준으로 짱짱하더군요 ㄷㄷㄷㄷ

역시 AMD RDNA2랑 동일 아키텍쳐라서 그런가?

 

 

이거 이렇게되면

안드로이드 호스트GPU Vulkan 드라이버 -> mesa-zink (OpenGL 구현)로 변환 시

최소 OpenGL3.x이 가능하다는 소리입니다.

 

당장 OpenGL3.3 수준만되어도 리눅스 사용하는데 호환성 문제가 1도 없기 때문에

제가 그동안 걱정했던 모든것들이 다 부질없는 걱정이었단 소리가 되겠죠.

 

 

게다가 이건 엑시노스2200 Vulkan1.1 드라이버 기준입니다.

S23 FE에 탑재되는 엑시노스2200는 Vulkan1.3 드라이버를 사용하는데다

엑시노스2400도 Vulkan1.3일테니 extension과 feature의 레벨은 더 향상될 여지가 있겠죠.

 

이로써 리눅스 환경에서 OpenGL 호환성은 문제가 없을 가능성이 99%인데

문제는 여전히 Vulkan 가속이 부재입니다.

 

 

최종적으로 box64+wine으로 게임 구동까지 고려하시는 분들은 아쉬울수 있는 부분인데

(dxvk랑 vkd3d 쓰려면 vulkan이 필수이니)

 

이것도 뭐 일단 기다려봐야할거같습니다.

angle 사용하면 어케해결되거 같긴한데...

 

 

아니면

호스트 GPU의 Vulkan 드라이버를 가상화하는

Virtio-GPU Venus라는 것이 있습니다.

 

문제는 현존 안드로이드 모바일 AP들의 Vulkan 드라이버가

Virtio-GPU Venus를 충족하기엔 extension과 feature의 레벨 수준이 너무 낮습니다.

 

심지어 이건 Vulkan1.1 드라이버 기준 엑시노스2200도 마찬가지더군요.

 

 

Vulkan1.3을 쓰는 엑시노스2400은 다를수도 있는지라 지켜봐야겠습니다.

 

 

 

 

 

<요약>

- 그동안 virglrenderer-android의 거지같은 호환성으로 리눅스에서 엑시노스2400 호환성 걱정이

   아주 많았음 (스냅드래곤 탑재되길 바랬을 정도)

- 하지만 mesa-zink와 virglrenderer-mesa-zink를 통해서 안드로이드 호스트 Vulkan 드라이버를

   OpenGL로 변환하고 가상화하는 방법으로도 GPU 가속하는게 가능 (호환성 더 좋음)

- 아드레노, 말리, PowerVR 등등 대부분 GPU의 Vulkan 드라이버가 zink에서 OpenGL2.1이 한계지만

  엑스클립스는 Vulkan1.1 드라이버 기준 zink에서 무려 OpenGL4.0 이상 충족 가능

- 리눅스 환경에서 OpenGL3.3만 되어도 호환성 문제가 전혀없어서 엑시노스2400 리눅스는 걱정무

- Vulkan 가속이 여전히 숙제이지만 angle을 사용하거나 Vulkan1.3 드라이버 기준 피처레벨 충족되면

  Virtio-GPU Venus 같은걸로 Vulkan 가상화도 가능할것으로 보임

흡혈귀왕
퀄콤빠, AMD빠, 테그라빠
댓글
0
취소
번호 분류 제목 글쓴이 날짜 조회 수
공지 공지 사이트 이용 수칙 230228 수정 file admin 18.08.04 114851 13
핫글 미니 이번 WWDC에서 가장 괜찮아 보인 것 [17] file MrGom™ 08:29 1370 17
핫글 미니 S23시리즈 배터리가 오래 갔던이유(디스플레이) 외 여러가지 [9] updatefile GalaxyBudsSeries 16:25 556 15
핫글 미니 뚝딱뚝딱 아이폰 스탠드 만들기 [2] file 투야 03:42 564 10
214896 미니 미게 잘 되네요 file 놋철씁니다 18.06.27 518 0
214895 미니 츄라이츄라이 [1] file Elsanna 18.06.27 541 0
214894 미니 와! 미게! Stellist 18.06.27 437 0
214893 미니 크흐 소통갓 베리힌님 file 놋철씁니다 18.06.27 500 0
214892 미니 여기 특별히 죽지 않으면 전 그냥 여기서 놀래요 [2] 놋철씁니다 18.06.27 935 0
214891 미니 근데 트래픽 늘어나면 어떻게 되나여 [1] file JordanKwon 18.06.27 598 0
214890 미니 안녕하세요 몽구스 18.06.27 232 0
214889 미니 모바일 ㅅㅅ file 놋철씁니다 18.06.27 744 0
214888 미니 청와통닭보다는 [2] 노랑통닭 18.06.27 610 0
214887 미니 근데 이거 XE예요? [1] file 놋철씁니다 18.06.27 863 0
214886 미니 도매인 이름 제가 한거임 생색 [1] file 놋철씁니다 18.06.27 583 0
214885 미니 안녕하세요~~ [2] 프로겐 18.06.27 418 0
214884 미니 닉넴 변경 놋철씁니다 -> Minny Minny 18.06.27 240 0
214883 미니 안녕하세요. 기립갤식입니다. [3] 기립갤식 18.06.27 529 0
214882 미니 KT LTE측정 [1] file Minny 18.06.27 354 0
214881 미니 구 미게 복구되었습니다. [1] Minny 18.06.27 378 0
214880 미니 소식 듣고 와봤는데... 상당히 좋네요 [1] 기븐 18.06.28 539 0
214879 미니 피난소 와봤습니다 [1] 늙은이 18.06.28 331 0
214878 미니 기어S4, 갤럭시노트9과 함께 공개예정 BarryWhite 18.06.28 304 0
214877 미니 픽셀3 & 픽셀3XL 디자인 [2] file BarryWhite 18.06.28 342 0
214876 미니 놋9 루머 BarryWhite 18.06.28 214 0
214875 미니 애플, LGD에 OLED 400만장 주문? BarryWhite 18.06.29 138 0
214874 미니 유출된 서피스폰 사진 file BarryWhite 18.06.30 368 0
214873 미니 스피어닉 -> 스피어 닉변했습니다 ㅅㅅ [2] 스피어 18.06.30 226 0
214872 미니 오늘도 미게는 시간을 달립니다 [4] 블랙로봇 18.07.02 246 0

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

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

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

2. 글 목록

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

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

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

5. 댓글 설정

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

6. 글 쓰기 화면 설정

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

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