최근 수정 시각 : 2024-12-16 23:28:49

Waydroid

파일:waydroid_logo.svg

공식 사이트 | 소스코드

1. 개요

리눅스에서 안드로이드 앱을 실행할 수 있도록 지원하는 오픈 소스 도구이다. 이전에는 anbox-halium이라는 이름으로 알려졌었다. 리눅스 스마트폰과 데스크탑을 모두 지원한다.

2. 상세

윈도우 11보다도 먼저 제대로 된 안드로이드 앱 지원을 데스크탑 OS에 추가했다.[1] 리눅스 컨테이너 방식으로 풀 안드로이드 시스템을 부팅하며 Wayland에 직접적으로 그래픽 버퍼를 그린다. 덕분에 속도 저하가 거의 없이 매우 빠르고 호환성도 좋은 게 특징이다. 이미 게임을 포함한 많은 앱들을 안정적으로 돌릴 수 있다. 원신, 모바일 배그를 비롯한 여러 고사양 게임들도 잘 호환된다. #

WSL을 사용하면 윈도우에서도 Waydroid로 안드로이드 앱을 실행하는 것이 가능하다. # 다만 이런 것도 가능하다는 것을 보여준 것일 뿐이고 아직은 써먹을 단계는 아니다. 제대로 쓰려면 리눅스에서 써야 한다.

Waydroid는 최신 리눅스 환경에서만 작동되는 것을 전제로 개발되었기 때문에 다른 환경에서는 작동되지 않는 경우가 많다. 예를 들어, Waydroid는 그래픽 리눅스 프로토콜 중 Wayland 사용을 전제로 개발되었기에 X11 환경에서는 작동하지 않는다. 이를 반영하듯 기술의 이름부터가 Waydroid다. Wayland 환경만 지원하겠다는 강력한 의지가 보이는 네이밍 센스라고 할 수 있다. 본인이 로그인한 리눅스 환경이 Wayland인지 X11인지 확인하고 사용하도록 하자. 다만, X11 환경에서도 Weston을 이용하면 Waydroid이 되기는 한다고 한다. 다만 자세한건 후술하겠지만 안그래도 어려운 설치 및 업데이트 방법이 훨씬 더 어려워져 문제일 뿐.

다만 Waydroid를 실사용으로 쓰는 사람이 많지는 않은데, 그 이유로 Waydroid의 설치와 업데이트가 어렵다는 단점이 있기 때문이다. 공식 홈페이지의 설명서 #에 설치하는 방법이 친절히 정리되어 있어 이대로 하면 되기는 하는데, 그나마 설치가 쉬운 debian 계열과 fedora 계열 리눅스에서는 패키지를 많이 설치해서 귀찮고 오래걸리는 것만 참으면 일단 Waydroid가 되기는 된다. 반면에 arch 계열이나 opensuse 리눅스에서는 여기다 덤으로 커널을 삭제하고 특정 버전으로 새로 설치해야 한다. 여기서 끝난게 아니라 추가적으로 구글 인증, 인터넷 연결, libhoudini 또는 libndk[2] 설치 정도는 해야 Waydroid가 쓸만해진다. 문제는 이런 설치 및 세팅 방법에 대해 친절한 공식 강좌 따위는 없고, 전부 영어로 되어있고 자료도 여기저기 흩어져 있다. 리눅스를 써본적 없고 영어도 잘 모른다면 사실상 설치가 불가능한 수준으로 진입장벽이 높은 셈이다. 최근 블루스택같은 가상머신의 경우 설치만 하면 바로 사용할 수 있을 정도로 사용성이 편한 것과 비교해보면, Waydroid의 높은 설치 진입장벽도 꽤 심한 단점이라고 할 수 있다. 무엇보다 엔비디아 GPU를 지원하지 않는 점도 Waydroid의 큰 문제점이다.

또 Waydroid는 32비트 환경도 지원 한다고 하지만 실질적으로는 64비트 전용이다. 이는 Waydroid의 일부 패키지가 64비트만 있기 때문이다. 이론적으로는 32비트에서 Waydroid를 구동하려면 설치되지 않는 패키지를 일일히 소스 코드를 다운로드한 다음 컴파일 하고 설치하야 되지만 어려운건 둘째치고 버그가 많아서 어렵다.[3] 그리고 더 큰 문제는, 32비트에서는 libhoudini가 지원이 안되어서 ARM 전용 앱이 실행이 안된다.

게다가 Waydroid가 돌아가려면 컴퓨터 사양이 어느 정도 되어야 한다. 공식적으로 명시된 컴퓨터 최저 요구 사양은 없지만, ATOM 프로세서 같은 저사양 태블릿 PC나 미니 pc에서 돌리면 느려서 속 터진다(...) Waydroid가 가상머신은 아니고 Docker 비슷한 컨테이너 기술의 일종이라지만, 여전히 앱을 여러개 돌리는 순간 CPU 사용률이 치솟는 모습을 볼 수 있다.[4]

여담으로 Scrcpy를 설치하면 Waydroid의 홈 화면을 띄워준다.

3.

  • waydroid_scripts를 이용하여 x86 환경에서 ARM 애플리케이션을 구동할 수 있게 해주는 libhoudini를 설치해주면 Windows Subsystem for Android마냥 사용이 가능하다.
  • Aurora Store를 설치하면 Waydroid의 Play 스토어에서 설치를 못 하는 애플리케이션도 설치 가능하며, libhoudini를 설치하면 구동까지 된다!


[1] 이후 마이크로소프트가 Windows Subsystem for Android 개발에 손을 떼기로 결정함으로써, 윈도우에서의 제대로 된 안드로이드 앱 지원은 물 건너가게 되었다. [2] 이 둘을 이용하면 x86 컴퓨터 환경에서도 arm 앱을 쓸 수 있다. 보통 waydroid_script라는 파이썬 스크립트를 사용한다. libhoudini는 Windows Subsystem for Android에서, libndk는 Chromium OS에서 추출했다고 하는데, 전자가 지원이 종료됨에 따라 점차 libndk 사용이 대세가 되어가고 있다. [3] 덤으로, 이 패키지들을 업데이트하고 싶으면 매번 다시 컴파일하고 디버깅해야 한다. [4] 참고로 Waydroid는 본격적인 가상머신인 블루스택이나 Windows Subsystem for Android보다는 원활하게 돌아가는 편이다. 즉 Waydroid가 제대로 못돌아갈만큼 성능이 안좋은 컴퓨터에서는 본격적인 안드로이드 가상머신은 아예 못돌린다고 볼 수 있다.