커펌 스위치 안드로이드 (리니지OS) 설치 가이드
본가이드를 잘못 사용하는 경우 SD카드 포맷등으로 인해 심각한 정신적 손해가 발생할 수 있습니다.
테스트를 위해 설치하시겠다면 반드시 현재 스위치에서 사용중인 SD카드가 아닌, 별도의 SD카드를 이용해야 합니다.
아직까지 듀얼부팅은 가능하지 않아보입니다. SD카드를 교체해 가며 사용해야지만 가능한 가이드입니다.
안드로이드 스마트폰에서 기존에 리니지 OS등의 커스텀롬을 TWRP를 이용해 올리셨던 분이라면
좀더 이해가 빠를 것 같은데 아무쪼록 조심스럽게 진행하시길 바랍니다.
닌텐도 스위치가 스마트폰과 동일한 ARM 기반의 CPU인 것은 알고 계실겁니다.
이미 쉴드 패드 등으로도 발매한 이력이 있는 Nvidia 테그라 X1 칩셋이기에 안드로이드 포팅도 생각보다 빠르고 순조롭게 진행 되는듯 합니다.
XDA에 한 개발자가 스마트폰의 커스텀 롬으로도 유명한 리니지OS를 스위치에서 설치가 가능하도록 포팅한 이미지가 있어 설치를 진행 해봅니다.
진행순서는 다음과 같습니다.
1. 리니지 OS 와 Nvidia 쉴드 애드온 파일 다운로드
2. 플레이스토어 설치를 위한 Gapps 다운로드
3. 커스텀 펌웨어 부팅을 위해 Tegra RCM GUI 다운로드
4. 커스텀 펌웨어 부팅시 필요한 Hekate 페이로드 다운로드
5. SD카드 포맷
6. SD카드에 리니지 OS 설치
7. SD카드에 안드로이드 애드온 파일 복사하기
8. 스위치를 Hekate로 부팅
9. TWRP를 통해 안드로이드 애드온(구글 플레이스토어) 설치
9-1. 스위치를 쉴드 태블릿으로 인식시키기
9-2. 플레이스토어 설치를 위한 Gapps 설치하기
9-3. Fix Joycon 패치 설치
10. 안드로이드로 부팅
11. 조이콘 페어링
12. 간단한 사용후기
추가로 XDA에서 위 가이드를 보고 포스트를 작성합니다.
물론 초기단계 이기에, 아직까지 몇가지 문제는 있습니다.
관련 정보는 번역기로 대체하겠습니다.
- LineageOS 15.1 - Android 8.1 Oreo
- Nvidia Shield TV 를 기반으로합니다.
- TWRP 사전 설치
- CPU 및 GPU 성능 프로파일
- 핸드 헬드 및 도킹 모드에서 작동합니다.
- 오디오 지원됨
- Joycons 는 블루투스 를 통해 핸드 헬드 모드로 연결 합니다.
알려진 버그 :
- 배터리 수명이 일반 안드로이드 기기처럼 그리 오래가지 않을 수 있습니다.
- 아직 센서와 연결이 원활치 않아 , 자동 화면 회전이 안됩니다.
- 독에서 화면이 꺼지지 않습니다.
- 충전 은 감지되지 않지만 콘솔은 여전히 충전 됨 (상당히 무서운 항목이군요..)
- 일부 앱 은 joycon 입력을 올바르게 처리하지 못합니다. (조이콘이 항시 잘 작동하는것은 아닌것같습니다.)
- 터치 스크린은 손가락이 화면 위에 떠있는 경우에도 터치를 감지합니다. (이건 겪어봐야 알것같네요.)
- 이 시스템 에서 프로세스 ANR 부팅 . "대기"를 클릭하면 다음 부팅 때까지 다시 발생하지 않습니다.
- 스크린 샷이 작동하지 않습니다.
- WiFi 가 무작위로 작동을 멈출 수 있습니다. 이 경우 재부팅 만하면됩니다. (역시 곤란한 항목입니다.)
- 도킹 할 때 TV 가 이상하고 거칠게 보일 경우 몇 번 리 도킹합니다.
- 게임 패드 와 함께 사용할 수있는 TV 키보드 없음
- SELinux가 비활성화되었습니다.(보안이슈가 있을수도 있겠습니다만, 이미 RCM 모드로 뻥뻥뚫려있는지라..)
- 당신은의 FAT32 파티션에 액세스 할 수 없습니다 SD 카드 에 맥 OS를 . Windows 및 Linux가 작동합니다.
이렇게 오늘은 스위치에 안드로이드를 올려보는 작업을 진행해보겠습니다.
1. 리니지 OS 와 Nvidia 쉴드 애드온 파일 다운로드
본 가이드에서는 32기가 사이즈의 이미지로 진행하도록 하겠습니다.
좀 더 큰 용량을 원하시는 경우 위 사이트에서 더 큰 사이즈의 이미지로 다운받으시기 바랍니다.
파일은 Direct(직접) 다운로드와 토렌트 다운로드를 지원합니다.
해외지만, 다운로드 속도가 나름 빠르기때문에 직접 다운로드를 진행하겠습니다.
추가로 동일한 AP를 사용하는 쉴드 관련 호환파일과 조이콘 패치도 다운받도록 하겠습니다.
리니지OS인 안드로이드 이미지의 경우 압축을 풀어 준비 해둡니다.
2. 플레이스토어 설치를 위한 Gapps 다운로드
위 링크된 사이트에서 Gapps 를 다운받습니다.
포팅된 리니지OS의 버전이 8.1이니 ARM64 기반의 동일한 버전으로 다운로드 합니다.
다만 보통 스마트폰에서 사용할시엔 Stock 버전을 주로 받는데 , Pico버전을 받는걸 추천합니다.
왜냐하면 플레이스토어 정도만 필요할 뿐이기에, 700메가나 되는 Stock 버전의 모든 구글 기본앱을 설치할 필요는 없습니다.
피코버전의 경우 110메가 정도로 용량도 적고 가볍습니다.
필요하다면 추후 플레이 스토어에서도 설치가 가능하기 때문에 구글 관련 앱들은,
일단 최대한 가벼운 버전으로 설치를 하도록 하겠습니다.
여기까지 잘따라오셨다면, 위처럼 파일 3개를 받으셨을겁니다.
2019/10/10 추가
재부팅시 헤카테페이로드를 지원하는 추가 파일을 공유합니다.
마찬가지로 다운로드 받아놓습니다.
다음 단계로 이동합니다.
3. 커스텀 펌웨어 부팅을 위해 Tegra RCM GUI 다운로드
일반적인 스위치 커펌유저라면 페이로드 주입을 위해 사용하는 툴입니다.
설치버전인 .msi도 있지만 무설치 버전인 포터블 버전을 이용하도록 하겠습니다.
위 파일을 바탕화면 등에 다운로드 받아 압축을 풀어줍니다.
4. 커스텀 펌웨어 부팅시 필요한 Hekate 페이로드 다운로드
위 사이트에서 역시 마찬가지로 아래로 스크롤하면 나타나는 Assets 파일 중
최신 버전의 hekate_ctcaer_5.0.1_Nyx_0.8.1.zip 파일을 다운로드 받아 마찬가지로 바탕화면 등에 압축을 풀어줍니다.
만약 버전업이 되더라도 최신버전의 헤카테를 다운로드 하셔서 이용하시면 되겠습니다.
여기까지 잘 따라 오셨다면, 아마도 위와 같은 파일들이 준비될 것입니다.
5. SD카드 포맷
기존에 사용하던 메모리라면 포맷이 필요할겁니다.
가장 깔끔하게 메모리 초기화가 가능한 Sd formatter 유틸을 이용해 포맷해보도록 하겠습니다.
새로 구매한 SD카드라면 건너뛰셔도 되는 단계입니다.
링크의 사이트에 들어가서 for Windows 버전을 다운받습니다.
다음 페이지로 이동하게 되는데 가장 아래의 Accept (동의) 버튼을 눌러 다운로드 받습니다.
다운받은 SDCardFormatterv5_WinEN.zip 파일을 압축을 풀어 Setup.exe 파일을 실행해 PC에 설치해 줍니다.
두고두고 사용하는 아주 훌륭한 툴로 다양한 SD카드들의 문제도 포맷으로 해결해 주는 유틸입니다.
설치가 완료되고 이렇게 바로 가기가 생성 되면 실행시켜 줍니다.
다시한번 말씀드리지만 위 작업은 스위치에서 사용중인 SD카드로 진행하시면 절대 안됩니다.
모든 데이터가 삭제되기 때문에, 반드시 여분의 카드로 진행하시기 바랍니다.
순서대로 SD카드 드라이브를 선택하고 포맷버튼을 눌러줍니다.
포맷이 모두 완료되면 위와같은 메세지가 나타납니다.
가지고 계신 리더기가 USB2.0인데 3.0포트에 꽃는경우 간혹 포맷이 되지않는 경우들이 있으니,
맞는 USB 포트에 삽입하시기 바랍니다.
6. SD카드에 리니지 OS 설치
각종 리눅스부터 다양한 이미지 파일을 usb 또는 SD카드에 구워주는 Win32 Disk Imager입니다.
위 사이트에서 다운로드를 받아 바로 실행을 시켜줍니다.
프로그램을 실행하면 위와 같이 심플한 구조입니다.
먼저 Device를 본인의 SD카드 드라이브 경로로 잡아줍니다.
(1) 이미지 파일을 선택합니다. 파랑색 폴더모양 버튼을 눌러줍니다.
(2) 다운로드 받은 리니지OS(안드로이드) .img 파일을 선택합니다.
(3) 열기 버튼을 눌러줍니다.
(4) Write 버튼을 눌러 이미지를 SD카드에 굽기 시작합니다.
모든 데이터가 날아가는데 정말 진행하느냐고 물어봅니다. Yes를 눌러줍니다.
SD카드 리더기와 USB 규격에 따라 다르겠지만, USB 2.0 기준으로 이미지 설치시
약 40분 가량 소요되는 것으로 나오지만 실제론 1시간 가량 소요됩니다.
잠시 커피한잔 하시면서 놀다 보면 작업이 완료되었을 겁니다.
이미지가 모두 구워지면 위처럼 윈도우에서 못알아먹는다는 이유로 디스크포맷 메세지가 나오곤 하는데
여기선 당연히 절대 포맷을 누르시면 안됩니다.
반드시 취소를 눌러 닫아줍니다.
저는 E드라이브에 작업을 했으며 , 추가로 F드라이브가 생긴것을 확인할 수 있었습니다.
7. SD카드에 안드로이드 애드온 파일 복사하기
SD카드를 PC와 연결합니다.
위 새로생긴 드라이브중 2기가의 여유가 있는 드라이브가 있을껍니다.
여기에 아까 다운로드 받았던 파일중 Gapps와 fixjoycon 압축파일을 복사해줍니다.
추가로 reboot2payload_final.zip 까지 SD카드에 복사하도록 합니다.
경고메세지가 나올수도 있지만 무시하고 복사해주시면 됩니다.
복사가 완료되면 스위치에 삽입합니다.
이때 RCM 지그도 미리 연결해 둡니다.
8. 스위치를 Hekate로 부팅
다음은 미리 다운받았던 TegraRcmGUI 폴더에 Hekate페이로드를 넣어주겠습니다.
Hekate 페이로드를 TegraRcmGUI 폴더로 이동해줍니다.
본격적으로 페이로드 주입을 위해 TegraRcmGUI.exe 를 실행해줍니다.
만약 경고창이 나오거든 추가정보를 눌러 실행 버튼이 나타나게 한뒤 실행을 눌러주세요.
3번째 탭의 Settings 에서 Install Driver 를 눌러 스위치와 PC가 연결이 가능하도록 드라이버를 설치합니다.
(1) 폴더모양 버튼을 눌러 페이로드 선택창을 띄웁니다.
(2) 아까 옮겨두었던 Hekate_ctcaer_5.0.1.bin 파일을 선택
(3) 열기를 눌러줍니다.
이번엔 전원을 끈 스위치에서 볼륨 +키를 누른채로 전원을 1초정도 눌러줍니다.
이렇게 하면 스위치가 RCM 모드(일종의 복구모드)로 진입합니다.
외관상으로는 달라지는게 없으니 , 켜진건지 꺼진건지 알수가 없습니다.
PC와 연결해보면 소리가 나는걸로 확인가능합니다.
그리고 USB C타입으로 연결하면 TegraRcmGUI 에서 아래쪽에 녹색배경의 RCM OK라는 멘트가 나옵니다.
이번엔 TegraRcmGUI 우측 상단의 Inject Payload 버튼을 눌러줍니다.
드디어 스위치가 Hekate 로 진입했습니다.
이제부터 PC와 연결된 USB를 제거해도 됩니다.
9. TWRP를 통해 안드로이드 애드온(구글 플레이스토어) 설치
여기서부터 얼핏 비슷한 화면이 많으니 조심해서 따라오시기 바랍니다.
Hekate 메인화면에서 두번째 메뉴인 More Configs 를 터치해봅니다.
마찬가지로 터치로 실행이 가능한 안드로이드가 생긴게 보입니다.
여기서 주의사항이 있습니다.
SD카드에 Win32DiskImager를 통해 2기가 파티션을 생성하고 리니지OS를 설치했지만
아직 플레이스토어등은 설치되어 있지 않은 상태입니다.
최초 부팅시에는 TWRP를 통해 플레이스토어를 SD카드에 설치해야합니다.
TWRP 로 부팅하는 방법은 아주 쉬운데 안드로이드 아이콘을 한번만 터치 해줍니다.
이후 바로 볼륨 +버튼을 켜질때까지 누르고 계시면 됩니다.
얼마나 눌러야하는지 정확히 알수가없어 저는 TWRP가 보일때까지 누르고 있었습니다.
TWRP로 부팅이 완료되었습니다.
먼저 우측 슬라이드를 밀어 경고를 무시하고 시스템을 수정할수 있도록 합니다.
9-1. 스위치를 쉴드 태블릿으로 인식시키기
전체적으로 메뉴의 터치가 시원찮습니다.
바로 찍히긴 하는데 빈 화면을 한번 누르면 적용되거나, 터치를 아예 두번하는편이 속편할수도 있습니다.
첫번째 메뉴인 Install을 터치해서 들어갑니다.
Up A Level 을 눌러 최상위 경로로 이동하겠습니다.
external_sd 를 터치해서 외장SD카드로 이동합니다.
조그마한 화면이다보니 터치를 잘못할 경우 일반 안드로이드 처럼 뒤로 버튼을 누르시고 다시 터치하시면 됩니다.
external_sd 에 들어와 보면 SD카드에 미리 넣어두었던 3개의 zip파일이 보입니다.
가장먼저 Nvidia 쉴드라고 인식 시키기 위해 shieldifier.zip 를 터치해서 설치하겠습니다.
설치 화면이 나오면 우측의 슬라이더를 밀어 주는걸로 설치를 시작합니다.
까만건 배경이요 하얀것은 글씨니 , 아무것도 누르지 마시고 기다립니다.
설치가 완료되면 밑에 두개의 버튼이 나타나는데 , 안드로이드 설치시에 기본적으로
달빅캐시를 한번은 클리어 해주는 과정이있습니다.
아래 왼쪽에 Wipe cache/dalvik 버튼을 눌러줍니다.
우측으로 슬라이드해서 달빅 캐쉬를 초기화 해줍니다.
달빅 캐쉬가 모두 지워졌습니다.
뒤로 버튼을 눌러 다시 external_sd 로 이동합니다.
9-2. 플레이스토어 설치를 위한 Gapps 설치하기
이번엔 리니지 OS에 기본적으로 설치되어 있지 않은 플레이스토어를 설치하는 과정입니다.
open_gapps-arm64-8.1-pico-20190803.zip 파일을 터치합니다.
마찬가지로 설치화면에서 우측 슬라이더를 끝까지 밀어줍니다.
open Gapps가 설치됩니다.
설치가 완료되었습니다.
역시 마찬가지로 뒤로 버튼을 통해 external_sd 화면으로 돌아옵니다.
9-3. Fix Joycon , 패치 설치
반드시 필요한 과정은 아니지만 일단 조이콘을 보정해 주겠지!란 믿음으로 넣어둔 fix-joycon.zip을 터치해서 설치하겠습니다.
역시 설치 화면에서 우측슬라이더를 끝까지 밀어줍니다.
간단하게 설치가 진행됩니다.
재부팅 작업에 필요한 reboot2payload_final.zip 도 추가로 설치해줍니다.
설치가 완료되면, 이번엔 external_sd 경로가 아니라, 아래의 메인화면으로 나가도록 하겠습니다.
위 화면까지 나오게 되면 Reboot을 눌러줍니다.
Power Off를 터치합니다.
TWRP를 부팅시에 자동으로 설치해주는 옵션입니다.
필요없으니 Do Not Install을 터치합니다.
SD카드다 보니 왠지 터치하고 나서 기기 반응속도가 빠릿하지 못한 경우가 많습니다.
눌러 놓고 잠시 기다리시면 해결 됩니다.
10. 안드로이드로 부팅
기기가 완전히 꺼지고 나면 RCM모드로 다시 부팅해보겠습니다.
우측 조이콘 대신 RCM지그를 연결하고 볼륨 버튼을 누른채로 1초간 전원버튼을 눌러줍니다.
PC와 연결한 뒤 Hekate 페이로드를 Inject payload를 통해 주입해줍니다.
Hekate 메인화면에 진입하게 됩니다.
안드로이드 부팅을 위해 두번째 메뉴인 More configs를 터치합니다.
안드로이드를 터치합니다.
TWRP를 이용한 설치는 끝났기에 이번엔 터치하고 그냥 부팅을 쭉 기다려줍니다.
다시 한번 헤카테로 부팅되는 것처럼 부트로고가 나오지만 이후 안드로이드로 부팅됩니다.
자 드디어 리니지 OS로 부팅됩니다.
최초 부팅시에는 설정등을 위해 꽤나 부팅에 시간이 걸리며 2회차 부팅부터 좀 더 빠르게 부팅됩니다.
별로 의미는 없지만, 기다리다 보면 해상도를 바꾸는 것인지 리니지 마크가 중앙에서 약간 좌상단으로 이동합니다.
초기 설정화면으로 진입했습니다.
가장먼저 반기는게 일단 오류창인데 , 무시해도 좋습니다.
NVIDIA Games같은 경우 PC와 태블릿을 연동하는 기능일텐데 , 전부 설치가 끝난뒤에 플레이스토어에서
업데이트 하는걸로 수리가 가능합니다.
Close app을 누릅니다.
Hi there 우측의 언어 버튼을 눌러 한국어로 변경해보겠습니다.
대한민국을 터치해줍니다.
자 이제부턴 일반 스마트폰과 동일하게 시작버튼을 눌러 진행합니다.
와이파이에도 연결해 보니 잘 진행됩니다.
문제는 위 화면인데, 업데이트 확인 중... 에서 넘어가지 않습니다.
그러니 아래쪽의 뒤로 버튼을 눌러 나가거나, 기기 부팅 전에 와이파이를 연결하지 않는게 좋겠습니다.
구글 로그인까지 완료하게 되면 , 구글 관련 작업은 끝입니다.
다음은 리니지 OS 기능이란 부분이 나오는데 크게 필요가 없어보이니 체크박스를 모두 해제하고 우측하단 다음 > 을 터치해줍니다.
드디어 리니지 OS의 메인화면으로 진입하는 순간입니다. 시작 > 을 눌러주세요.
우리에게 익숙한 안드로이드가 열렸습니다.
기본앱은 Gapps 피코버전 덕분인지 잡다한 앱이 없고 쾌적해보입니다.
이번엔 플레이 스토어에 들어가봅니다.
부팅중에 에러가 발생했던 NVIDIA Games의 업데이트도 진행해봅니다.
안드로이드랑 같은 기능이다보니 딱히 설명할 것도 없습니다.
NVIDIA 그래픽카드가 없는 관계로 패스합니다.
해외에선 게임 스트리밍으로는 MoonLight를 더 추천하고 있습니다.
11. 조이콘 페어링
아직까지 조이콘이 완벽 지원이 아니라, 별도 안드로이드용 패드를 사용하는것을 추천합니다.
설정 메뉴에서 연결된 기기로 이동합니다.
블루투스 메뉴로 이동합니다.
새 기기와 페어링을 터치해줍니다.
먼저 페어링 방법은 조이콘의 페어링 버튼을 잠시 누르고 있으면 Led가 왔다 갔다 하면서 움직입니다.
Joy-con(L) 이 나타났습니다. 터치해줍니다.
Joy-con(L)의 페어링이 진행됩니다.
연결 완료되었습니다.
방향키 버튼을 눌러보면 동작이 잘됩니다.
다만 블루투스를 이용한 연결이기에 조이콘을 뽑아보면, Led는 계속 왔다갔다 움직이고 있을겁니다.
우측도 마찬가지 입니다.
페어링 버튼을 눌러 Led를 점멸 시킨뒤에 ,
Joy-con(R)을 터치해서 연결을 완료해줍니다.
생각보다 연결은 너무 간단하군요.
안드로이드에서 홈 버튼도 잘 동작합니다.
해외쪽을 보니 드림캐스트를 제외한 애뮬레이터들을 여러가지 돌려보고 있는듯합니다.
기본적으로 넷플릭스나 유튜브등은 전부 사용이 가능한데 아무래도 NVIDIA의 기존 모델인 쉴드의 펌웨어를 베이스로 제작이 가능해서 그런게 아닌가 싶습니다.
12. 간단한 사용후기
태블릿에서 게임을 당연히 해보실텐데 일단 Play게임정도는 설치하고 시작하겠습니다.
한글 키보드를 위해 G보드를 설치합니다.
한글 키보드까지 설정해보니 , 터치도 나쁘지않고 안드로이드다 보니 딱히 설명할 것도 없습니다.
스위치 독에 한번 연결하고 유튜브를 감상해봤습니다.
연결도 빠르고 화면이 꺼지지않는 문제는 있지만 출력 전환은 바로바로 진행됩니다.
이걸 보니 KODI같은걸 세팅해다가 리모콘으로 조작해버리면, 기가 막히는 거실용 기기가 될수도? 라는 생각을 잠깐 해봤습니다.
안드로이드 게임은 잘 안하지만 설치는 한번 해봤습니다.
뭔가 좀 설치도 느리고 로딩도 길고 확실히 SD카드의 한계가 느껴지기는 합니다.
로딩들이 일단 기본적으로 굉장히 긴~편입니다.
아이고 패드를 지원안하는지 몰랐습니다.
터치 인터페이스로 조작이 가능하니 일반적인 큰 패블릿 스마트폰급은 될 것같네요.
의외로 테그라 X1칩셋의 호환성 문제인지 좀더 높은 비디오 옵션을 고를 수 없었습니다.
어떻게 하는지도 모르는데 예시로 스크린샷만 한번 찍어 보았습니다.
충전기에 꽂았지만, 역시 알려진 문제인 충전중 메세지는 나오지 않습니다.
잠시 만져보았으나, 아무래도 SD카드 교체라는 굉장히 귀찮은 작업이 포함되어 있어 , 유저들의 호응이 크지않을것으로 보입니다.
향후 eMMC를 64g로 교체후 반으로 나누어 사용하는 등의 수준은 되어야 본격 사용을 해볼것 같네요.
만족스러운 후기는 아니었으나 상황에 따라 쓸만할 수 도 있을 것 같습니다.
사실 안드로이드 보다는 보통은 유튜브를 주로 시청하는게 목적이니 그냥 정펌 유튜브 앱에 검색이 가능하게 한글 키보드나 좀 달아 줬으면 좋겠습니다.
긴 글 따라오느라 고생하셨습니다.
감사합니다.