본문으로 건너뛰기

Windows PC (RTX 5090) 셋업 할일

역할: GPU 공장 — ComfyUI (이미지 생성), ACE-Step (BGM 생성), jsfxr (SFX), Godot 빌드 전제: Windows 10/11 + NVIDIA RTX 5090 (32GB VRAM)


Phase 0-A: 기본 도구 일괄 설치 (winget)

# 1. Python 3.12+ (ComfyUI + CUDA 12.x 최적 호환)
winget install Python.Python.3.12

# 2. Git
winget install Git.Git

# 3. Node.js LTS (jsfxr용)
winget install OpenJS.NodeJS.LTS

# 4. FFmpeg
winget install Gyan.FFmpeg

# 5. Godot 4.x (Standard, GDScript 전용)
winget install GodotEngine.GodotEngine

# 6. Tailscale
winget install Tailscale.Tailscale

설치 완료 후 새 PowerShell 창을 열고 전부 확인:

python --version   # Python 3.12.x+
git --version # git version 2.x.x
node --version # v20.x.x+ (LTS)
ffmpeg -version # ffmpeg version N-xxxxx...
godot --version # 4.4.1.stable (버전은 다를 수 있음)
tailscale status # 로그인 전이면 "Logged out" 표시
  • CUDA Toolkit 12.6+ 설치 (winget에 없음 — 수동 설치)
    1. https://developer.nvidia.com/cuda-downloads 에서 12.6 이상 버전을 설치
    2. 확인:
    nvcc --version    # CUDA compilation tools, release 12.6+
    nvidia-smi # GPU 상태 + 드라이버 버전 표시 (Driver 560+)

Phase 0-B: ComfyUI + ComfyUI Manager 설치

  • ComfyUI 클론 및 설치

    git clone https://github.com/comfyanonymous/ComfyUI
    cd ComfyUI
    pip install -r requirements.txt
  • ComfyUI Manager 설치

    cd custom_nodes
    git clone https://github.com/ltdrdata/ComfyUI-Manager.git
    cd ..
  • 실행 확인

    python main.py --listen 0.0.0.0 --port 8188
    # 브라우저에서 http://localhost:8188 접속
    # 우측 하단 "Manager" 버튼 보이면 성공

Phase 0-C: 모델 다운로드

원칙: 브라우저에서 직접 다운로드 → 해당 폴더에 넣기. CLI/Manager 자동 다운로드는 Gated 권한 문제로 실패할 수 있음.

① 체크포인트 (Checkpoint) — ComfyUI/models/checkpoints/

상태파일명크기용도다운로드 링크
sd3.5_medium.safetensors~5.1GB캐릭터/적/타일셋/이펙트HuggingFace
sd3.5_large.safetensors~11.1GB보스 스프라이트HuggingFace

HuggingFace 로그인 + 모델 동의(Accept) 필요 (Gated 모델)

② UNET (GGUF) — ComfyUI/models/unet/

상태파일명크기용도다운로드 링크
flux1-dev-Q8_0.gguf~12.7GB컨셉아트HuggingFace

③ CLIP — ComfyUI/models/clip/

상태파일명크기용도다운로드 링크
clip_l.safetensors~246MB전체 워크플로우HuggingFace
clip_g.safetensors~1.4GBSD 3.5 전체HuggingFace
t5xxl_fp8_e4m3fn.safetensors~4.89GB전체 워크플로우HuggingFace

④ VAE — ComfyUI/models/vae/

상태파일명크기용도다운로드 링크
ae.safetensors~335MBFLUX 컨셉아트HuggingFace

⑤ ControlNet — ComfyUI/models/controlnet/

상태파일명크기용도다운로드 링크
sd3.5_large_controlnet_canny.safetensors~8.65GBCanny 외곽선 보정HuggingFace
sd3.5_large_controlnet_depth.safetensors~8.65GBDepth 깊이 보정HuggingFace

⑥ 커스텀 노드 — ComfyUI Manager → Install Custom Nodes

상태노드명용도
ComfyUI-GGUFgguf 모델 로드 (UnetLoaderGGUF 노드)
ComfyUI-PixelArt-Detector픽셀아트 팔레트 적용 + 다운스케일/업스케일

워크플로우별 필요 모델 매핑

워크플로우체크포인트/UNETCLIPVAEVRAM
pixel_character.jsonsd3.5_mediumclip_l + clip_g + t5xxl(내장)~8GB
pixel_enemy.jsonsd3.5_mediumclip_l + clip_g + t5xxl(내장)~8GB
pixel_tileset.jsonsd3.5_mediumclip_l + clip_g + t5xxl(내장)~8GB
pixel_effect.jsonsd3.5_mediumclip_l + clip_g + t5xxl(내장)~8GB
pixel_boss.jsonsd3.5_largeclip_l + clip_g + t5xxl(내장)~16GB
concept_art.jsonflux1-dev-Q8_0.ggufclip_l + t5xxlae.safetensors~16GB

VRAM 스케줄링 가이드 (RTX 5090, 32GB)

