Linux on DeX

 


1. 개요
2. 상세
3. 장점
3.1. 편리성
3.2. ARM64 바이너리 호환
3.3. 안드로이드 커널 호환
3.4. 퍼포먼스
4. 단점
4.1. 성능의 한계
5. 문제점[1]
5.1. GPU가속 미지원
5.2. 가용 메모리 오류
5.3. 언어 설정 불가
6. 비슷한 앱
6.1. 루팅 미필요
6.2. 루팅 필요


1. 개요


삼성전자가 갤럭시에 리눅스 배포판을 실행할 수 있게 만든 기능이다. 실행하면 안드로이드리눅스가 함께 돌아간다. 삼성전자는 2017년 10월 중순에 'Linux on Galaxy'를 발표하였다. 그리고 약 1년 뒤인 2018년 11월 9일부터, Linux on DeX로 이름을 변경하여 베타 서비스를 시작하였다. 삼성 DeX, 지원 기기[2]가 필요하다.
베타 프로그램 사이트
2019년 10월 19일 기준 '''Linux on Dex 베타 서비스를 종료한다는 공식 메일이 전송되었다.''' 더 이상의 지원은 없을 것으로 보이며, 안드로이드 10 버전 부터 모든 기기에서 작동하지 않는다는 내용이 포함되어있으니 Linux on Dex 사용자라면, OS 업데이트를 신중히 결정해야할 것 같다.
서비스 종료에 대한 Reddit 글 완성도가 제법 높고 생산성 부분에서 부족함이 있는 안드로이드 태블릿에 상당수준의 생산성을 제공해줄 수 있는 기능이었지만 종료되어 아쉽다는 말이 많다. 물론, 이것에만 의존하면 태블릿컴퓨터에 맞는 UI를 가진 생산성 있는 애플리케이션이 나오기는 힘들어질 수도 있다. 삼성이 구글 등의 압박을 받은 것이 아니냐는 말만 무성한데 당연히 아무도 모른다...

2. 상세



Linux on Galaxy 시연 영상[3][4]

Linux on Dex 사용 영상
영상을 보면 스마트폰을 삼성 덱스에 연결하여 우분투 16을 구동하고 이클립스를 실행하는 장면까지 나온다. 추후에는 대부분의 리눅스 배포판을 지원할 것이라고 한다. 안드로이드와 같은 리눅스 커널을 사용하였기 때문에 리눅스 실행이 가능하다. 또, 삼성 갤럭시의 CPU는 ARM인데 일반적인 데스크탑용 리눅스 배포판에는 쓸만한 데스크탑 앱이 ARM으로 포팅되어 있어서 앱 실행이 가능하다.

3. 장점



3.1. 편리성


Linux on DeX가 지원되는 스마트폰, 삼성 DeX만 있으면 리눅스 실행이 가능하다. 내 집이 아닌 곳에서라도 삼성 DeX만 있는 장소면 리눅스 실행이 가능하다는 소리다. 물론 키보드와 마우스는 필요하겠지만.

3.2. ARM64 바이너리 호환


x86 바이너리 사용이 불가하지만 ARM64(aarch64)로 포팅된 수 많은 프로그램들이 호환가능해서 간단한 apt-get 명령어만으로도 쉽게 설치해서 사용 할 수 있다.

3.3. 안드로이드 커널 호환


커널 버전 확인 명령어로 커널 정보를 보면 삼성의 발표처럼 실제 안드로이드와 동일한 커널을 사용하는것으로 확인되었다. 그 덕분에 별도의 커널 최적화 컴파일이 필요없이 이미 디바이스 AP에 최적화된 커널이 적용된 상태이며 CPU 사용작업에서는 8코어 모두 사용하는 최적의 퍼포먼스를 내면서 작업을 할 수가 있다.

3.4. 퍼포먼스


https://gigglehd.com/gg/mobile/3858747
가상화나 에뮬레이팅이 아닌 Linux Container로 구동되는 만큼 성능 손실이 거의 없다. GPU가속이 되지않은 상태이지만 전반적인 CPU와 낸드 스토리지 퍼포먼스는 상당히 좋게 나오고있다. 갤럭시 탭 S4 스냅드래곤835 기준으로, 타 ARM 프로세스들[5]과 리눅스 환경에서 비교시 단연 돋보이는 벤치결과를 보여주고 있으며, 파이썬 이식성을 제외한 부분에선 x86의 인텔 Core M3와 앞서가니 뒷서가니 하는 상당한 성능이 나오고 있다.
차 후 GPU가속이 가능해지거나 8/7nm 제조공정의 AP를 사용한 환경에선 훨씬 나은 모습을 보여줄것으로 기대된다.

4. 단점



4.1. 성능의 한계


알다시피 데스크탑용 운영체제를 스마트폰에서 구동하기 때문에 성능은 기대하기 힘들다.[6] 이런 성능면에선 게임 구동은 어렵다고 봐야한다.
하지만 실제 리눅스 환경에서 퍼포먼스 벤치결과 GPU가속이 되지않은 상황임에도 불구하고 상당히 나쁘지않은 퍼포먼스를 보여주었다.

5. 문제점[7]



5.1. GPU가속 미지원


