RetroArch
RetroArch是libretro API的参考前端。该API实现的流行示例包括视频游戏系统模拟器和游戏引擎以及更广泛的3D程序。这些程序被实例化为动态库。我们将其称为“ libretro核心”。
libretro
libretro是一种曝光通用音频/视频/输入回调的API。 Libretro(例如RetroArch )的前端处理视频输出,音频输出,输入和应用程序生命周期。用便携式C或C ++编写的Libretro Core可以在许多平台上无缝运行,而几乎没有移植精力。
虽然RetroArch是libretro的参考前端,但其他几个项目都使用了libretro界面来包括对仿真器和/或游戏引擎的支持。 libretro是完全开放的,任何人都可以使用。
libretro API标头
二进制
最新的二进制文件目前托管在BuildBot上。
支持
要接触开发人员,要么在Github上在此处提出问题,在论坛上进行线程,在Discord上聊天,或访问我们的IRC频道: RetroArch @ irc.freenode.org。您可以在Reddit中创建一个具有技术支持的帖子。
文档
请参阅我们的文档中心。在UNIX上,提供了男子页面。这里可以找到更多以开发人员为中心的东西。
相关项目
- CG/HLSL着色器:普通遮蔽器
- lang吟着着色器:slang语
- GLSL着色器:GLSL遮光器
- 为构建libretro实现的帮助脚本:libretro-super
- 项目的github镜子,用于生成差异文件:libretro mirrors
哲学
RetroArch试图变得小而苗条,同时仍然拥有模拟器预期的所有有用的核心功能。它旨在非常便携,并具有以游戏板为中心和触摸屏UI。它还具有完整的命令行接口。
在某些领域, RetroArch超越了,并强调了不太常见的技术功能,例如多通式着色器支持,实时倒带(编织风格),视频录制(使用FFMPEG),run-ear-ear-aver-ahead输入延迟延迟延迟等等。
RetroArch还强调易于集成到各种发射器前端。
平台
RetroArch已移植到以下平台:
- Android(最新版本为2.x)
- 苹果iOS
- Apple Macos(PPC,X86-32和X86-64)
- Apple TVO
- 黑莓
- dos
- Emscripten(WebAssembly和JavaScript)
- freebsd
- haiku
- Linux
- 原始Microsoft Xbox
- Microsoft Xbox 360(libxenon/XEXDK)
- Microsoft Xbox One
- Microsoft Xbox系列S/X
- Miyoo
- Netbsd
- Nintendo NES/SNES Classic Edition
- 任天堂GameCube
- 任天堂Wii
- 任天堂开关
- 任天堂Wii U
- 任天堂3DS/2D
- OpenBSD
- Opendenux
- PlayStation2
- PlayStation3
- PlayStation4
- PlayStation Portable
- PlayStation Vita
- 覆盆子pi
- 反应
- 氧化还原OS
- Retrofw
- RS90
- Serenityos
- Solaris
- Windows NT 3.5
- Windows 95
- Windows 98
- Windows 2000
- Windows XP
- Windows Millennium
- Windows Vista
- Windows 7
- Windows 8
- Windows 10
- Windows 11
依赖项(PC)
本身没有真正的硬依赖性。
在Windows上, RetroArch只能以Win32作为依赖关系运行。
在Linux上,没有真正的依赖关系。为了获得最佳用法,以下依赖项按建议进行:
- GL标题 / Vulkan标头
- X11标题和LIB,或EGL/KMS/GBM
RetroArch的OSX端口需要最新版本的Xcode构建。
如果启用了RetroArch可以使用这些库:
- nvidia-cg-toolkit
- libfreetype2(屏幕上的TTF字体渲染)
RetroArch至少需要这些音频驱动程序库中的至少一个:
- Alsa
- OSS
- Roaraudio
- rsound
- 开放式
- 杰克
- SDL
- 脉冲
- 管道
- Xaudio2(Win32,Xbox 360)
- Directsound(Win32,Xbox 1)
- CoreAudio(OSX,iOS)
为了正确运行, RetroArch需要存在libretro实施;但是,由于通常是动态加载的,因此在构建时间不需要。
依赖项(控制台端口,移动)
控制台端口具有自己的依赖性,但通常不需要其他任何SDK提供的东西。
要求
OpenGL1
您的视频卡至少需要支持OpenGL 1.1规格。
着色器:N/A。
菜单驱动程序支持:物料,XMB,臭氧和RGUI都应正常工作。 XMB由于上述缺乏着色器支撑而不会具有着色器管道效应。
OpenGL2
您的视频卡至少需要支持OpenGL 2.1规格。
着色器:您可以在NVIDIA CG着色器(不推荐使用,需要安装在系统上的运行时)或GLSL着色器。
菜单驱动程序支持:物料,XMB,臭氧和RGUI都应正常工作。
OpenGL3
您的视频卡至少需要支持OpenGL 3.2核心功能规格。
着色器:您将能够与此驱动程序一起使用现代的s语着色器。
菜单驱动程序支持:物料,XMB,臭氧和RGUI都应正常工作。
Direct3d 11
您的视频卡至少需要支持Direct3D11 11.0规格。该卡还需要至少支持着色器型号4.0。
着色器:您将能够与此驱动程序一起使用现代的s语着色器。
菜单驱动程序支持:物料,XMB,臭氧和RGUI都应正常工作。
VULKAN
您的视频卡至少需要支持Vulkan 1.0规格。
着色器:您将能够与此驱动程序一起使用现代的s语着色器。
菜单驱动程序支持:物料,XMB,臭氧和RGUI都应正常工作。
配置
默认配置在config.def.h中定义。除非您知道自己在做什么,否则不建议更改此操作。以后可以使用配置文件对其进行调整。示例配置文件已安装到/etc/ RetroArch .cfg 。这是系统范围的配置文件。
RetroArch在启动时将创建$XDG\\_CONFIG\\_HOME/ RetroArch / RetroArch .cfg中的配置文件,如果不存在。当所需的值与config.def.h中定义的值偏离时,用户只需要配置某个选项。
要配置JoyPads,请使用内置菜单或在RetroArch .cfg中手动配置它们。
编译和安装
编译和安装RetroArch的说明可以在libretro/ RetroArch文档中心找到。
CRT 15kHz分辨率切换
CRT开关将即时开启。但是,您将需要重新RetroArch以使其禁用。随着CRT开关启用RetroArch将从2560 x 480 @ 60开始。
如果您正在运行Windows,则在启用CRT交换机选项之前,请确保已安装了CRTemudriver并安装了一些模型。所有游戏正确切换的最小模型是:
- 2560 x 192 @ 60.000000
- 2560 x 200 @ 60.000000
- 2560 x 240 @ 60.000000
- 2560 x 224 @ 60.000000
- 2560 x 237 @ 60.000000
- 2560 x 256 @ 50.000000
- 2560 x 254 @ 55.000000
- 2560 x 448 @ 60.000000
- 2560 x 480 @ 60.000000
安装这些模型用所需的超级分辨率代替2560。上述决议仅是NTSC,因此,如果您播放任何PAL内容,请添加PAL模型:
- 2560 x 192 @ 50.000000
- 2560 x 200 @ 50.000000
- 2560 x 240 @ 50.000000
- 2560 x 224 @ 50.000000
- 2560 x 288 @ 50.000000
- 2560 x 237 @ 50.000000
- 2560 x 254 @ 55.000000
- 2560 x 448 @ 50.000000
- 2560 x 480 @ 50.000000
有些游戏将需要更高的PAL分辨率,还应安装:
- 2560 x 512 @ 50.000000
- 2560 x 576 @ 50.000000
理想情况下,安装所有这些模型,一切都将效果很好。
超级分辨率
默认的超级分辨率为2560。它仅在CRT开关选项下显示,可以在视频设置中找到。可以在RetroArch .cfg中更改。唯一兼容的分辨率是1920、2560和3840。任何其他分辨率都将被忽略,而本机切换将被激活。
本地决议
如果激活本地分辨率,则需要一组全新的模型:
-
256 x 240 @ 50.006977 snespal
-
256 x 448 @ 50.006977 snespal
-
512 x 224 @ 50.006977 snespal
-
512 x 240 @ 50.006977 snespal
-
512 x 448 @ 50.006977 snespal
-
256 x 240 @ 60.098812 snesntsc
-
256 x 448 @ 60.098812 snesntsc
-
512 x 240 @ 60.098812 snesntsc
-
512 x 224 @ 60.098812 snesntsc
-
512 x 448 @ 60.098812 snesntsc
-
256 x 192 @ 59.922745 MDNTSC
-
256 x 224 @ 59.922745 MDNTSC
-
320 x 224 @ 59.922745 MDNTSC
-
320 x 240 @ 59.922745 MDNTSC
-
320 x 448 @ 59.922745 MDNTSC
-
320 x 480 @ 59.922745 MDNTSC
-
256 x 192 @ 49.701458 MDPAL
-
256 x 224 @ 49.701458 MDPAL
-
320 x 224 @ 49.701458 MDPAL
-
320 x 240 @ 49.701458 MDPAL
-
320 x 288 @ 49.701458 MDPAL
-
320 x 448 @ 49.701458 MDPAL
-
320 x 480 @ 49.701458 MDPAL
-
320 x 576 @ 49.701458 MDPAL
-
256 x 288 @ 49.701458 msyspal
-
256 x 240 @ 60.098812 NESNTSC
-
256 x 240 @ 50.006977 nespal
-
640 x 237 @ 60.130001 N64NTSC
-
640 x 240 @ 60.130001 N64NTSC
-
640 x 480 @ 60.130001 N64NTSC
-
640 x 288 @ 50.000000 n64pal
-
640 x 480 @ 50.000000 n64pal
-
640 x 576 @ 50.000000 n64pal
-
256 x 252 @ 49.759998 psxpal
-
320 x 252 @ 49.759998 psxpal
-
384 x 252 @ 49.759998 psxpal
-
640 x 252 @ 49.759998 psxpal
-
640 x 540 @ 49.759998 psxpal
-
384 x 240 @ 59.941002 PSXNTSC
-
256 x 480 @ 59.941002 psxntsc
-
352 x 240 @ 59.820000土星/sgfx_ntscp
-
704 x 240 @ 59.820000 Saturnntscp
-
352 x 480 @ 59.820000 Saturnntsci
-
704 x 480 @ 59.820000 Saturnntsci
-
352 x 288 @ 49.701458 SATURNPALP
-
704 x 288 @ 49.701458 SATURNPALP
-
352 x 576 @ 49.701458 Saturnpali
-
704 x 576 @ 49.701458 SATURNPALI
-
240 x 160 @ 59.730000 GBA
-
320 x 200 @ 60.000000厄运
//街机
- 400 x 254 @ 54.706841 MK
- 384 x 224 @ 59.637405 CPS1
这些模型更准确地给出了精确的Hz。但是,某些游戏可能会带来不必要的结果。这是由于原始硬件的中扫描分辨率变化。为了获得最佳结果,超级分辨率是必经之路。
CRT分辨率切换和妈妈
某些街机决议可能与消费者CRT有很大不同。有分辨率检测,以确保MAME游戏将以最接近的可用分辨率显示,但在本解决方案中以其本机分辨率绘制。这意味着MAME游戏看起来就像原始硬件一样。
在垂直方面运行的MAME ROM需要在分辨率切换和方面校正之前在MAME内旋转。在启用CRT开关之前,请执行此操作,以便RetroArch在桌面分辨率中运行。一旦旋转了所有可能需要的游戏,请打开CRT开关。
社交
下面的链接属于我们的官方渠道。除此之外,其他链接可能是由粉丝,独立成员或追随者创建的。我们认真建议使用我们的原始资源。
- 网站
- 博客
- 叽叽喳喳
- YouTube
- Google帖子
- 蒸汽
- YouTube主题
- Patreon
- 借用
- 不和谐
- Teespring
- 文档
- 论坛
