x86 CPU 에서 Android 사용하기

오늘은 게임에 대해 적어봅니다.

BS가 ebook 용으로 구매를 하긴 했지만 그래도 게임도 가끔 하고 싶은 생각에 크루세이더 퀘스트를 설치해 봤습니다.

이런… 실행 불가…
Virtual Box 에도 설치해 보았지만 역시 불가…
아무래도 x86 에서는 힘든가 봅니다.

​크루세이더 퀘스트가 오작동 하는 것이 아니라
Unity 엔진 자체에서 오류를 출력하며 동작하지 않습니다.

https://blogs.unity3d.com/kr/2019/03/05/android-support-update-64-bit-and-app-bundles-backported-to-2017-4-lts/

​Unity 공식 블로그에 따르면 x86 사용자가 극히 적기 때문에 지원을 중단할 것이라고 합니다.

​즉, Windows 태블릿으로, 정확히는 x86계열 CPU를 사용하는 기기로 Android를 사용하게 되면 용도가 확 줄어든다… 입니다.

​아직도 다나와에는 아래와 같은 물건들이 판매되고 있습니다.
(낮은 가격 순으로 정렬된 일부입니다.)​

듀얼 OS 제품
포유디지털 iMUZ 컨버터8 (안드로이드 전용 롬을 제공하지만… 결국은 x86)
피포 X8, X9
Chuwi Hi8
MPGIO 레전드 Z

​안드로이드 전용 제품
온다 V80 Se

​앞으로 어떤 상황들이 될지 모르지만 아마도 Unity 와 같은 결정을 하는 업체들이 점점 많아지지 않을까 생각됩니다.

​결론

Android를 생각한다면 무조건 ARM 계열 CPU를 권장합니다.
그나마 아직 진행형인 LineageOS 가 가능한 제품으로 구매하면 더욱 좋을 것 같습니다.
제조사의 업데이트가 중단 되어도 커스텀 롬으로 조금 더 버티면서 사용이 가능하니까요…

​참고 LineageOS 다운로드 페이지

https://download.lineageos.org/

Lenovo Miix 2 8 Windows Tablet에 Android-x86 설치하기

BS가 Windows 태블릿을 하나 샀습니다. 중고로 싸게…
그런데 생각보다 Windows 태블릿용 앱이 너무 없었습니다.
그리고 국내 도서관, Ebook 등의 PC 뷰어가 너무 너무 허접해서 태블릿에서 사용할 수 없었습니다.
태블릿을 산 이유가 ebook을 좀 편하게 보려고 한 것이었는데…

Windows 태블릿은 도킹 키보드 + 터치 패드가 아니면 사용할 수 없으니 왠만하면 구매하지 마세요.

본론으로 들어가서
Windows PC에 Android를 설치해서 활용해보기로 했습니다.

준비물

  • WinPE ISO
    기존 Tablet의 파티션을 마음대로 편집하기 위해서는 USB로 부팅을 해야 합니다. 다른 것으로도 할 수 있지만 WinPE 부팅해서 편하게 할 수 있습니다.
    단, Miix 2는 UEFI 부팅만 가능하기 때문에 잘 찾아야 합니다.
  • Rufus
    https://rufus.ie
    ISO 파일을 부팅 USB로 만들기 위해 사용합니다.
  • MiniTool Partition Magic
    https://www.partitionwizard.com/partitionmagic/portable-partition-magic.html
    파티션 편집용 프로그램. Windows의 디스크 관리를 이용해도 되지만 조금 더 편리합니다.
  • BOOTICE
    https://sites.google.com/site/gbrtools/home/software/bootice-portable/bootice-downloads
    UEFI 부팅 엔트리 편집을 위해 사용합니다.
  • Android-x86 ISO
    http://www.android-x86.org
    현재 기준 android-x86_64-8.1-r1.iso 입니다.
    반드시 64비트 이미지를 사용해야 합니다.
    ReleaseNote를 잘 읽어보면, 32비트 이미지에서는 Google Play Service가 정상 작동 하지 않는다고 되어 있습니다.
  • USB 허브
    Miix 2 기준으로는 무조건 별도 전원을 연결하는 제품이어야 합니다. 무전원 USB 허브로는 USB 메모리와 USB 키보드를 사용할 경우 전원 부족으로 인식이 되지 않습니다.
  • USB 키보드
    설치 과정에서 터치 입력과 가상 키보드 사용이 불가능하므로 반드시 키보드를 유선으로 연결해야 합니다.
  • Micro 5핀 -> USB 젠더
    보통 OTG 젠더라고도 부르는 그것이 필요합니다.
  • USB 메모리
    여러 개 있으면 편리합니다. WinPE, Windows (BS는 듀얼 부팅 할 거라서…), Android
    BS는 이렇게 3개로 했습니다.

