📖 本文由 Batocera 官方 Wiki 翻译整理,内容可能随版本更新而变化。


PC 硬件支持与 Nvidia 显卡配置指南

如果你正准备为 Batocera 组装或选购一台 PC,了解硬件兼容性是开启复古游戏之旅的第一步。

硬件推荐

在当前的 Batocera 主镜像中,近期的 Nvidia GTX 系列AMD Radeon RX 系列显卡都得到了良好的支持,性能表现非常出色。

生活化类比:这就好比为你的游戏机挑选“引擎”。如果你追求性价比,一套 Intel i5 4xxx CPU 搭配 Nvidia GT1030 显卡 的组合,就能以较低的成本流利运行直到 PS2 时代的所有模拟器。你可以在官方的“PC 选购指南”页面查看更详细的跑分测试。


Nvidia 显卡专项说明

现行 Nvidia 驱动程序

Batocera 系统内部已经集成了 Linux 版的 Nvidia 驱动程序(Nvidia drivers),并且在开机时会自动识别并启用。
【提示】如果你想确认系统到底加载了哪个版本的驱动,可以在启动后检查路径为 /userdata/system/logs/nvidia.log 的日志文件。

如何手动指定驱动

虽然系统会自动选择,但你也可以通过修改引导配置文件来“接管”这个过程。

  • 第一步:定位配置文件
    在驱动器的根目录(最顶层)找到 batocera-boot.conf 文件。
  • 第二步:开启驱动开关
    在文件中找到 nvidia-driver=true 这一行,删掉开头的 # 号(即取消注释(Uncomment))。
  • 第三步:手动调整(可选)
    如果文件中没有这一行,你可以手动添加。将 true 替换为具体的版本号,即可强制系统加载特定版本的驱动。

batocera-boot.conf 文件中的相关代码片段如下:

手动覆盖 Nvidia 驱动选择。保持注释状态则由 Batocera 自动选择最合适的驱动。

详情参考 https://wiki.Batocera.org/supported_pc_hardware

true -> 使用当前生产环境版本的驱动。

在配置文件中,你可以根据显卡的型号选择不同的驱动设置:

legacy -> 使用 "legacy" 470 版本驱动(虽然不太可能,但未来可能变动)。

legacy390 -> 使用更早的 390 版本驱动。

false -> 使用开源的 Nouveau 驱动。

nvidia-driver=true

避坑指南:识别你的 Nvidia 显卡

说实话,Nvidia 在旧显卡支持方面的口碑并不算好。官方宣称支持的硬件列表有时并不完全可靠,所以动手前最好自己做点功课。

  • 看架构比看型号重要:搞清楚你显卡的底层架构(Architecture),比如是 Fermi、Maxwell 还是 Kepler 等,这比单纯看数字更能帮你判断它是否真的被系统支持。
  • 笔记本显卡(Laptop GPUs)是重灾区:笔记本显卡的命名非常容易让人产生误解。虽然名字和台式机显卡差不多,但架构可能落后好几代。
    > 生活化类比:这就像有些车虽然挂着“运动版”的徽章,但引擎可能还是好几年前的老款。
  • 注意特殊后缀:带有“700M”或“1050Q”等后缀的显卡,性能和架构通常无法与桌面版相比。一个简单的经验法则(Rule of thumb)是:把它们看作比同名桌面显卡落后一到两个世代。

【注意】关于文件编辑器的严正警告

如果你是在 Windows 系统下修改配置文件,请务必注意文件的“换行格式”。

  • 不要使用记事本(Notepad):传统的 Windows 记事本会把 Unix 系统的换行符(LF)替换为 DOS/Windows 格式的换行符(CR/LF),这会导致 Batocera 无法读取文件。
  • 避开写字板(Wordpad):据用户反馈,写字板也会损坏 Unix 格式的文本文件。
  • 推荐工具:请使用 Notepad++ 等专业的文本编辑器,它们能够完美尊重并保留 Unix 系统的换行规则。

除了在 Windows 上修改,你也可以直接在 Batocera 系统内部进行操作:

  • 第一步:远程连接
    通过 SSH 远程连接(Secure Shell) 接入 Batocera 系统。
  • 第二步:解锁引导分区
    按照之前的说明,将 /boot 分区重新挂载为“可写模式”。
  • 第三步:终端编辑
    使用系统内置的 NanoVim 文本编辑器,直接修改 /boot/batocera-boot.conf 文件。