작업모델VRAM 사용량동시 실행
컨셉아트FLUX.1 Dev Q8_0~16GB✅ ACE-Step (~4GB) 병렬 가능
픽셀아트 스프라이트SD 3.5 Medium~8GB✅ ACE-Step 병렬 가능 (여유 ~20GB)
고품질 스프라이트SD 3.5 Large~16GB✅ ACE-Step 병렬 가능 (여유 ~12GB)
ControlNet 보정SD 3.5 Large + Canny/Depth~18GB✅ ACE-Step 병렬 가능 (여유 ~10GB)
BGMACE-Step 1.5~4GB✅ SD 3.5 병렬 가능

32GB VRAM이므로 대부분의 조합에서 ACE-Step 병렬 실행 가능. FLUX + SD 3.5 동시 실행만 피하면 됨 (모델 2개 동시 로드 = VRAM 초과).


Phase 0-D: ComfyUI 워크플로우 배치

  • 워크플로우 JSON 파일을 ComfyUI/workflows/ 폴더에 배치
    • pixel_character.json — 캐릭터 스프라이트
    • pixel_enemy.json — 적 스프라이트
    • pixel_boss.json — 보스 스프라이트
    • pixel_tileset.json — 타일셋
    • pixel_effect.json — 이펙트
    • concept_art.json — Flux 컨셉아트

워크플로우 JSON 파일은 docs/comfyui_workflows/ 디렉토리에 있음 (별도 문서 참조)


Phase 0-E: ACE-Step 1.5 설치

  • 클론 및 설치

    git clone https://github.com/ace-step/ACE-Step-v1-5.git
    cd ACE-Step-v1-5[server_tray.py](../../../ai_server/server_tray.py)

    pip install uv
    uv sync[server_tray.py](../../../ai_server/server_tray.py)
  • API 서버 실행 확인

    uv run acestep --enable-api --port 8189
    # http://localhost:8189 접속 확인

Phase 0-F: jsfxr 설치

  • 설치 및 확인
    npm install -g jsfxr
    jsfxr --help

Phase 0-G: Tailscale 로그인 및 연결

Phase 0-A에서 이미 winget install Tailscale.Tailscale로 설치 완료.

  • Tailscale 로그인 (Mac과 동일 계정)

    tailscale login
    # 브라우저가 열림 → Google/GitHub/Microsoft 등으로 로그인
  • 연결 확인

    tailscale status
    # Mac 기기가 "online"으로 보이면 성공
    tailscale ip -4
    # 100.x.x.x 형태의 IP 출력 → 메모
  • Tailscale IP 메모 → Mac의 .envWIN_PC_IP=100.x.x.x 설정


Phase 0-H: OpenSSH 서버

  • OpenSSH 서버 활성화

    # 관리자 PowerShell
    Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
    Start-Service sshd
    Set-Service -Name sshd -StartupType 'Automatic'
  • 방화벽 규칙

    New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
  • Mac에서 SSH 접속 확인

    ssh <WIN_PC_USER>@<WIN_PC_IP>

Phase 0-I: WoL (Wake-on-LAN) 설정

  • BIOS 설정

    • BIOS 진입 → Power Management → Wake-on-LAN 활성화
  • Windows 네트워크 어댑터 설정

    • 장치 관리자 → 네트워크 어댑터 → 속성
    • 전원 관리 → "이 장치가 컴퓨터의 대기 모드를 해제할 수 있음" 체크
    • 고급 → "매직 패킷으로 깨우기" = 활성화
  • MAC 주소 확인

    ipconfig /all
    # 물리적 주소 메모 → Mac의 .env에 WIN_PC_MAC 설정

Phase 0-J: 자동 시작 (Windows 작업 스케줄러)

  • ComfyUI API 서버 자동 시작

    • 작업 스케줄러 → 새 작업 만들기
    • 트리거: 로그온 시
    • 동작: python D:\ComfyUI\main.py --listen 0.0.0.0 --port 8188
  • ACE-Step API 서버 자동 시작

    • 트리거: 로그온 시
    • 동작: uv run acestep --enable-api --port 8189
    • 시작 위치: D:\ACE-Step-v1-5\
  • Tailscale 자동 연결

    • Tailscale 설치 시 기본적으로 서비스 자동 시작
  • OpenSSH 자동 시작

    • 이미 Phase 0-H에서 Set-Service -StartupType 'Automatic' 설정 완료

Phase 0-K: 연동 테스트

  • Mac에서 ComfyUI API 호출 테스트

    curl http://$WIN_PC_IP:8188/system_stats
  • Mac에서 ACE-Step API 호출 테스트

    curl http://$WIN_PC_IP:8189/health
  • Mac에서 SSH 원격 명령 테스트

    ssh $WIN_PC_USER@$WIN_PC_IP "nvidia-smi"
  • WoL 테스트 (Win PC를 절전으로 보낸 후)

    # Mac에서
    ~/bin/wake-win-pc.sh
  • 절전 명령 테스트

    ssh $WIN_PC_USER@$WIN_PC_IP "shutdown /h"

모든 Phase 0 항목이 완료되면 Mac의 Agent Teams에서 GPU 파이프라인 사용 가능.