설치 과정

  1. Rufus + WinPE ISO로 부팅 USB를 만듭니다.
    반드시 GPT + UEFI + FAT32 옵션으로 만들어야 합니다. MBR로 만들거나 하면 Miix 2 에서는 부팅할 수 없습니다.
    그리고 USB에 Partition Magic과 BOOTICE를 넣어 줍니다.

  2. 볼륨 업 버튼을 누른 채로 전원을 켭니다.
    그러면 메뉴 선택이 나오는데 거기서 부트 메뉴를 선택하여 USB로 부팅합니다.

  3. 파티션을 편집합니다.
    BS는 Windows 10 과 Android 듀얼로 사용할 것이라서 총 3개의 파티션으로 만들었습니다.
    편집 후에는 반드시 왼쪽 위 Apply를 눌려야 합니다.
    Miix 2는 eMMC 30GiB 정도를 가지고 있습니다.
    • EFI 시스템 파티션 (FAT32, 할당 단위 크기 4K)
      나중에 파티션 크기를 조정하거나 하려면 디스크 제일 앞에 두는 것이 좋습니다. 용량은 100MB
    • Android 파티션(EXT4)
      10GiB를 할당했습니다.
    • Windows 용 공간
      이건 미할당 공간으로 두었습니다. 약 20GiB
      Windows 10 이라는 PC용 OS는 생각보다 많은 용량을 차지하기 때문에 20GiB는 있어야 합니다. (처음에 10, 다음에 15 했다가 자꾸 용량 문제가 발생해서 결국 20을 줬습니다.)

  4. EFI 시스템 파티션의 ID를 설정합니다.
    3번으로 만들면 그냥 일반 FAT32 파티션이 되는데, EFI System Partition으로 바꿔야 합니다.
    관리자 권한 명령 프롬프트에서 DISKPART 를 실행해서
    LIST DISK 로 eMMC 디스크의 번호를 확인한 후
    SELECT DISK <디스크 번호>로 디스크를 선택하고
    LIST PARTITION 으로 EFI 시스템 파티션용 100MB 공간을 확인한 뒤
    SELECT PARTITION <파티션 번호> 로 해당 파티션을 선택
    SET ID=C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    참고: 기본 데이터 파티션 ID: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
    https://ko.wikipedia.org/wiki/GUID_%ED%8C%8C%ED%8B%B0%EC%85%98_%ED%85%8C%EC%9D%B4%EB%B8%94

  5. Windows 10 을 3에서 준비해둔 미할당 공간에 설치합니다.
    Windows 10 설치용 USB를 넣고 2번과 동일한 방법으로 부팅해서 설치를 합니다.

  6. Android-x86을 설치합니다.
    부팅 방법은 동일합니다. 주의할 점은 GRUB2 EFI를 반드시 설치해야 하며, system 영역을 read-write 가능하게 해야 한다는 것!!! 이유는 아래에서 다시 설명합니다.

  7. Android로 부팅
    설치가 끝나면 다시 볼륨 버튼을 이용해 부트 메뉴에서 Android-x86을 선택해 Android로 부팅합니다.
    그리고 아래 2가지를 반드시 설정해야 합니다.
    • 설정 > Android-x86 options > Enable native bridge 활성화
      앱이 ARM용 native 바이너리를 사용했을 경우, 이 옵션이 활성화 되어 있지 않으면 아주 골치 아픈 상황이 됩니다.
      BS의 경우 비활성화 상태에서 Sudoku 앱 하나 설치했더니 태블릿이 먹통이 되고, 강제 리붓해도 먹통이 되는 현상이…
    • 터미널 앱을 사용해 /system/build.prop 파일에 아래 내용을 추가합니다. (이것 때문에 /system 이 read-write 여야 합니다.)
      sleep.state=none
      그리고 아래 명령으로 해당 내용을 현재 상태에도 바로 반영합니다.
      setprop sleep.state none

  8. 다시 Windows로 부팅하여 BOOTICE로 UEFI 부티 엔트리 순서를 조정합니다.

