돌핀 (에뮬레이터)
1. 개요
돌핀은 2003년 출시된 닌텐도 게임큐브 및 Wii 에뮬레이터로, 상용 게임 구동을 목표로 개발되었다. 2008년 오픈 소스화 이후 Wii 에뮬레이션 기능을 추가하고, 지속적인 개발을 통해 성능과 호환성을 향상시켰다. 안드로이드 버전 출시, 64비트 지원, 32비트 지원 중단 등 다양한 변화를 거쳤으며, 2016년에는 모든 공식 게임큐브 타이틀 부팅을 지원하게 되었다. 2023년에는 닌텐도의 법적 문제로 인해 Steam 출시가 무산되었으나, 현재는 롤링 릴리스 주기로 업데이트를 진행하고 있다. 돌핀은 지역 제한 해제, 치트 기능, 넷플레이 지원 등 다양한 기능을 제공하며, 게임큐브와 Wii 게임을 고해상도로 즐길 수 있다는 점에서 긍정적인 평가를 받고 있다.
이미지 준비중입니다.
| 개발자 | F|RES, Henrik Rydgård (ector) |
|---|---|
| 개발 | 돌핀 에뮬레이터 프로젝트 |
| 최초 릴리스 | 2003년 9월 22일 |
| 최신 릴리스 버전 | 2409 |
| 최신 릴리스 날짜 | 2024년 9월 12일 |
| 리포지토리 | 돌핀 GitHub 리포지토리 |
| 프로그래밍 언어 | C++, C |
| 지원 운영 체제 | 윈도우 10 이상 macOS 카탈리나 10.15 이상 리눅스 안드로이드 5.0 이상 (64비트 전용) Xbox One Xbox Series X and Series S |
| 지원 플랫폼 | x86-64 ARM64 |
| 언어 | 24개 언어 |
| 종류 | 비디오 게임 콘솔 에뮬레이터 |
| 라이선스 | GNU GPL 버전 2+ |
| 웹사이트 | 돌핀 에뮬레이터 공식 웹사이트 |
| 운영 체제 | 윈도우 10 64비트 이상 macOS 카탈리나 10.15 이상 최신 64비트 데스크톱 리눅스 |
|---|---|
| 중앙 처리 장치 (CPU) | x86-64 CPU (SSE2 지원) |
| 권장 CPU | 인텔: 인텔 코어 i5-4670K 또는 동급 AMD: 모든 Ryzen CPU 또는 그 이상 |
| 권장 CPU (ARM64) | 스냅드래곤 8cx 또는 동급 |
| 메모리 (RAM) | 2 GB 이상 |
| 그래픽 처리 장치 (GPU) | 픽셀 셰이더 3.0, Direct3D 10 또는 OpenGL 3 지원 |
| 권장 GPU | 최신 Direct3D 11.1, OpenGL 4.4 또는 Vulkan GPU |
| 입력 장치 | 모든 PC 입력 장치 (기본: 마우스, 키보드 (Wii), 마우스 (게임큐브)) |
| 권장 입력 장치 | 오리지널 닌텐도 게임큐브 컨트롤러 (USB 어댑터 포함) 돌핀바(DolphinBar)를 통한 오리지널 닌텐도 Wii 리모컨 |
| 운영 체제 | 안드로이드 5.0 이상 |
|---|---|
| 권장 운영 체제 | 안드로이드 10 이상 |
| 메모리 (RAM) | 1 GB |
| 권장 메모리 (RAM) | 4 GB |
| 중앙 처리 장치 (CPU) | AArch64 |
| 권장 CPU | 스냅드래곤 835 또는 동급 |
| 그래픽 처리 장치 (GPU) | OpenGL ES 3.0 |
| 권장 GPU | 아드레노 540 또는 동급 (OpenGL ES 3.2 및 Vulkan 지원) |
-
윈도우 에뮬레이션 소프트웨어 -
QEMU
QEMU는 여러 컴퓨터 아키텍처를 에뮬레이션하는 자유-오픈 소스 소프트웨어로, 사용자 모드 및 시스템 에뮬레이션 모드를 제공하며, 가상 머신 하이퍼바이저 지원과 다양한 디스크 이미지 형식을 지원한다. -
윈도우 에뮬레이션 소프트웨어 -
Cemu
-
자유 에뮬레이션 소프트웨어 -
커널 기반 가상 머신
커널 기반 가상 머신(KVM)은 리눅스 커널의 가상화 확장 기능으로, CPU와 메모리 가상화를 지원하며 QEMU와 함께 완전한 가상화 솔루션을 구성하고 다양한 관리 도구를 제공한다. -
자유 에뮬레이션 소프트웨어 -
버추얼박스
버추얼박스(VirtualBox)는 오라클이 개발한 가상화 소프트웨어로, 단일 운영 체제 내에서 여러 게스트 운영 체제를 실행할 수 있으며, 핵심 패키지는 자유 소프트웨어로 제공된다. -
공식 웹사이트에 알 수 없는 변수를 사용한 문서 -
브루클린 미술관
브루클린 미술관은 1823년 브루클린 견습생 도서관으로 시작하여 현재 약 50만 점의 소장품을 보유한 뉴욕 브루클린 소재의 미술관으로, 다양한 분야의 예술 작품을 전시하며 특히 아프리카 미술과 여성주의 미술에 대한 기여가 크다. -
공식 웹사이트에 알 수 없는 변수를 사용한 문서 -
광주지방기상청
광주지방기상청은 광주광역시와 전라남도 지역의 기상 예보, 특보, 관측, 기후 정보 제공 등의 업무를 수행하는 기상청 소속 기관으로, 1949년 광주측후소로 설치되어 1992년 광주지방기상청으로 개편되었으며, 기획운영과, 예보과, 관측과, 기후서비스과와 전주기상지청, 목포기상대를 두고 있다.
2. 역사
돌핀은 2003년 헨릭 리드가드(Henrik Rydgard)와 F|RES에 의해 처음 개발된 닌텐도 게임큐브 에뮬레이터이다. 초기에는 실험적인 수준으로 시작하여 기본적인 게임 구동에 초점을 맞추었다. 2008년 오픈 소스 프로젝트로 전환되면서 커뮤니티의 참여를 통해 개발 속도가 빨라졌고, Wii 에뮬레이션 기능이 추가되는 등 중요한 발전을 이루었다.
이후 꾸준한 업데이트를 통해 호환성, 성능, 정확도가 지속적으로 개선되었다. 주요 버전 릴리스(2.0, 3.0, 3.5, 4.0, 5.0 등)를 거치며 다양한 기능 추가와 개선이 이루어졌고, 2013년에는 안드로이드 플랫폼으로도 확장되었다. 개발 과정에서 Direct3D 9 및 32비트 빌드와 같은 오래된 기술 지원을 중단하고, Vulkan, Metal 등 최신 그래픽 API를 도입하며 기술적인 발전을 거듭했다. 또한 셰이더 컴파일 끊김 현상 개선, mGBA 통합을 통한 GBA 연동 지원 등 사용자 경험 향상을 위한 노력도 계속되었다.
2023년에는 Steam 플랫폼 출시를 시도했으나, 닌텐도와의 법적 문제로 인해 무산되는 사건도 있었다. 돌핀은 현재까지도 활발하게 개발이 진행 중인 대표적인 게임 콘솔 에뮬레이터 중 하나이다.
2.1. 기원 (2003년 ~ 2007년)
2003년 9월 22일, 프로그래머 헨릭 리드가드(Henrik Rydgard, 닉네임 ector)와 F|RES에 의해 처음 출시되었다. 이는 상용 게임을 구동할 수 있는 실험적인 닌텐도 게임큐브 에뮬레이터였다. 초기 버전은 오디오를 에뮬레이션하지 못했고, 성능 문제가 심각하여 많은 게임이 시작 시 충돌하거나 제대로 실행되지 않았다. 평균 속도는 초당 2~20 프레임 레이트(FPS) 수준이었다. 에뮬레이터의 이름 '돌핀'은 닌텐도 게임큐브의 개발 코드명에서 유래했다.
돌핀 개발은 2004년 12월에 공식적으로 일시 중단되었으며, 이때 마지막으로 공개된 버전은 1.01이었다. 이후 개발자들은 2005년 10월에 프로젝트를 재개했다. 2007년에 공개된 버전 1.03부터는 오디오 재생을 지원하기 시작했다.
2.2. 오픈 소스, Wii 에뮬레이터, 2.0 릴리스 (2008년 ~ 2010년)
2008년 7월 13일, 돌핀은 오픈 소스 프로젝트가 되었고, 개발자들은 구글 코드의 SVN 저장소에 GPLv2 라이선스로 소스 코드를 공개했다. 이때 에뮬레이터는 기본적인 Wii 에뮬레이션 기능을 갖추고 있었으며, 제한적인 리눅스 호환성과 wxWidgets를 이용한 새로운 GUI를 제공했다. 오픈 소스화 이후 많은 개발자들이 프로젝트에 참여하면서 개발이 활발해졌고, 정기적으로 SVN 빌드가 공개되었다. 이 빌드들은 버전 번호 대신 리비전 번호(예: RXXXX)를 사용했으며, 연속된 빌드 간의 차이는 크지 않았다.
2009년 2월에는 공식 Wii 시스템 메뉴 v1.0을 성공적으로 구동하는 중요한 성과를 이루었고, 이후 거의 모든 버전의 Wii 시스템 소프트웨어를 부팅할 수 있게 되었다.
2009년 4월에는 게임큐브와 Wii의 상용 게임 대부분을 사소한 문제와 함께 플레이할 수 있게 되었으며, 많은 게임이 거의 문제없이 실행되었다. 에뮬레이터 개선을 통해 일부 게임은 처음으로 완전한 속도로 플레이할 수 있게 되었고, 오디오와 그래픽 기능도 크게 향상되었다.
2009년 10월 말에는 자동 프레임 건너뛰기(frame skipping)와 같은 새로운 기능이 추가되어 성능과 안정성이 향상되었다. 넷플레이 기능도 개선되어, Wii 리모컨이 필요 없는 게임의 경우 온라인 멀티플레이가 가능해졌다. GUI는 더 사용자 친화적으로 개선되었고, Direct3D 플러그인 관련 작업도 진행되었다.
2010년 4월 12일에 돌핀 2.0 버전이 정식으로 출시되었다.
2.3. 3.0, 3.5 릴리스 (2010년 ~ 2012년)
2010년 11월 말, 개발자들은 깨지는 소리나 잡음 같은 사운드 문제를 상당 부분 해결했으며, 더 많은 게임과의 호환성을 추가하고 전반적인 에뮬레이션 속도와 정확도를 향상시켰다.
2011년 6월에는 버전 3.0이 출시되었다. 이 버전에서는 이상한 사용자 인터페이스 동작, 충돌, 그래픽 결함 등 다양한 문제가 해결되었다. 릴리스 노트에서는 "대부분의 게임이 완벽하게 실행되거나 사소한 버그가 있다"고 명시했다. 주요 변경 사항으로는 재설계된 구성 창, 향상된 LLE 사운드 엔진, 새로운 번역, Wii 리모컨 스피커 지원 추가, EFB(Embedded Framebuffer) 형식 변경 에뮬레이션, 그래픽 디버거 및 오디오 덤핑 기능 추가 등이 있다. 또한, "돌핀의 다른 부분과의 훨씬 더 나은 통합을 허용하기 위해" 플러그인 인터페이스가 제거되었다. 개발자들은 새로운 비디오 백엔드로 Direct3D 11, 오디오 백엔드로 XAudio2를 추가했다.
2012년 12월 25일에는 버전 3.5가 출시되었다. 이 버전에서는 게임큐브 광대역 어댑터와 마이크 에뮬레이션 지원이 추가되었다. 또한 FreeBSD 포트를 도입했으며, DSP 펌웨어의 자유로운 교체 기능과 WBFS 파일 형식 지원이 도입되었다.
2.4. 안드로이드 포팅과 4.0 릴리스 (2013년)
2013년 4월 6일, 돌핀 개발팀은 구글의 안드로이드 모바일 운영체제용 첫 빌드를 출시했다. 이 빌드를 구동하기 위해서는 OpenGL ES 3.0을 지원하는 하드웨어가 필요했으며, 운영체제 또한 구글이 2013년 7월 안드로이드 4.3 젤리빈을 출시하며 공식적으로 지원하기 시작한 해당 버전을 요구했다. 초기 안드로이드 버전의 성능은 매우 낮아, 평균 초당 1프레임(1 FPS)으로 게임이 동작하는 수준이었다. 개발자들은 삼성 갤럭시 S4가 비교적 빠른 속도로 게임을 구동할 수 있는 초기 기기 중 하나라고 언급했지만, 여전히 상당한 성능 제약이 있었다.
2013년 9월 22일, 돌핀 버전 4.0이 공식 출시되었다. 이 버전은 macOS와 리눅스 빌드를 중심으로 OpenGL 렌더링 및 OpenAL 오디오의 백엔드 개선, 더 나은 컨트롤러 지원, 네트워크 기능 강화, 그리고 전반적인 성능 조정이 이루어졌다. 그러나 4.0 버전에는 몇 가지 심각한 버그가 포함되어 있어, 이후 이를 해결하기 위한 버그 수정 릴리스인 4.0.1과 4.0.2가 연이어 배포되었다.
같은 해 10월 12일에 공개된 개발 버전 4.0-155에서는 DirectX 9 지원이 공식적으로 중단되었다. 개발팀은 DirectX 9 API의 자체적인 문제점과 이를 해결하기 위한 불필요한 시간 소모가 개발 진행을 더디게 만든다는 점을 지원 중단의 이유로 밝혔다. 이로써 돌핀은 DirectX 11과 OpenGL 렌더링 백엔드만을 지원하게 되었다.
2.5. 레거시 기술의 개발 중단, 정확도 향상, 그리고 5.0 릴리스 (2013년 ~ 2016년)
2013년 10월 12일(버전 4.0-155)부로 Direct3D 9 지원이 중단되었다. 개발팀은 Direct3D 9에 근본적인 문제가 많아 이를 해결하려는 시도가 시간 낭비이며 개발 속도를 늦춘다고 판단하여, Direct3D 11과 OpenGL만을 비디오 백엔드로 남기기로 결정했다.
2014년 5월 19일, 윈도우와 리눅스용 32비트 빌드 지원 중단을 발표했다. 개발팀은 32비트 빌드 유지보수가 점점 어려워지고, 64비트 버전에 비해 사용자 경험이 떨어지며, 대부분의 사용자가 이미 64비트 CPU를 사용하고 있다는 점 등을 이유로 들었다. 32비트 빌드 사용자 상당수가 실제로는 64비트 환경을 사용 가능함에도 실수로 32비트 버전을 쓰는 경우도 많아 지원 중단을 결정했다. 안드로이드의 ARMv7 지원은 AArch64 JIT가 준비될 때까지 1년 더 유지되었다.
2014년 한 해 동안 에뮬레이션 정확도를 높이기 위한 중요한 발전이 있었다. 디스크 로딩 에뮬레이션 개선, 게임큐브 컨트롤러의 네이티브 지원, 거의 완벽에 가까운 오디오 에뮬레이션 구현 등이 이루어졌고, 초기 버전부터 존재했던 여러 버그들이 수정되었다. 특히 메모리 관리 장치(MMU) 에뮬레이션 개선으로 이전에는 구동되지 않거나 불안정했던 많은 게임들이 정상적으로 실행 가능하게 되었다. 안드로이드 지원도 개선되어, Nvidia 테그라 프로세서를 탑재한 고성능 기기에서는 원활한 구동이 가능해졌다.
2015년 3월, VBA-M 개발팀과의 협력을 통해 게임큐브와 게임보이 어드밴스 간의 연동 기능을 지원하게 되었다.
2015년 5월 25일, 돌핀 프로젝트는 코드 라이선스를 GPLv2 전용에서 GPLv2 또는 그 이후 버전(GPL-2.0-or-later)으로 성공적으로 변경했다고 발표했다. 이는 다른 자유 및 오픈 소스 프로젝트와의 라이선스 호환성을 높이고 코드 공유 및 교환을 용이하게 하기 위한 조치였다.
2015년 8월에는 오디오 관련 추가 개선 사항이 발표되었고, 같은 해 12월에는 TR Wii 리모컨의 오디오 문제가 수정되었다. 이후 2016년 2월, 몇 달간의 개발 끝에 Direct3D 12 백엔드가 메인라인 코드에 통합되었다.
2016년 6월 24일, 돌핀 버전 5.0이 정식 출시되었다. 이 버전에는 그동안 이루어진 다양한 수정 사항과 기능 개선이 포함되었다.
2.6. 5.0 이후 (2016년 ~ 현재)
Vulkan 기반 그래픽 렌더러 개발은 2016년 6월에 시작되었다. 한 달 후 개발자는 기능 완성과 함께 정리, 버그 수정, 성능 개선 작업에 들어간다고 발표했다. 이 렌더러 개발은 몇 달 동안 별도의 브랜치에서 진행되었고, 2016년 10월에 최종적으로 코드가 병합되었다.
2016년 9월, 돌핀 개발자들은 에뮬레이터가 모든 공식 게임큐브 타이틀을 부팅할 수 있게 되었다고 발표했다. 마지막으로 부팅이 지원된 게임인 스타워즈: 클론 전쟁은 게임 내부에서 MMU를 사용하기 때문에 에뮬레이션이 특히 까다로웠다. 또한, 유지 관리가 이루어지지 않던 트라이포스 아케이드 시스템 보드 에뮬레이션 기능은 제거되었다.
2017년 3월에는 Wii 숍 채널에 대한 지원이 추가되었다. 같은 해 5월, 아직 완성되지 못한 두 가지 실험적 기능이 제거되었다. 하나는 Vulkan 백엔드로 대체된 Direct3D 12 렌더러였고, 다른 하나는 대체 CPU 에뮬레이터였던 JIT IL이었다.
같은 해 그래픽 성능 관련 문제를 해결하던 중, 돌핀 개발자들은 오랫동안 문제였던 셰이더 컴파일 스터터링(끊김 현상)에 대한 해결책을 구현했다. 이 끊김 현상은 에뮬레이터가 새로운 환경이나 객체에 필요한 셰이더를 그래픽 드라이버가 컴파일할 때까지 기다리면서 발생한다. 2015년부터 개발된 'Ubershaders'라는 해결책은, 호스트 시스템의 GPU에서 전문 셰이더가 컴파일되어 이후 프레임에 사용될 수 있을 때까지 인터프리터를 통해 Wii와 게임큐브의 렌더링 파이프라인을 에뮬레이트하여 성능 저하를 줄이는 방식이다.
2016년 말부터 시작된 작업은 2017년 8월 18일, 크로스 플랫폼 MMORPG인 드래곤 퀘스트 X를 플레이 가능 목록에 추가하는 성과로 이어졌다. 이는 Wii 버전의 온라인 기능 지원 중단 불과 두 달 전이었다. 이 지원 추가는 Wii 숍 채널 지원과 같이 이전에 에뮬레이터에 추가된 여러 정확성 향상 기능에 의존했다. 또한 Wii U용으로 설계된 암호화된 파일 시스템인 Wii 파일 시스템 지원도 상당한 리버스 엔지니어링 끝에 추가되었다.
2018년 상반기에는 GUI 툴킷을 wxWidgets에서 Qt로 교체했다. 기존 툴킷의 한계로 새로운 기능 구현에 어려움이 있었기 때문이다. 이와 함께 Ishiiruka 빌드와 유사한 비동기 셰이더 컴파일 기능, 자동 업데이트 기능, 디스코드 연동 기능 등이 새롭게 도입되었다.
2018년 여름, 돌핀의 Vulkan 렌더러가 MoltenVK를 통해 macOS로 이식되었고, Android 버전은 월별 업데이트와 함께 구글 플레이에 다시 출시되었다. 2019년 4월에는 공통 비디오 백엔드 통합, 넷플레이 서버 브라우저, Wii 모션플러스 에뮬레이션이라는 세 가지 새로운 기능이 추가되었으며, Direct3D 12 렌더러도 다시 도입되었다.
2019년 11월부터 2020년 1월 사이에는 ARM 기반 Windows 10에 대한 지원이 추가되었다. 개발자에 따르면, 이미 Android 포팅 과정에서 AArch64 하드웨어 지원이 구현되어 있었기 때문에 비교적 쉽게 추가할 수 있었다고 한다.
2020년 5월과 6월 진행 상황 보고서에서는 WIA 형식을 기반으로 zstd 압축 알고리즘을 사용하는 새로운 압축 형식인 RVZ를 공개했다. 개발팀은 RVZ가 NKit 형식과 비교했을 때 로딩 시간을 더 정확하게 에뮬레이션하며, 손실 없이 스크럽된(불필요한 데이터가 제거된) WIA 및 GCZ 디스크 이미지 파일 크기와 비슷하거나 더 작다고 주장했다.
2020년 12월과 2021년 1월 보고서에서는 다양한 Wii 타이틀과 닌텐도 DS 간의 연결 에뮬레이션 지원이 추가되었다고 밝혔다. 다만, 이 기능은 실제 하드웨어나 다른 에뮬레이터와의 상호 작용을 지원하지는 않는다. 이 새로운 에뮬레이션은 드라이버: 샌프란시스코와 같이 DS 통신을 시도하는 게임들에서 발생하던 충돌 문제를 해결했다.
2021년 5월, Apple Silicon으로의 전환 발표 이후 가장 많이 요청되었던 기능인 ARM64 기반 macOS 지원이 추가되었다. 2021년 7월에는 mGBA 에뮬레이터를 돌핀에 통합하여 게임큐브-GBA 연결을 시뮬레이션할 수 있게 되었다고 발표했다. 이를 통해 에뮬레이션된 GBA 타이틀 간 데이터 전송뿐만 아니라, 최대 4개의 GBA 인스턴스를 동시에 활성화하여 젤다의 전설: 4개의 검의 모험이나 파이널 판타지 크리스탈 크로니클처럼 GBA 연결이 필수적인 게임의 멀티플레이를 돌핀 내에서 로컬 또는 넷플레이로 즐길 수 있게 되었다.
2022년 6월, 돌핀 개발자들은 사용자 중 2% 미만만이 사용하고 개발자 중에는 아무도 사용하지 않아 개발 및 테스트가 어렵고, Qt와 같은 의존성 라이브러리의 최신 버전이 더 이상 지원하지 않는다는 이유로 Windows 7, Windows 8, Windows 8.1에 대한 지원을 중단한다고 발표했다. 2022년 7월에는 게임 이미지가 렌더링되는 동안 사용자가 그래픽 설정을 변경할 수 있는 그래픽 모드 인프라를 출시했다. 2022년 9월에는 macOS 버전에 네이티브 Metal 그래픽 백엔드를 추가하여 MoltenVK를 통해 실행되는 Vulkan 백엔드보다 향상된 성능을 제공하게 되었다.
2023년 3월, 돌핀 개발자들은 2023년 2분기까지 "얼리 액세스" 형태로 Steam 플랫폼에 에뮬레이터 버전을 출시할 계획이라고 발표했다. Steam 페이지에는 공식 라이선스 게임의 묘사가 없었고, 닌텐도를 직접 언급하지 않았으며, "이 앱은 게임과 함께 제공되지 않습니다"라는 문구가 포함되었다. 개발팀은 Steam Deck 출시 이후 Steam UI와의 통합성을 높일 것이라고 홍보했다. 하지만 2023년 5월, 닌텐도가 Valve에 보낸 DMCA 통지 요청을 이유로 Steam 출시가 무기한 연기되었다고 발표했다. 프로젝트 재무 담당자인 피에르 부르동은 에뮬레이터 소스 코드에 Wii 게임 디스크 암호 해독에 사용되는 AES-128 키가 포함된 것이 닌텐도가 출시를 막은 원인일 수 있다고 언급했다. 닌텐도 대변인은 코타쿠에 돌핀이 "닌텐도의 보호 조치를 불법적으로 우회한다"고 말하며 "불법 에뮬레이터나 불법 게임 복제본은 개발에 해를 끼치고 궁극적으로 혁신을 억제한다"고 주장했다. 유튜버이자 게임 개발자인 디미트리스 지안나키스는 자신의 Modern Vintage Gamer 채널에서 2020년 한 사용자가 RetroArch 코어 소스 코드에 해당 키가 존재한다고 경고했던 증거를 제시했다.
2023년 7월 20일, 돌핀 개발자들은 닌텐도의 법적 문제 제기로 인해 계획되었던 Steam 출시가 최종 취소되었다고 발표했다. 블로그 게시물을 통해, 닌텐도가 DMCA 통지를 보낸 것이 아니라 Valve가 돌핀의 Steam 출시에 앞서 닌텐도의 승인을 구하는 과정에서 문제가 발생했다고 밝혔다. 또한 개발팀은 Wii가 소매 게임을 해독하는 데 사용하는 AES 키의 존재가 상호 운용성을 허용하는 미국 저작권법 17 U.S.C. § 1201(f)의 리버스 엔지니어링 예외 조항에 해당하며, 해당 키는 발견된 이후 널리 알려진 정보라고 주장했다. 법률 자문을 받은 후 암호 해독 키를 제거하지 않을 것이라고 발표했다. 이 사건 이후 에뮬레이터에 대한 구글 검색량이 급증하는 스트라이샌드 효과가 나타났다.
3. 기능
돌핀은 지역 제한에 관계없이 게임을 시작할 수 있으며, TAS(tool-assisted speedrun) 기록 기능을 제공한다. 액션 리플레이 및 게코 코드를 이용한 치트 사용도 가능하다.
컨트롤러 지원
돌핀은 USB 어댑터를 통해 실제 게임큐브 컨트롤러를 지원하며, 블루투스를 통해 Wii 리모컨 연결도 가능하다. Wii 모션플러스 어댑터, 눈차크, 클래식 컨트롤러, 기타, 드럼, 턴테이블과 같은 확장 컨트롤러 역시 지원한다.
네트워크 플레이
두 가지 종류의 네트워크 플레이를 지원한다. 첫째는 에뮬레이트된 로컬 멀티플레이어로, 돌핀 사용자 간에만 작동하며 원래 온라인 기능이 없는 게임에 적용된다. 둘째는 닌텐도 와이파이 커넥션(WFC) 지원으로, WFC를 지원하는 Wii 게임을 다른 돌핀 사용자나 실제 Wii 사용자와 온라인으로 플레이할 수 있다.
저장 기능
게임 진행 상황은 가상 게임큐브 메모리 카드, 에뮬레이트된 Wii 플래시 메모리, 그리고 세이브 스테이트 기능을 통해 저장할 수 있다. 돌핀은 세이브 파일을 가상 게임큐브 메모리 카드에서 관리하고 전송할 수 있는 메모리 카드 관리자 기능도 제공한다.
그래픽 향상
돌핀은 원본 콘솔(게임큐브, Wii)이 지원하는 최대 480p 해상도를 넘어 임의의 해상도로 게임을 렌더링할 수 있다. 또한, 다음과 같은 그래픽 향상 기능을 지원한다.
* 고해상도 텍스처 팩: 사용자 정의 텍스처 매핑을 로드하여 원본보다 높은 해상도의 텍스처를 사용할 수 있다. 게임의 텍스처를 내보내 수정하는 기능도 제공한다.
* [[앤티에일리어싱]] 및 [[비등방성 필터링]]: 이미지 가장자리를 부드럽게 처리하고 멀리 있는 텍스처의 선명도를 높인다.
* 후처리 셰이더: 다양한 시각 효과를 추가할 수 있다.
* 와이드스크린 핵: 네이티브 와이드스크린을 지원하지 않는 게임에서 강제로 와이드스크린 출력을 가능하게 한다.
* 입체 3D: Nvidia 3D Vision과 같은 특수 하드웨어 지원을 포함하여 입체 3D 그래픽 출력이 가능하다. 이는 원래 콘솔에는 없던 기능이다.
* 프레임 속도 향상: 게임을 원래 의도된 것보다 높은 초당 프레임 수로 실행할 수 있다.
기타 기능
* 렌더러: 2016년에 Vulkan 렌더러가 개발되었고, 2022년에는 macOS 환경에서 더 나은 성능을 제공하는 네이티브 Metal 그래픽 백엔드가 추가되었다. Direct3D 12 렌더러도 다시 도입되었다.
* 높은 호환성: 2016년 9월, 모든 공식 게임큐브 타이틀의 부팅을 지원하게 되었다. 부팅이 마지막으로 지원된 게임은 스타워즈: 클론 전쟁으로, 메모리 관리 유닛 사용 때문에 에뮬레이션이 까다로웠다. 트라이포스 아케이드 시스템 보드 에뮬레이션은 유지 관리 부족으로 제거되었다.
* [[Wii 숍 채널]] 지원: 2017년 3월부터 지원이 추가되었다.
* 셰이더 컴파일 스터터링 해결: 'Ubershaders' 기술을 통해 게임 중 새로운 셰이더를 컴파일할 때 발생하는 끊김 현상(스터터링)을 완화했다. 이는 Wii/게임큐브의 렌더링 파이프라인을 인터프리터 방식으로 에뮬레이션하여, 호스트 GPU용 셰이더가 백그라운드에서 컴파일되는 동안 성능 저하를 줄이는 방식이다.
* [[Qt (소프트웨어)|Qt]] 기반 GUI: 2018년, 기존 wxWidgets GUI를 Qt로 대체하여 사용자 인터페이스를 개선하고, 비동기 셰이더 컴파일, 자동 업데이트 기능, 디스코드와의 통합 등 새로운 기능을 구현하는 데 용이하게 했다.
* RVZ 압축 형식: 2020년, zstd 압축 알고리즘을 기반으로 한 새로운 무손실 압축 형식인 RVZ를 공개했다. RVZ는 WIA, GCZ 등 기존 형식과 비슷하거나 더 작은 파일 크기를 가지면서도, 게임 로딩 시간을 정확하게 에뮬레이션하는 장점이 있다.
* [[닌텐도 DS]] 연결성 에뮬레이션: 2021년 초, 일부 Wii 타이틀과 닌텐도 DS 간의 통신을 에뮬레이션하는 기능이 추가되었다. 이는 실제 하드웨어나 다른 에뮬레이터와의 직접적인 상호 운용을 의미하지는 않지만, 드라이버: 샌프란시스코와 같이 DS 통신을 시도하는 게임에서 발생하던 충돌 문제를 해결했다.
* [[게임보이 어드밴스]] 연동 (mGBA 통합): 2021년 7월, mGBA 에뮬레이터를 돌핀에 통합하여 게임큐브-GBA 연결 기능을 강화했다. (이전에는 비주얼보이어드밴스와의 연동을 지원했다.) 이를 통해 돌핀 내에서 최대 4개의 GBA 인스턴스를 동시에 실행하고 데이터를 전송할 수 있게 되어, 젤다의 전설: 4개의 검의 모험, 파이널 판타지 크리스탈 크로니클과 같이 GBA 연동이 필수적인 게임의 멀티플레이를 로컬 및 넷플레이 환경에서 즐길 수 있게 되었다.
* [[RetroAchievements]] 지원: 2024년 7월, 게임큐브 게임에 대한 RetroAchievements 지원이 추가되어 게임 플레이 중 도전 과제를 달성할 수 있게 되었다.
* [[롤링 릴리스]]: 2024년 7월부터 정식 버전 번호(예: 5.0, 6.0) 방식 대신, 더 빈번하게 소규모 업데이트를 제공하는 롤링 릴리스 주기로 전환했다. 첫 롤링 릴리스 버전은 돌핀 2407이다.
4. 파생 버전
돌핀 팀은 트라이포스 아케이드 시스템을 에뮬레이션하기 위한 돌핀 버전인 돌핀 트라이포스를 개발했다. 그러나 개발 우선순위가 변경되고 기능이 제대로 유지 관리되지 않으면서 결국 비활성화되었다. 돌핀 트라이포스 다운로드는 여전히 웹사이트에서 가능하며, 소스 코드는 GitHub의 전용 저장소에서 찾아볼 수 있다.
Dolphin VR은 가상 현실(VR) 환경에서 게임을 플레이할 수 있도록 하는 것을 목표로 하는 서드파티 프로젝트이다. 이 버전은 정확한 실물 크기, 전체 시야각(FOV), 3D HUD, 독립적인 조준 기능, 주변을 둘러볼 수 있는 기능 등을 제공한다. HTC Vive와 Oculus Rift를 지원한다. PC 게이머는 Dolphin VR로 여러 게임을 테스트했는데, 특히 메트로이드 프라임과 F-Zero GX가 높은 평가를 받았다. 한 편집자는 "VR로 메트로이드 프라임을 플레이할 때 어린 시절의 경이로움을 느꼈다"고 말했으며, 다른 편집자는 "F-Zero는 Dolphin VR에 마음을 빼앗기게 만든 것"이라고 언급했다. 최신 릴리스는 5.0이며, 소스 코드는 GitHub에 호스팅되어 있다.
DolphiniOS는 돌핀의 서드파티 포크로, iOS용으로 개발되었다. 앱 스토어에서는 제공되지 않으며, 대신 탈옥된 기기를 위한 Cydia 저장소, AltStore 저장소 또는 사이드로딩을 위한 IPA 패키지를 통해 배포된다. DolphiniOS는 과거 Patreon 후원자들에게 베타 버전을 먼저 제공하는 방식으로 수익을 창출했으나, 2020년 10월 6일부로 이 프로그램을 중단하고 이러한 방식을 영구적으로 중단한다고 밝혔다. 이와 함께 수석 개발자의 휴식으로 인해 프로젝트가 일시 중단될 것이라고 발표했다. 첫 사전 출시 버전은 2019년 12월 9일에 공개되었고, 1.0 버전은 일주일 뒤에 출시되었다. 2.0 버전은 2020년 1월 9일에 출시되어 물리 컨트롤러 지원 등의 새로운 기능을 추가했다. 3.0 버전은 2020년 6월 20일에 출시되었으며, 게임 그리드 표시, Wii 시스템 메뉴 업데이트, WAD 파일 설치, 디스크 변경 기능 등이 추가되었다. 프로젝트 중단 발표 이후 3.1.1 버전과 3.2.0 베타 1 버전이 출시되어 DualShock 4의 진동 및 모션 제어 지원이 추가되었고, Odyssey 탈옥 사용자를 위한 호환성도 개선되었다. Wololo.net의 한 기자는 iPad Pro 10.5인치(A10X 칩셋)에서 마리오 카트 Wii가 훌륭하게 작동했다고 평가했다. 소스 코드는 GitHub에 호스팅되어 있다.
Ishiiruka는 돌핀 개발자 Tino가 2013년 10월 18일에 만든 비공식 포크이다. 이는 돌핀의 Direct3D 9 지원 중단 결정에 대한 반응으로 시작되었다. 이름 'Ishiiruka'는 돌고래를 뜻하는 일본어이다. 주로 Windows 환경을 중심으로 Direct3D 9 및 11을 지원하지만, Linux 버전도 존재한다. 이 포크는 셰이더 컴파일로 인한 미세한 끊김(스터터링) 현상과 같은 돌핀의 성능 문제를 해결하려 시도했다. 이를 위해 비동기 셰이더 컴파일 방식을 사용하는데, 이는 완전한 해결책은 아니며 경우에 따라 그래픽 요소가 갑자기 나타나는 팝 인(pop-in) 현상이 발생할 수 있다. Ishiiruka는 대난투 스매시 브라더스 Melee의 넷플레이 커뮤니티인 Faster Melee와 SmashLadder에서 사용하는 공식 클라이언트의 기반이 된다. 유로게이머(Eurogamer)의 John Linneman은 2016년 Digital Foundry Retro 비디오 시리즈에서 Ishiiruka를 긍정적으로 평가하며, 표준 돌핀보다 향상된 시각 효과(피사계 심도, 앰비언트 오클루전, 색상 보정 등)와 더 부드러운 게임 경험을 제공한다고 언급했다. 개발은 GitHub에서 진행된다.
PrimeHack은 개발자 shiiion이 만든 돌핀의 한 버전으로, PC에서 키보드와 마우스를 사용하여 메트로이드 프라임: 트릴로지를 플레이할 수 있도록 특별히 수정되었다. PrimeHack에는 두 가지 변종이 있는데, 하나는 Ishiiruka를 기반으로 하고 다른 하나는 돌핀 자체를 기반으로 한다. 후자는 2019년 2월부터 10월까지 개발이 중단되었다가, 2019년 10월 이후 주된 개발 대상으로 전환되었다. 소스 코드는 GitHub에 호스팅되어 있다.
5. 평가
돌핀 에뮬레이터는 게임 커뮤니티로부터 호평을 받고 있으며, 특히 게임큐브와 Wii의 기본 해상도인 480p보다 더 높은 해상도로 게임을 실행할 수 있다는 점이 장점으로 꼽힌다. 또한 실제 게임기의 성능을 넘어섰다는 평가와 실행 가능한 게임 소프트웨어 타이틀 수가 많다는 평가도 있다. 게임 평가 사이트인 Eurogamer와 1UP.com은 고화질 화질로 게임을 플레이할 수 있다는 점을 긍정적으로 평가했다.
PC 게이머의 편집자 웨스 펜론은 돌핀을 "많은 게임을 더 좋게 만드는 유일한 에뮬레이터 중 하나"라고 칭하며, 지속적으로 "호환성과 성능에 크고, 때로는 엄청난 개선을 이루고 있다"고 칭찬했다. Wololo.net 역시 이 시스템의 높은 호환성을 긍정적으로 평가했다.
돌핀은 특정 게이머들의 불편함을 해소하는 도구로 활용되기도 한다. 2012년, 마이크 호이라는 사용자는 딸과 함께 젤다의 전설: 바람의 지휘봉을 플레이하던 중, 게임이 주인공을 남성으로만 지칭하는 것을 발견하고 헥스 에디터를 이용해 게임 내 텍스트를 수정했다. 그는 돌핀을 사용하여 수정한 게임 ISO 파일을 테스트했다. 또한, Ars Technica는 돌핀의 넷플레이 기능이 서비스가 종료된 닌텐도 Wi-Fi 커넥션의 대안이 될 수 있다고 언급했다.
2017년 3월 기준, 돌핀의 선택적 웹 분석 기능에 동의한 사용자를 기준으로 하루 평균 약 50,000명의 활성 사용자가 있는 것으로 집계되었다.