你的显卡该用哪种驱动?

官方驱动(Official Drivers)

在 Batocera v33 版本中,内置的官方驱动(版本号 495.46)主要支持 Maxwell 架构及更现代的显卡。这涵盖了 GTX 9XX 系列及之后的所有型号。
【提示】有一个特别例外:750Ti 显卡虽然较老,但也包含在官方驱动的支持列表里。

开源驱动(Nouveau Drivers)

讽刺的是,开源驱动(Nouveau)往往比官方驱动兼容性更广,虽然性能稍逊一筹。它是系统的“保底方案”。

生活化类比:如果说官方驱动是为新款跑车量身定制的高级燃料,那么开源驱动就是“万能油”。对于那些本来就跑不动现代大作的老旧显卡,开源驱动能保证它们稳定工作。除了最新的顶尖显卡外,几乎所有显卡都能被它点亮。


检查驱动是否配置成功

你可以按照以下步骤确认你的 Nvidia 驱动是否正在“全速运转”:

  • 第一步:查看系统信息
    进入 系统设置(SYSTEM SETTINGS) -> 信息(INFORMATION)
  • 第二步:观察 OpenGL 描述
    查看 OpenGL 版本(OpenGL version) 这一行。

    • 如果出现了 NVIDIA 字样,恭喜你,配置成功了!
    • 如果显示的是 MESA,说明系统目前并未使用官方驱动,而是在用通用的开源驱动。

【提示】你也可以在终端输入命令 /etc/init.d/S04populate start,来查看 Batocera 启动时自动为你选择了哪个版本。


混合显卡与 Optimus 笔记本(Hybrid/Optimus Nvidia laptops)

生活化类比:这就像有些现代汽车拥有两套动力系统——市区代步用电机(集成显卡),高速超车用引擎(Nvidia 独立显卡)。在笔记本电脑上,这种双显卡切换技术被称为 Optimus

笔记本混合显卡配置指南

首先我们要明确一个概念:这里的混合显卡(Hybrid Graphics)是指笔记本电脑在集成显卡(Integrated Graphics,通常是 Intel)独立显卡(Discrete Graphics,即 Nvidia)之间自动切换的能力,而不是指那种屏幕可拆卸的“二合一”平板电脑。

生活化类比:这就像是一辆“混动汽车”。平时在城里买菜用省油的电动机(集成显卡),一旦上了高速需要超车,就得切换到马力十足的汽油发动机(独立显卡)。


开启高性能模式

