FullStack은 OutputCore·SphericalWM·BoAYo 버전을 고정하고, SphericalWM이 ProjectionCore를 고정합니다. 현재 M=32 경로와 기존 M=16 자동 배포 경로는 별개입니다.
새 복제본에서 앱 실행
빠른 시작의 M=32 WM을 실행한 뒤, 보드의 다른 터미널에서 FullStack 루트를 기준으로 BoAYo를 실행합니다.
export PYTHONPATH="$PWD/components/bosio_SphericalWM/overlays/dual_projection/display_incremental:$PWD/components/bosio_SphericalWM/sw"
export BOAYO_STARTUP_DASHBOARD=1
cd components/BoAYO/boayo
/usr/local/share/pynq-venv/bin/python3 boayo_native_desktop.py --launcher --apps apps.json
이는 수동 실행 절차입니다. bosio_stack.py deploy-start는 기존 M=16 배포를 유지하므로 M=32 보드에 그대로 실행하면 다른 경로를 선택하게 됩니다.
검증된 보드의 자동 시작 구성
2026-10-18 검증 보드의 런타임은 /home/xilinx/bosio_boayo_m32_20261017, BoAYo는 그 아래 boayo/입니다. 비트스트림은 /home/xilinx/bosio_display_transform_20261017/bosio_output_projection_transform.bit와 같은 이름의 HWH를 사용합니다. 저장소의 기본 dual.bit/HWH도 같은 bytes입니다.
bosio-window-manager.service의 scanout.conf drop-in이 새 비트스트림을 선택합니다. boayo-desktop.service는 WM 소켓 준비를 기다리고 BOAYO_STARTUP_DASHBOARD=1로 Dashboard를 엽니다. 시작 대기 제한은 240초입니다. PL 로드와 HWH 처리 때문에 WM 준비에 약 46초 걸린 사례가 있어 서비스 active만 확인하고 즉시 준비 완료로 처리하지 않습니다.
서비스 파일은 WM 출력 설정과 BoAYo M=32 서비스에 있습니다. 특정 보드 경로를 기록한 파일이므로 새 보드에서는 먼저 런타임·드라이버·투영 helper·네이티브 라이브러리와 bit/HWH를 배치하고 실제 경로에 맞춰 설정해야 합니다. 복제만으로 그 절대 경로가 생성되지는 않습니다.
상태와 로그
systemctl is-active bosio-window-manager.service boayo-desktop.service
systemctl cat bosio-window-manager.service boayo-desktop.service
journalctl -u bosio-window-manager.service -u boayo-desktop.service -n 100 --no-pager
WM 상태에서 장면·IMU·VDMA 오류·HDMI 잠금·추가 underflow와 등록된 창을 확인합니다. 보드 시작 직후의 underflow 1회와 이후 증가를 구분하세요. DTF1 설정은 하드웨어 리셋 시 기본 방향으로 돌아오며 API 호출이 부팅 설정을 저장하지 않습니다.
업데이트할 때 함께 맞출 항목
bit와 HWH, OutputCore 드라이버, WM 런타임 및 submodule 버전을 함께 맞춥니다. 실행 중인 WM 외에 다른 프로세스가 Overlay를 로드하거나 투영 엔진을 직접 시험하지 않습니다. 기존 bit/HWH와 서비스 설정을 보관한 뒤 교체하고, 복구할 때도 해당 버전의 드라이버·서비스를 함께 복원합니다. 최신 검증 커밋·해시를 기준으로 확인하세요.