프로젝트 소개

Side Screen은 안드로이드 태블릿을 Mac의 진정한 두 번째 디스플레이로 바꿔주는 오픈소스 도구입니다. 이는 macOS의 공백을 겨냥합니다. Apple의 Sidecar는 iPad에서만 작동하지만, 이 프로젝트를 통해 안드로이드 태블릿을 확장 화면으로 사용할 수 있습니다. 연결 옵션 - USB-C: 자동 adb-reverse 포트 포워딩을 사용하는 케이블 연결로, 가장 낮은 지연 시간의 경로라고 설명됩니다. - 무선: 일회성 QR 페어링 후 태블릿이 Mac을 기억하고 WiFi를 통해 자동으로 다시 연결됩니다. 인증 토큰은 Mac에서 로컬로 생성되며 접근을 취소하기 위해 재설정할 수 있습니다. 5 GHz WiFi를 권장합니다. 디스플레이 및 스트리밍 - macOS에 진정한 가상 디스플레이를 생성하므로 창을 미러링이 아닌 확장으로 태블릿에 끌어다 놓을 수 있습니다. - Mac에서 하드웨어 가속 H.265 인코딩, Android에서 디코딩하며 비동기 파이프라인을 사용합니다. README에는 프레임이 30ms 이내에 전달된다고 명시되어 있으며 USB에서 16ms 미만의 파이프라인 지연 시간을 언급합니다. - 네트워크 지연 시간을 보상하기 위한 터치 예측 기능이 있는 터치 입력. - HiDPI(Retina) 모드는 내부적으로 2배로 렌더링하여 텍스트와 아이콘을 더 선명하게 만듭니다. - 1 Gbps 비트레이트, 저지연 인코딩 및 120 FPS의 게이밍 모드 프리셋. - 설정 가능한 해상도(720p부터 8K까지, 프리셋 및 사용자 지정), 프레임률(30-120 FPS), 비트레이트(20-5000 Mbps) 및 품질 프리셋. 헤드리스 사용 버전 0.11.0부터 자체 디스플레이가 없는 Mac(Mac Studio, Mac mini 또는 클램셸 상태의 노트북)은 태블릿을 유일한 화면으로 사용하여 실행할 수 있습니다. 로그인 시 실행 및 자동 스트리밍 시작을 통해 Mac이 부팅 시 바로 태블릿에 서비스를 제공할 수 있습니다. 최초 설정에는 화면 녹화 권한을 부여하기 위해 한 번 화면이 필요합니다. 요구 사항 - Apple Silicon 또는 Intel에서 macOS 13(Ventura) 이상. - H.265 하드웨어 디코더가 있는 Android 8.0(API 26) 이상. - USB 모드에는 USB-C 포트, Mac에 설치된 adb, 태블릿에서 USB 디버깅이 활성화되어 있어야 합니다. - 무선 모드에는 두 장치가 같은 WiFi 네트워크에 있어야 하며, QR 스캔을 위한 카메라와 ML Kit 바코드 스캔을 위한 Google Play Services가 필요합니다. 설치 및 빌드 미리 빌드된 .dmg(macOS) 및 .apk(Android) 릴리스가 제공됩니다. macOS 앱은 공증되지 않았기 때문에 Gatekeeper가 손상되었다고 보고할 수 있습니다. README에서는 sudo xattr -cr /Applications/SideScreen.app 실행을 제안합니다. Mac에 ADB가 필요하며 Homebrew의 android-platform-tools cask를 통해 설치할 수 있습니다. 소스 빌드는 Mac 호스트의 경우 swift build -c release를, Android 클라이언트의 경우 ./gradlew assembleDebug를 사용합니다. 문제 해결 노트는 연결 거부 오류, 지연 시간 및 끊김, 무선 페어링 실패, 토큰 재설정, 전체 화면 앱 중 가상 디스플레이를 비울 수 있는 macOS의 "Displays have separate Spaces" 설정, 화면 녹화 권한 부여를 다룹니다. 이 프로젝트는 MIT 라이선스이며, 이슈와 풀 리퀘스트를 받고 선택적 기부 링크를 제공합니다.