본문 바로가기
Tech & Hobby/Game

[Game] RetroArch 설정 및 최적화 가이드: 올인원 에뮬레이터 완벽 활용법

by 수누다 2026. 5. 16.

수백 개의 에뮬레이터를 하나로? RetroArch를 처음 만났을 때

몇 년 전에 홈랩 한쪽 구석에 미니 PC 하나를 세팅하면서 레트로 게임 에뮬레이션 환경을 다시 구축하려고 했었는데요. 그때 처음 RetroArch(레트로아크)를 제대로 파보기 시작했습니다. 그 전까지는 ZSNES, ePSXe, Project64 같은 개별 에뮬레이터를 각각 따로 깔아서 쓰던 스타일이었거든요. 근데 RetroArch를 써보니까 "아, 이게 진작에 나왔어야 했는데" 싶더라고요.

그런데 막상 처음 실행해보면... 솔직히 UI가 좀 당황스럽습니다. 설정 메뉴가 수십 개고, 영어 용어도 낯설고, 어디서부터 시작해야 할지 모르겠는 느낌. 저도 처음엔 꽤 헤맸거든요. 그래서 이번 글에서는 RetroArch 설정을 처음 하는 분들부터 어느 정도 쓰고 있는데 최적화가 안 된 분들까지, 제가 직접 삽질하면서 쌓은 경험을 바탕으로 정리해드리려고 합니다.

RetroArch의 기본 XMB(크로스 미디어 바) 인터페이스 — 처음 보면 낯설지만, 익숙해지면 정말 편합니다.

RetroArch란 무엇인가요? 핵심 개념 정리

에뮬레이터가 아니라 프론트엔드(Frontend)

여기서 중요한 포인트! RetroArch는 엄밀히 말하면 에뮬레이터 자체가 아닙니다. 프론트엔드(Frontend, 통합 실행 환경)예요. 쉽게 말해서, 에뮬레이터들을 한 곳에서 관리하고 실행해주는 '런처 + 관리 도구'라고 보시면 됩니다.

실제 에뮬레이션은 코어(Core)라는 플러그인이 담당합니다. 예를 들어 슈퍼패미컴(SNES)을 돌리고 싶으면 Snes9x 코어나 bsnes 코어를 불러오고, 플레이스테이션 1을 돌리고 싶으면 Beetle PSX 코어를 불러오는 식이죠. 이 구조 덕분에 하나의 인터페이스에서 수십 개의 플랫폼을 관리할 수 있는 겁니다.

개념 설명 예시
RetroArch 통합 프론트엔드 (실행 환경) 앱 자체
Core (코어) 실제 에뮬레이션 플러그인 Snes9x, Beetle PSX, mGBA 등
ROM 게임 이미지 파일 .sfc, .bin, .iso 등
Libretro API 코어와 RetroArch를 연결하는 인터페이스 공통 규격
Shader (셰이더) 화면 후처리 필터 (CRT 효과 등) CRT-Royale, xBR 등

어떤 플랫폼에서 쓸 수 있나요?

RetroArch는 Windows, macOS, Linux, Android, iOS(사이드로드), Raspberry Pi 등 다양한 플랫폼에서 돌아갑니다. 크로스 플랫폼 지원이 정말 넓어요. 저는 주로 Windows 11 PC와 Raspberry Pi 4에서 사용하고 있는데, 설정 구조가 동일해서 한 번 익히면 어디서든 편합니다.

RetroArch 설치 및 초기 설정 단계별 가이드

1단계: 다운로드 및 설치

공식 사이트(retroarch.com)에서 본인 OS에 맞는 버전을 다운받으시면 됩니다. Windows 기준으로는 설치형 인스톨러와 포터블(Portable) 버전 두 가지가 있는데, 저는 포터블 버전을 강력 추천합니다. 폴더 하나에 모든 게 들어있어서 나중에 이사하거나 백업할 때 훨씬 편하거든요.

# 포터블 버전 압축 해제 후 폴더 구조 예시
RetroArch/
├── retroarch.exe          # 메인 실행 파일
├── retroarch.cfg          # 설정 파일
├── cores/                 # 코어 파일들 (.dll)
├── system/                # BIOS 파일 위치
├── saves/                 # 세이브 파일
├── screenshots/           # 스크린샷
└── shaders/               # 셰이더 파일들

2단계: 코어(Core) 설치

RetroArch를 처음 실행하면 코어가 하나도 없는 상태입니다. 코어를 설치하는 방법은 두 가지예요.

  1. 온라인 업데이터 사용 (추천): 메인 메뉴 → 온라인 업데이터(Online Updater)코어 다운로더(Core Downloader) → 원하는 플랫폼 선택
  2. 수동 설치: Libretro 빌드봇에서 .dll(Windows) 또는 .so(Linux) 파일을 받아서 cores/ 폴더에 넣기