对于 2018 年以后生产的笔记本(通常带有 Optimus 显卡切换技术),如果你使用的是 Batocera v31 及更新版本,你需要手动“点火”,告诉系统优先使用高性能的 Nvidia 显卡。

  • 操作步骤:开启 Prime 模式
    在配置文件中找到并确保以下代码行没有被注释(即删掉开头的 # 号):


nvidia-prime=true

  • 针对老版本系统:
    如果你使用的是 Batocera v30 或更旧版本,在激活驱动后,你需要通过 SSH 远程连接(Secure Shell) 或终端手动运行以下命令:
    batocera-hybrid-nvidia

进阶技巧:从硬件底层“锁死”独显

有些笔记本的 BIOS 设置(Basic Input/Output System) 中提供了一个名为 硬件多路复用器(Hardware Multiplexer) 的开关。

  • 操作原理:通过 BIOS 手动关闭集成显卡,让电脑在物理层面上只保留一个显卡设备。
  • 优缺点:这样做省去了处理双驱动切换的麻烦,但代价是你的笔记本会变得非常耗电。

【注意】修改 BIOS 设置具有一定的风险,官方对此操作不提供额外支持,请在动手前确保你了解自己在做什么。


外接 HDMI 接口说明

在处理混合显卡笔记本时,外接显示器的情况会稍微复杂一些,因为有些笔记本的 HDMI 接口是直连独立显卡的,而有些则是通过集成显卡转接的……

解决外接显示器不亮的问题:反向 PRIME 技术

在某些笔记本上,如果你的第二个显卡(独立显卡)拥有主显卡(集成显卡)无法直接访问的输出端口,你可以利用 反向 PRIME(Reverse PRIME) 技术来点亮它们。

生活化类比:这就像是一个“接力赛”。主显卡负责在后台努力“画图”(渲染),画好后迅速把图传给第二个显卡,由它负责把图像最后“投影”到外接屏幕上。


操作步骤:配置显卡分工文件

你需要手动创建一个配置文件,告诉系统如何分配这两个显卡的工作。

  • 第一步:创建配置文件
    通过 SSH 远程连接(Secure Shell) 或在系统界面按 F1 进入终端,运行以下命令创建文件:
    nano /etc/X11/xorg.conf.d/10-GPU.conf

  • 第二步:编写配置内容
    将下面的代码块复制并粘贴到编辑器中。
    【注意】你需要根据自己机器的实际情况修改 BusID(例如参考示例中的 "PCI:1:0:0")。

Section "ServerLayout"
Identifier "layout"
Screen 0 "nouveau"
Inactive "intel"
EndSection

Section "Device"
Identifier  "nouveau"
Driver      "nouveau"
BusID       "PCI:x:x:x" # 示例: "PCI:1:0:0"
EndSection

Section "Screen"
Identifier "nouveau"
Device "nouveau"
EndSection

Section "Device"
Identifier  "intel"
Driver      "intel"
BusID       "PCI:x:x:x"  # 示例: "PCI:0:2:0"
EndSection

Section "Screen"
Identifier "intel"
Device "intel"
EndSection
  • 第三步:保存并退出
    按下键盘上的 [Ctrl] + [X],然后按 Y 确认保存更改。

  • 第四步:永久生效
    运行以下命令,确保你的修改在重启后不会丢失:
    batocera-save-overlay


延伸阅读:旧版 Nvidia 驱动镜像(Legacy Nvidia drivers image)

关于旧版 Nvidia 驱动镜像(Legacy Nvidia drivers image)

【提示】由于旧版驱动现在已经默认集成在 Batocera 的主镜像中,这个独立镜像其实已经不再是必需品了。以下信息仅供参考。

如果你手头的是 GTX 600/700 系列或更老的 Nvidia 显卡,Batocera v33 及更低版本内置的官方驱动可能已经不再支持它们了。

针对这类“老将”显卡,曾经有一段曲折的历史:
* 曾经的变动:早在 5.26 版本时,Batocera 曾一度移除了旧版驱动支持。
* 现状与风险:虽然在下载页面的底部提供了一个包含旧版驱动的未维护测试版(Unmaintained beta build),但由于疏于维护,这个版本可能存在严重的程序错误。
* 【注意】官方不为该版本提供任何技术支持。如果遇到问题,建议先尝试升级到当前最新版本。

另一种思路:拥抱旧版本

如果最新系统跑不动你的老显卡,你也可以尝试使用 5.26 及更早的历史版本。

生活化类比:这就像给老式收音机找零件,没必要非得配最新的数码配件。与其他需要频繁打补丁来保证安全的操作系统不同,Batocera 的核心任务是玩游戏,只要能让你的复古游戏跑起来,用旧版本系统也是完全没问题的。


多 Nvidia 显卡配置(Multiple Nvidia card configuration)

多显卡环境下的 Nvidia 配置指南

如果你的机器里同时插了多块 Nvidia 显卡,你可以手动指定系统到底该用哪一块来运行。

生活化类比:这就像家里同时有两台电视,你可以通过设置,决定让游戏画面默认显示在客厅的大电视上,而不是卧室的小电视上。

操作步骤:手动指定显卡

  • 第一步:创建配置文件
    在系统的用户数据目录中新建一个名为 /userdata/system/99-nvidia.conf 的文件。

  • 第二步:填写显卡信息
    将以下配置信息复制到文件中,并根据你的硬件实际情况进行修改:

Section "Device"
Identifier "VideocardB(lowerDVI)"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1070"
BusID "PCI:2:0:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "VideocardB(lowerDVI)"
Monitor "Samsung0"
DefaultDepth 24
Option "RenderAccel" "On"
Option "HWcursor" "On"
Option "DamageEvents" "True"
SubSection "Display"
Depth 24
EndSubSection
EndSection
  • 第三步:调整设备 ID
    注意修改 BusID。通常情况下,系统检测到的第一块显卡 ID 是 PCI:1:0:0,第二块则是 PCI:2:0:0。如果系统默认选错了显卡,把数字 1 改成 2 试试。

进阶技巧与提示

  • 【提示】如何快速禁用配置
    Batocera 会专门识别名为 99-nvidia.conf 的文件。如果你想临时停用这个设置,只需把文件重命名(例如改为 99-nvidia.conf.backup)即可。

  • 无需重启的“黑科技”
    你可以结合脚本来实现“一键切换”显卡。通过脚本修改后,无需重启整个电脑,只需要重启 EmulationStation(ES 游戏前端系统) 即可生效。


ATI/Radeon 图形显卡相关说明

AMD Radeon 显卡配置指南

AMD 显卡的玩家通常比较省心,因为驱动程序会自动安装并激活,无需任何手动操作。

生活化类比:这就像是“即插即用”的家用电器,接上电源就能直接干活,不需要你再去研究复杂的说明书或手动拨动开关。

不过,AMD 显卡有个常见的“小脾气”:默认情况下,你的 HDMI 接口可能没有声音输出。如果你的设备遇到了这个问题,请参考下面的修复方案。


修复 Radeon HDMI 音频无声音问题

由于部分显示器在开启音频后会出现黑屏问题,Batocera 默认禁用了 Radeon 显卡的 HDMI 音频功能。要重新开启它,我们需要修改引导配置文件。

  • 第一步:找到对应的配置文件
    根据你的 Batocera 版本和启动模式(Boot Mode),文件的存放路径会有所不同:

    • v41 及更高版本
      • EFI 引导模式(EFI boot):路径为 boot/EFI/Batocera/syslinux.cf
      • 传统引导模式(Legacy boot):路径为 boot/boot/syslinux/syslinux.cfg
    • v5.25 到 v40 版本
      • EFI 引导模式:路径为 boot/EFI/syslinux.cfg
      • 传统引导模式:路径为 boot/syslinux/syslinux.cfg
    • v5.24 左右的版本
      • 传统引导模式:路径为 boot/syslinux.cfg
    • v5.XX 及更低版本
      • EFI 引导模式:路径为 EFI/boot/grub.cfg
      • 传统引导模式:路径为 boot/grub.cfg
  • 第二步:修改配置行
    找到相关的启动参数行,在末尾加上 radeon.audio=1

    对于 v5.XX 及以上版本示例:
    原代码如下:
    APPEND label=Batocera console=tty3 quiet loglevel=0 vt.global_cursor_default=0

    修改后应变为:
    APPEND label=Batocera console=tty3 quiet loglevel=0 vt.global_cursor_default=0 radeon.audio=1

    对于 v5.XX 及更低版本示例:
    找到类似下方的入口并进行修改:
    menuentry "Batocera.Linux" {

【提示】请务必准确找到对应版本的路径进行修改,否则配置将无法生效。

对于 v5.XX 及更低版本(使用 GRUB 引导程序的情况),具体的修改示例如下:

  • 修改前:
menuentry "Batocera.Linux" {
    Linux /boot/Linux label=Batocera console=tty3 quiet loglevel=0 vt.global_cursor_default=0
    initrd /boot/initrd.gz
}
  • 修改后(在 Linux 这一行的末尾加上关键参数):
menuentry "Batocera.Linux" {
    Linux /boot/Linux label=Batocera console=tty3 quiet loglevel=0 vt.global_cursor_default=0 radeon.audio=1
    initrd /boot/initrd.gz
}

其他硬件说明

如果你遇到了上述内容未涵盖的其他硬件难题,可以参考我们的故障排查指南(Troubleshooting guide)来进行诊断和修复。

生活化类比:这就像是你的“家庭医生手册”。当常规方案不起作用时,这本手册会教你如何通过各种症状找到问题的根源,并对症下药。


原文: 支持的显卡型号列表 • 翻译: DIY8 Bot

© 版权声明
评论 抢沙发

请登录后发表评论

    暂无评论内容