현재 베타 기준으로 케노니컬에서 커스텀한 우분투16.04 LTS를 구동가능한데, GPU가속이 되지않은것으로 확인되었다. 커널 버전을 확인해보면 안드로이드 커널과 동일한 커널을 쓰고있어서 CPU는 리눅스상에서 재성능을 내고있지만 X11 드라이버가 없어서 fbdev(리눅스 프레임버퍼)로 GUI가 구현중으로 보이며 렌더러도 VMware로 표기되고 있고 Mesa 라이브러리 설치 후 glxgears 명령어로 3D데모 테스트시에도 아주 낮은 프레임으로 돌아가서 3D가속이 하드웨어 가속이 아닌 소프트웨어 가속으로 돌아가는 상황이다.
전체적인 사용환경에서 문제점은 윗 언급처럼 터미널을 이용한 작업에선 탑재된 AP의 8코어 프로세서를 충실히 사용하여 좋은 퍼포먼스를 내지만, GUI 환경인 X윈도우 상에서 사용시엔 GPU 하드웨어 가속 미지원으로 인해 만족할만한 퍼포먼스가 나오지 않고있다, 실제 크로미움 브라우저나 파이어폭스 브라우저로 인터넷 사용시 스크롤시 뻑뻑하거나 이미지 드로우가 빠릿빠릿하지 못한 부분이 있고 유튜브를 재생했을 때 720p보다 높은 화질 체크시 버벅이는 낮은 퍼포먼스를 보여주고있다. 일부 리눅스용 게임을 설치하여 구동했을때도 아주 낮은 퍼포먼스로 구동되는것으로 확인되었다.

5.2. 가용 메모리 오류


VLCSMplayer를 포함한 일부 유틸리티들이 가용 메모리 오류를 나타내면서 실행되지 않는 문제가 보고되고 있다.[8]

5.3. 언어 설정 불가


키보드의 경우 fcxit 설치를 통해 한글 입력이 가능하지만, 시스템 언어 설정으로 접근시 언어 설정 프로그램이 튕겨버리는 문제가 발생하여 사실상 시스템 언어를 영어에서 변경하지 못하는 상태이다.

6. 비슷한 앱


출처 1

6.1. 루팅 미필요


  • Termux - 안드로이드 전용 오픈소스 앱이다. 겉으로 보면 플레이스토어에 올라온 리눅스 터미널앱과 별 다를게 없어 보이지만 pkg 및 apt를 이용해 다양한 소프트웨어를 설치해 사용이 가능하다. nano, emacs등의 에디터 부터 파이썬, npm, node.js등의 개발도구, php, 아파치 등의 서버 소프트웨어등을 설치해서 쓸수 있다. 심지어 X-Window까지 구동이 가능하다.[9] 무엇보다 루팅이 필요없으며 무광고의 무료앱이라는 점도 강점이다. 또한 Linux on Galaxy와 달리 대부분의 안드로이드폰에서 사용이 가능하다. 특히 루팅된 디바이스의 경우 Termux 위에 다른 리눅스 배포판이나 MATE등의 고사양의 데스크탑 메니져를 설치하는 것도 가능 하다고 한다. 한글판은 없으나 입출력은 문제 없이 지원한다. 현재 Google Play 빌드는 더 이상 업데이트 되지 않으니 F-Droid에서 설치해야 한다.
  • Maru OS - 아직 지원하는 기기가 적고 커스텀 롬을 올려야 한다. 앞으로 여러 리눅스 배포판을 지원하게 된다면 배포판 자체의 arm 포팅 저장소를 그대로 활용할 수 있을 것으로 보인다. 엄청난 장점.
  • AnLinux - Termux를 함께 설치해야하며 별도의 VNC클라이언트가 필요하다. 루팅없이 구동할수있다는 장점이 있다.
  • AndroNix - AnLinux와 비슷한 앱. Pulseaudio를 Termux에 설치하면 소리까지 출력할 수 있다.[10],
  • Debian Noroot
  • UserLAnd

6.2. 루팅 필요


  • Linux Deploy - Termux와 비슷하지만 chroot 또는 proot 컨테이너 기능으로 작동하기 때문에 루팅이 필요하다.
  • Kali Linux for penetration testing 설치

[1] 베타와 우분투16.04 LTS 기준[2] 현재 베타 버전에서는 갤럭시 노트9갤럭시 탭 S4를 지원하고 있다. 갤럭시 S9 | 갤럭시 S9+는 안드로이드 9.0으로 업데이트해야 지원한다.[3] 갤럭시 노트8과 DeX환경에서 구동되었으며, 리눅스는 우분투16.04.3 LTS 버전[4] 이클립스, 김프, 웹브라우징, glxgears 3D가속, 다중 멀티 테스킹 작업등을 시연[5] Tegra X2, Tegra X1, Tegra K1, Exynos5422, RK3288, S905, A83T, BCM283780 등과 비교[6] 데모 영상에서 이클립스가 돌아가긴 하나, 애초에 태생이 JAVA 가상 머신 위에서 작동하는 이클립스는 일정량 이상의 라이브러리를 사용하는 규모 있는 프로젝트는 i7급 CPU와 16기가 이상의 램을 확보해도 답답함을 느끼는 상황이 잦은 개발환경이다. 네이티브 코드로 작성된 프로그램을 돌리기에도 벅찬 모바일 arm 계열 cpu로는 시간이 업무능력으로 이어지는 실무를 감당하기에는 무리가 있다.[7] 베타와 우분투16.04 LTS 기준[8] 사실상 GPU가속 미지원보다 더 큰 문제점이다.[9] 단 Termux앱 자체에서 X-Window를 표시하는 것은 아니고 TigerVNC 서버를 통해 호스팅 된다. 폰에서 별도로 VNC 뷰어 앱을 깔아서 접속해야 한다.[10] 단 전원 절약을 위해 사운드 재생이 없을경우 15분 뒤에 비활성이 된다.