인터넷이 연결된 환경이라면 온라인 업데이터가 훨씬 편합니다. 플랫폼별 추천 코어를 정리해드릴게요.

플랫폼 추천 코어 특징
슈퍼패미컴 (SNES) Snes9x 호환성·성능 균형 우수
패미컴 (NES/FC) Nestopia UE 정확도 높음
게임보이 어드밴스 (GBA) mGBA 현재 가장 정확한 GBA 에뮬레이터
플레이스테이션 1 (PS1) Beetle PSX HW 하드웨어 렌더링 지원
닌텐도 64 (N64) Mupen64Plus-Next 안정성·호환성 우수
메가드라이브 (Genesis) Genesis Plus GX 정확도 매우 높음
닌텐도 DS (NDS) melonDS 최신 개발 활발

3단계: BIOS 파일 설정

⚠️ 주의사항: 일부 코어(특히 PS1, 세가 새턴, 게임보이 등)는 BIOS 파일이 없으면 게임이 실행되지 않거나 정확도가 떨어집니다. BIOS 파일은 법적으로 본인이 소유한 기기에서 추출해야 합니다.

BIOS 파일 위치는 RetroArch 설치 폴더 안의 system/ 폴더입니다. 파일명이 정확해야 인식되니까, 코어별 요구 파일명을 확인하고 맞춰서 넣어주세요.

# PS1 BIOS 파일 위치 예시 (파일명 정확히 맞춰야 함)
RetroArch/system/
├── scph5500.bin   # PS1 일본판 BIOS
├── scph5501.bin   # PS1 북미판 BIOS
└── scph5502.bin   # PS1 유럽판 BIOS

BIOS가 제대로 인식되는지 확인하려면: 메인 메뉴 → 시스템 정보(System Information) → RetroArch 로그에서 확인하거나, 온라인 업데이터 → BIOS 파일 확인(Check for Missing Firmware) 기능을 쓰시면 됩니다. 이거 진짜 편하더라고요.

RetroArch 비디오 설정 화면 — 여기서 셰이더, 해상도 스케일링, V-Sync 등을 조정할 수 있습니다.

RetroArch 핵심 설정 및 성능 최적화

비디오(Video) 설정 최적화

게임 성능과 화질에 가장 직접적인 영향을 주는 부분입니다. 설정(Settings) → 비디오(Video)에서 조정하시면 돼요.

비디오 드라이버(Video Driver) 선택이 중요합니다. Windows에서는 보통 d3d11 또는 vulkan이 성능이 좋고, Linux에서는 vulkan이나 glcore를 추천합니다. gl 드라이버는 호환성은 좋지만 성능이 좀 떨어질 수 있어요.

# retroarch.cfg 주요 비디오 설정 예시
video_driver = "d3d11"           # Windows 권장 드라이버
video_fullscreen = "true"        # 전체화면 모드
video_windowed_fullscreen = "true" # 창 전체화면 (보더리스)
video_vsync = "true"             # V-Sync 활성화
video_max_swapchain_images = "3" # 트리플 버퍼링
video_scale_integer = "false"    # 정수 배율 스케일링
video_aspect_ratio = "-1"        # 코어 기본 종횡비 사용

오디오(Audio) 설정

오디오 레이턴시(Audio Latency, 소리 지연)가 너무 크면 게임 플레이감이 떨어지고, 너무 작으면 끊김이 생깁니다. 기본값은 보통 64ms인데, 시스템 성능이 충분하다면 32ms 정도로 낮춰도 됩니다.

# 오디오 설정 예시
audio_driver = "wasapi"    # Windows 권장 (저지연)
audio_latency = "32"       # 레이턴시 ms (기본 64, 낮을수록 지연 감소)
audio_rate_control = "true" # 동적 레이트 제어 (끊김 방지)

입력(Input) 설정 — 컨트롤러 매핑

컨트롤러 매핑은 처음에 좀 헷갈릴 수 있는데요. RetroArch는 RetroPad라는 가상 컨트롤러 레이어를 사용합니다. 실제 컨트롤러 → RetroPad → 코어(에뮬레이터) 순으로 입력이 전달되는 구조예요.

Xbox나 PlayStation 계열 컨트롤러는 대부분 자동 인식되는데, 간혹 버튼 배열이 이상하게 잡힐 때가 있습니다. 그럴 때는 설정 → 입력 → 포트 1 바인딩에서 수동으로 매핑해주세요.

