dolphin-emu/dolphin

GitHub: dolphin-emu/dolphin

Dolphin 是一款功能完善的开源跨平台模拟器,支持在 PC 和移动设备上运行 GameCube 和 Wii 游戏,并提供调试、录制和镜像处理等专业功能。

Stars: 14699 | Forks: 2991

# Dolphin - GameCube 和 Wii 模拟器 [主页](https://dolphin-emu.org/) | [项目网站](https://github.com/dolphin-emu/dolphin) | [Buildbot](https://dolphin.ci/) | [论坛](https://forums.dolphin-emu.org/) | [Wiki](https://wiki.dolphin-emu.org/) | [GitHub Wiki](https://github.com/dolphin-emu/dolphin/wiki) | [Issue Tracker](https://bugs.dolphin-emu.org/projects/emulator/issues) | [代码风格](https://github.com/dolphin-emu/dolphin/blob/master/Contributing.md) | [Transifex 页面](https://app.transifex.com/dolphinemu/dolphin-emu/dashboard/) | [统计分析](https://mon.dolphin-emu.org/) Dolphin 是一款可以在 Windows、Linux、macOS 以及较新的 Android 设备上运行 GameCube 和 Wii 游戏的模拟器。它根据 GNU General Public License 版本 2 或更高版本 (GPLv2+) 的条款授权。 在使用 Dolphin 之前,请阅读 [FAQ](https://dolphin-emu.org/docs/faq/)。 ## 系统要求 ### 桌面端 * OS * Windows (10 1903 或更高版本)。 * Linux。 * macOS (11.0 Big Sur 或更高版本)。 * 除 Linux 外的 Unix-like 系统未受官方支持,但可能可以运行。 * 处理器 * 支持 SSE2 的 CPU。 * 强烈推荐使用现代 CPU (3 GHz 和双核,2008 年以后)。 * 显卡 * 合理的现代显卡 (Direct3D 11.1 / OpenGL 3.3)。 * 推荐使用支持 Direct3D 11.1 / OpenGL 4.4 的显卡。 ### Android * OS * Android (5.0 Lollipop 或更高版本)。 * 处理器 * 支持 64 位应用程序的处理器 (ARMv8 或 x86-64)。 * 显卡 * 支持 OpenGL ES 3.0 或更高版本的图形处理器。性能很大程度上取决于[驱动质量](https://dolphin-emu.org/blog/2013/09/26/dolphin-emulator-and-opengl-drivers-hall-fameshame/)。 * 为了获得最佳性能,推荐使用支持标准桌面 OpenGL 功能的图形处理器。 Dolphin 只能安装在满足上述要求的设备上。尝试在不支持的设备上安装将会失败并显示错误信息。 ## 在 Windows 上构建 使用解决方案文件 `Source/dolphin-emu.sln` 在 Windows 上构建 Dolphin。 Dolphin 需要使用 Visual Studio 或 Build Tools 提供的最新 MSVC 进行编译。 其他编译器或许能在 Windows 上构建 Dolphin,但未经测试,因此不推荐使用。构建时必须安装 Git 和最新的 Windows SDK。 请确保在构建前拉取子模块: ``` git submodule update --init --recursive ``` "Release" 解决方案配置包含性能优化,可提供最佳用户体验,但会使调试 Dolphin 变得复杂。 "Debug" 解决方案配置速度明显较慢、输出更详细且限制更少(原文为 less permissive,此处结合语境通常指更宽松的检查),但使调试 Dolphin 变得更容易。 ## 在 Linux 和 macOS 上构建 除 Windows 外的系统,Dolphin 需要 [CMake](https://cmake.org/)。 你需要一个具有良好 C++20 支持的较新版本的 GCC 或 Clang。如果你的编译器太旧,CMake 会通知你。 许多库与 Dolphin 捆绑在一起,如果你的系统上没有安装它们,就会使用这些捆绑库。如果使用了捆绑库或你需要自己安装任何缺失的包,CMake 会通知你。你可以参考 [wiki](https://github.com/dolphin-emu/dolphin/wiki/Building-for-Linux) 获取更多信息。 请确保在构建前拉取子模块: ``` git submodule update --init --recursive ``` ### macOS 构建步骤: 可以使用以下步骤构建支持单一架构的二进制文件: 1. `mkdir build` 2. `cd build` 3. `cmake ..` 4. `make -j $(sysctl -n hw.logicalcpu)` 应用程序包将在 `./Binaries` 中创建。 还提供了一个脚本,可以使用以下步骤构建在同一应用程序包中同时支持 x64 和 ARM 的通用二进制文件: 1. `mkdir build` 2. `cd build` 3. `python ../BuildMacOSUniversalBinary.py` 4. 通用二进制文件将位于 `universal` 文件夹中 这样做比较复杂,因为它需要为 x64 和 ARM(或通用库等效项)安装库依赖项,并且可能需要指定额外的参数以指向相关的库位置。 执行 BuildMacOSUniversalBinary.py --help 获取更多详细信息。 ### Linux 全局构建步骤: 安装到你的系统。 1. `mkdir build` 2. `cd build` 3. `cmake ..` 4. `make -j $(nproc)` 5. `sudo make install` ### Linux 本地构建步骤: 适用于开发,因为不需要 root 权限。 1. `mkdir Build` 2. `cd Build` 3. `cmake .. -DLINUX_LOCAL_DEV=true` 4. `make -j $(nproc)` 5. `ln -s ../../Data/Sys Binaries/` ### Linux 便携版构建步骤: 可以存储在外部存储器上并在不同的 Linux 系统上使用。 或者用于拥有多个独立的 Dolphin 设置以进行测试/开发/TAS。 1. `mkdir Build` 2. `cd Build` 3. `cmake .. -DLINUX_LOCAL_DEV=true` 4. `make -j $(nproc)` 5. `cp -r ../Data/Sys/ Binaries/` 6. `touch Binaries/portable.txt` ## 在 Android 上构建 这些说明假设你熟悉 Android 开发。如果你尚未设置 Android 开发环境,请参阅 [AndroidSetup.md](AndroidSetup.md)。 请确保在构建前拉取子模块: ``` git submodule update --init --recursive ``` 如果使用 Android Studio,导入位于 `./Source/Android` 的 Gradle 项目。 Android 应用程序使用名为 Gradle 的构建系统进行编译。然而,Dolphin 的原生组件使用 CMake 编译。Gradle 脚本将在构建 Java 代码时尝试自动运行 CMake 构建。 ## 卸载 在 Windows 上,只需删除解压的目录即可,除非它是通过 NSIS 安装程序安装的,在这种情况下,你可以像卸载任何其他 Windows 应用程序一样卸载 Dolphin。 Linux 用户可以从构建目录以 root 身份运行 `cat install_manifest.txt | xargs -d '\n' rm`,以从系统中卸载 Dolphin。 macOS 用户只需删除 Dolphin.app 即可卸载。 此外,如果你不打算重新安装 Dolphin,你可能需要删除全局用户目录。 ## 命令行用法 ``` Usage: Dolphin.exe [options]... [FILE]... Options: --version show program's version number and exit -h, --help show this help message and exit -u USER, --user=USER User folder path -m MOVIE, --movie=MOVIE Play a movie file -e , --exec= Load the specified file -n <16-character ASCII title ID>, --nand_title=<16-character ASCII title ID> Launch a NAND title -C .
.=, --config=.
.= Set a configuration option -s , --save_state= Load the initial save state -d, --debugger Show the debugger pane and additional View menu options -l, --logger Open the logger -b, --batch Run Dolphin without the user interface (Requires --exec or --nand-title) -c, --confirm Set Confirm on Stop -v VIDEO_BACKEND, --video_backend=VIDEO_BACKEND Specify a video backend -a AUDIO_EMULATION, --audio_emulation=AUDIO_EMULATION Choose audio emulation from [HLE|LLE] ``` 可用的 DSP 模拟引擎是 HLE (High Level Emulation) 和 LLE (Low Level Emulation)。HLE 速度更快但精度较低,而 LLE 速度较慢但接近完美。请注意,LLE 有两个子模式(解释器和重编译器),但无法通过命令行选择。 可用的视频后端有 "D3D" 和 "D3D12"(仅在 Windows 上可用)、"OGL" 和 "Vulkan"。 还有 "Null",它不会渲染任何内容,以及 "Software Renderer",它使用 CPU 进行渲染,仅用于调试目的。 ## DolphinTool 用法 ``` usage: dolphin-tool COMMAND -h commands supported: [convert, verify, header, extract] ``` ``` Usage: convert [options]... [FILE]... Options: -h, --help show this help message and exit -u USER, --user=USER User folder path, required for temporary processing files.Will be automatically created if this option is not set. -i FILE, --input=FILE Path to disc image FILE. -o FILE, --output=FILE Path to the destination FILE. -f FORMAT, --format=FORMAT Container format to use. Default is RVZ. [iso|gcz|wia|rvz] -s, --scrub Scrub junk data as part of conversion. -b BLOCK_SIZE, --block_size=BLOCK_SIZE Block size for GCZ/WIA/RVZ formats, as an integer. Suggested value for RVZ: 131072 (128 KiB) -c COMPRESSION, --compression=COMPRESSION Compression method to use when converting to WIA/RVZ. Suggested value for RVZ: zstd [none|zstd|bzip|lzma|lzma2] -l COMPRESSION_LEVEL, --compression_level=COMPRESSION_LEVEL Level of compression for the selected method. Ignored if 'none'. Suggested value for zstd: 5 ``` ``` Usage: verify [options]... Options: -h, --help show this help message and exit -u USER, --user=USER User folder path, required for temporary processing files.Will be automatically created if this option is not set. -i FILE, --input=FILE Path to disc image FILE. -a ALGORITHM, --algorithm=ALGORITHM Optional. Compute and print the digest using the selected algorithm, then exit. [crc32|md5|sha1|rchash] ``` ``` Usage: header [options]... Options: -h, --help show this help message and exit -i FILE, --input=FILE Path to disc image FILE. -b, --block_size Optional. Print the block size of GCZ/WIA/RVZ formats, then exit. -c, --compression Optional. Print the compression method of GCZ/WIA/RVZ formats, then exit. -l, --compression_level Optional. Print the level of compression for WIA/RVZ formats, then exit. ``` ``` Usage: extract [options]... Options: -h, --help show this help message and exit -i FILE, --input=FILE Path to disc image FILE. -o FOLDER, --output=FOLDER Path to the destination FOLDER. -p PARTITION, --partition=PARTITION Which specific partition you want to extract. -s SINGLE, --single=SINGLE Which specific file/directory you want to extract. -l, --list List all files in volume/partition. Will print the directory/file specified with --single if defined. -q, --quiet Mute all messages except for errors. -g, --gameonly Only extracts the DATA partition. ```
标签:Android, ARMv8, Bash脚本, C++, Direct3D, Dolphin, DSL, GameCube, GPLv2, GUI, OpenGL, SSE2, Vulkan, Wii, x86-64, 主机模拟, 任天堂, 后台面板检测, 开源, 怀旧游戏, 数据擦除, 渲染, 游戏, 游戏机