보충 설명

이렇게 해서 Windows Tablet인 Lenovo Miix 2 8 을 듀얼 OS 태블릿으로 바꿨습니다. 뭐 나쁘지는 않지만 Android는 역시 정식으로 된 펌웨어를 설치한 것이 아니라서 조금 부족함이 있습니다.

위 설명에서 7번 항목의 sleep.state에 대해 추가로 설명 드리겠습니다.
Android-x86 사이트의 ReleaseNote에도 설명이 나온 것 처럼 일부 기기에서 suspend/resume이 안되는 문제가 있습니다. 그래서 Sleep 시키려고 파워 버튼을 누르면 먹통이 되 버립니다. (파워 버튼 아주 오래 누르면 강제로 꺼집니다.)

https://groups.google.com/d/msg/android-x86/_vU8nNLKicI/gMfWTkzABgAJ

이 포스트에 따르면 Cherry-Trail / Bay-Trail CPU를 사용하는 PC에서 나타나는 현상이라고 하고 (물론 다른 CPU도 발생할 수 있음), 해당 CPU를 kernel.org 에서 아직 완전히 작업하지 않았기 때문에 Android의 기반이 되는 Linux 자체가 불안한 모양입니다.

그래서 Android-x86 프로젝트 관리자인 Chih-Wei Huang 알려준 sleep.state=none 을 해서 조금 완화?시키는 것인데…
이렇게 하고 나서 파워 버튼을 누르면 화면은 블랙으로 바뀌는데 BLU(Back Light Unit)이 꺼지지 않는 문제가 있습니다. 그리고 CPU, RAM 모두 잠들지 않는 상태이기 때문에 Sleep 모드보다 배터리 소모가 심합니다. 추가로 알 수 없는 조건이 되면 이것도 의미없게 먹통이 되네요.

추가 참고 사항) 일반 PC에 설치했는데 전원 버튼이 Sleep이 아니라 종료로 동작하면
/system/build.prop 에 아래 내용을 추가
poweroff.doubleclick=1

결론… 집에서 버려질 위기의 Windows PC나 Tablet이 있다면 Android로 바꿔서 수명을 연장하는 방법도 있다. 하지만 이걸 위해서 Windows PC 또는 Tablet을 구매해서는 안된다!!!

삼성 갤럭시용 이메일 클라이언트

BS가 Le 1s 를 사용하다가 바꾼 폰이 Galaxy S7 입니다.

MS Outlook 을 메일 클라이언트로 잘 사용 하고 있었는데 얼마전부터 네이버 메일 확인 시 암호를 계속 물어 봅니다. 너무 귀찮습니다.

그래서 네이버 메일 앱을 설치할까 했는데 리뷰에 “다른 메일 계정도 사용할 수 있으면 좋겠다”는 리뷰가 눈에 확 들어 옵니다.
앱 설명에서는 다른 메일을 연동할 수 있다고 나오지만 네이버 메일 서비스의 “외부 메일 가져오기” 기능을 말하는 듯하여 패스
(참고로 외부 메일 가져오기는 다른 메일 계정의 메일을 네이버로 가져온 다음 네이버가 다시 메일 클라이언트로 보내는 것…)

그래서 다시 다음 메일 앱을 설치하였으나, UI가 너무 불편해서 며칠 쓰다 버리고

그래서 다시 GMail 앱을 설치하였으나… 역시나 UI가 원하는대로 동작하지 않아 패스

그래서 다시 기본 이메일 앱인 삼성 이메일 앱으로…

그런데 여기서 문제!!!
삼성 이메일 앱은 너무 자동화가 되어 있어서 외부 메일 설정시 고급 설정으로 imap, smtp 서버를 설정하지 않고 자동으로 검색을 시도하는데, 결과가 엉뚱하게 나와서 메일 계정 추가가 안되는 문제가…

수동으로 메일을 설정하려면 a.a.com 으로 이메일을 넣으면 된다는 것을 알게 됨

계정 등록의 불편함을 빼면 시도한 앱들 중에서 제일 심플하고 좋은 듯…

과거에 사용하던 고대적 UI를 선호하시는 분은 K-9 도 괜찮음