💡 : 핫키(Hotkey) 설정을 꼭 해두세요. 기본적으로 Select 버튼을 핫키 활성화 버튼으로 지정하고, Select+Start = 게임 종료, Select+L = 상태 저장, Select+R = 상태 불러오기 같은 식으로 설정해두면 정말 편합니다.

셰이더(Shader) 설정 — CRT 필터로 레트로 감성 살리기

이 부분이 RetroArch의 백미라고 생각하는데요. 셰이더를 통해 옛날 CRT 모니터 느낌이나 픽셀 업스케일링 효과를 줄 수 있습니다. 게임 성능 최적화와는 반대 방향이지만, 감성적으로는 정말 좋거든요.

셰이더 적용 방법: 빠른 메뉴(Quick Menu) → 셰이더(Shaders) → 셰이더 불러오기(Load Shader Preset)

셰이더 종류 특징 성능 부하 추천 대상
CRT-Royale 고품질 CRT 시뮬레이션 높음 고사양 PC
CRT-Geom 기본 CRT 효과 중간 일반 PC
xBR / xBRZ 픽셀 아트 업스케일링 낮음~중간 선명한 화질 선호
ScaleFX 스무스 업스케일링 중간 부드러운 화질 선호
FXAA / SMAA 안티에일리어싱 낮음 3D 게임 (PS1, N64)

저는 패미컴·슈퍼패미컴 게임은 CRT-Geom, GBA 게임은 xBRZ 조합을 주로 씁니다. 성능 부하가 적으면서도 꽤 그럴듯한 느낌이 나거든요.

상태 저장/불러오기 (Save States) 및 리와인드(Rewind)

리와인드(Rewind) 기능은 진짜 신기한 기능인데요. 게임 중에 실수했을 때 시간을 되감을 수 있습니다. 다만 이 기능은 메모리를 꽤 많이 씁니다. 설정 방법은 설정 → 리와인드(Rewind)에서 활성화하고, 리와인드 버퍼 크기를 설정하면 돼요.

⚠️ 주의: 리와인드 기능은 일부 코어에서 성능 저하를 유발할 수 있습니다. 특히 N64나 PS1처럼 처리량이 많은 시스템에서는 끄는 걸 권장합니다.

자주 겪는 문제와 트러블슈팅

⚠️ 문제 1: 게임이 느리거나 프레임이 떨어져요

가장 흔한 문제입니다. 체크해볼 것들:

  1. 비디오 드라이버 변경: d3d11 또는 vulkan으로 바꿔보세요. 특히 gl 드라이버를 쓰고 있다면 교체 효과가 큽니다.
  2. 셰이더 비활성화: 무거운 셰이더(CRT-Royale 등)를 끄면 즉시 성능 개선됩니다.
  3. 리와인드 기능 비활성화: 앞서 말씀드린 것처럼 메모리 부하가 큽니다.
  4. 코어 변경: 같은 플랫폼이라도 코어마다 성능이 다릅니다. 예를 들어 N64는 Mupen64Plus-Next 대신 ParaLLEl-N64를 써보거나, 반대로도 해보세요.

⚠️ 문제 2: 소리가 끊기거나 노이즈가 있어요

오디오 드라이버를 wasapi(Windows)로 바꾸고, audio_rate_control = true로 설정해보세요. 그래도 안 되면 레이턴시 값을 64ms 이상으로 올려보는 것도 방법입니다.

⚠️ 문제 3: 컨트롤러가 인식은 되는데 버튼이 이상해요

이건 저도 꽤 삽질했습니다 ㅎㅎ. 자동 감지된 컨트롤러 프로파일이 잘못 매핑된 경우인데요. 설정 → 입력 → 포트 1 바인딩에서 수동으로 하나씩 다시 잡아주거나, 설정 → 입력 → 컨트롤러 프로파일에서 다른 프로파일을 선택해보세요.

⚠️ 문제 4: 세이브가 안 돼요 (SRAM 세이브)

RetroArch에는 두 종류의 저장 방식이 있습니다. 상태 저장(Save State)SRAM 세이브(인게임 저장). 인게임 저장이 안 된다면 설정 → 저장 디렉토리 경로가 올바른지 확인해보세요. 또한 게임 종료 시 자동으로 SRAM을 저장하려면 설정 → 저장 → SRAM 자동저장을 활성화해두는 게 좋습니다.

CRT 셰이더를 적용한 레트로 게임 실행 화면 — 옛날 브라운관 TV 느낌이 살아납니다.

RetroArch 고급 활용 팁

플레이리스트(Playlist)와 썸네일(Thumbnail) 설정

ROM 파일들을 정리해서 게임 목록을 만들고, 게임 커버 이미지까지 자동으로 가져올 수 있습니다. 메인 메뉴 → 플레이리스트 임포트(Import Content)에서 ROM 폴더를 스캔하면 자동으로 플레이리스트가 생성되고, 온라인 업데이터 → 썸네일 업데이터(Thumbnail Updater)로 커버 이미지도 받을 수 있어요. 이렇게 하면 진짜 게임 런처처럼 보이거든요. 🎉

오버레이(Overlay) 설정 — 모바일/터치 환경

안드로이드나 태블릿에서 RetroArch를 쓴다면 오버레이(Overlay) 기능으로 화면에 가상 버튼을 표시할 수 있습니다. 설정 → 오버레이(On-Screen Overlay)에서 활성화하고 원하는 스킨을 선택하면 돼요.

넷플레이(Netplay) — 온라인 멀티플레이

RetroArch에는 넷플레이(Netplay) 기능이 내장되어 있어서 인터넷으로 레트로 게임 멀티플레이가 가능합니다. 메인 메뉴 → 넷플레이(Netplay)에서 호스트를 만들거나 참가할 수 있어요. 다만 레이턴시에 민감한 게임(격투 게임 등)은 핑이 낮은 환경이 아니면 좀 힘들 수 있습니다.

설정 파일 백업 및 동기화

포터블 버전을 쓰면 설정 파일이 모두 retroarch.cfg 하나에 집약됩니다. 이 파일과 config/ 폴더(코어별 개별 설정)를 주기적으로 백업해두면 나중에 새 PC로 이전할 때 훨씬 편합니다. 저는 이걸 Syncthing으로 NAS에 자동 동기화해두고 있거든요.

# 백업 필수 항목
RetroArch/
├── retroarch.cfg          # 전체 설정
├── config/                # 코어별 개별 설정
├── saves/                 # 세이브 파일
├── states/                # 상태 저장 파일
└── playlists/             # 플레이리스트

정리 및 마무리 — RetroArch 최적화 체크리스트

RetroArch 설정 최적화 핵심 체크리스트 — 이 순서대로 점검하면 대부분의 문제가 해결됩니다.

인프라 일을 하면서 느끼는 건데, 어떤 시스템이든 처음 설정할 때 기초를 제대로 잡아두면 나중에 삽질할 일이 줄어들더라고요. RetroArch도 마찬가지입니다. 처음에 코어 선택, BIOS 설정, 비디오 드라이버 최적화만 제대로 해두면 그 다음부터는 진짜 편하게 쓸 수 있습니다.

✅ RetroArch 설정 최적화 핵심 체크리스트

  • ✅ 포터블 버전으로 설치 (이동·백업 편의)
  • ✅ 비디오 드라이버: Windows는 d3d11 또는 vulkan
  • ✅ 플랫폼별 최적 코어 선택 (위 표 참고)
  • ✅ BIOS 파일 system/ 폴더에 정확한 파일명으로 배치
  • ✅ 오디오 드라이버: wasapi + audio_rate_control = true
  • ✅ 핫키 설정 (상태 저장/불러오기, 게임 종료)
  • ✅ 셰이더는 취향껏 (성능 여유 있을 때만 무거운 셰이더 적용)
  • ✅ 플레이리스트 + 썸네일로 깔끔한 게임 목록 구성
  • ✅ 설정 파일 정기 백업

자주 묻는 질문 (FAQ)

Q. RetroArch는 무료인가요?
A. 네, 완전히 무료이고 오픈소스입니다. GPLv3 라이선스로 공개되어 있습니다.

Q. ROM 파일은 어디서 구하나요?
A. RetroArch 자체는 합법적인 소프트웨어이지만, ROM 파일은 본인이 소유한 게임 카트리지에서 직접 추출하는 것이 원칙입니다. 법적 사항은 각자 확인하시기 바랍니다.

Q. 저사양 PC에서도 쓸 수 있나요?
A. 패미컴, 슈퍼패미컴, 게임보이 같은 구형 콘솔은 매우 낮은 사양에서도 잘 돌아갑니다. Raspberry Pi 4 정도면 PS1까지는 무난하게 돌릴 수 있어요.

Q. 코어마다 설정을 다르게 할 수 있나요?
A. 가능합니다. 빠른 메뉴 → 설정 오버라이드 저장(Save Core Overrides)으로 코어별, 심지어 게임별로 다른 설정을 적용할 수 있어요.

다음에는 RetroArch를 Raspberry Pi에 최적화하는 방법과 RetroPie와의 차이점에 대해서도 다뤄볼 예정입니다. 혹시 특정 플랫폼이나 기능에 대해 더 자세히 알고 싶은 게 있으시면 댓글로 남겨주세요! 😊