📖 本文由 Batocera 官方 Wiki 翻译整理,内容可能随版本更新而变化。
树莓派连接 CRT 电视输出指南
如果你怀念老式电视那种独特的显示质感,想要在树莓派上实现 CRT 电视输出(CRT output),这份指南将为你拨开迷雾。
【注意】:本教程仅适用于 Batocera v32 版本。
核心说明:版本是关键
由于 Batocera 在 v33 左右的版本中,为大部分单板计算机(SBC)引入了 Wayland 合成器(Wayland compositor)。这个新技术模块完全不支持从树莓派自带的复合视频接口输出信号。
生活化类比:这就像是你的旧电视只认“老式插头”,而新版系统换了一套只说“数字语言”的管家。如果你坚持要在 v33 或更高版本上玩,可能得买个那种带电源的“HDMI 转模拟信号”转换器,但目前这招好不好使还没人敢打包票。
官方与社区的微妙平衡
你需要明确一点:Batocera 官方并不直接支持 PC 平台(x86_64)的 CRT 输出,树莓派等单板机的 CRT 输出更是处于“非官方”状态。目前的实现方案大多源自于社区大神的“用爱发电”,在特定场景下确实可以跑通。
技术限制与【提示】
由于树莓派自带的图形处理器(GPU)不支持较低的点时钟速率(Dot clocks),如果你打算直接使用它的复合输出(Composite output),会有以下局限性:
- 不支持动态切换分辨率(Switchres)。
- 不支持在不重启的情况下更换分辨率。
- 不支持隔行扫描输出(Interlaced output)等高级 CRT 特性。
【注意】:在 PC 平台上使用的那种“一键 CRT 自动配置脚本”,无法在树莓派等单板机上运行。
前言
(以下为具体操作步骤前的预说明…)
虽然这听起来像是老生常谈,但还是得先敲响警钟。与数字信号不同,模拟信号(Analogue signals)及其接收设备通常没有现代设备那种“自我保护机制”。
【注意】:如果你操作不当,可能会导致显示器损坏、旧保险丝烧断、陈年电容过热,甚至引发火灾。在折腾这些老古董之前,请务必做好功课。你和设备的安全性完全由你自己负责。
生活化类比:现代显示器就像是一个带限流阀的自来水管,压力再大也不会爆管;而老式 CRT 电视更像是一个直接连接大坝的水池,如果你不控制好“水流方向和压力”,池子随时可能被撑爆。
在动手之前,强烈建议先阅读 x86_64 平台的词汇表,熟悉那些 CRT 领域的专用术语。
准备工作
要在你的单板机(SBC)上输出原汁原味的模拟信号,你需要准备好以下“装备”:
- 第一步:确认主机
准备一台带有复合视频输出(Composite output)功能的树莓派(通常是那个耳机孔)。 - 第二步:线材选购
准备一根专为树莓派设计的三极 A/V 复合连接线(Three-pole A/V composite cable)。 - 第三步:显示设备
准备一台带有复合输入(Composite inputs)接口的电视机(即红黄白接口)。
【注意】:如果你的老电视只有 RF 天线接口,那你除了转换器外,还需要一个复合转 RF 调制器(Composite to RF modulator)。 - 第四步:软件工具
- 需要一种SSH 远程连接(Secure Shell)到 Batocera 系统的方法(Windows 用户推荐使用 PuTTY)。
- 需要一种通过网络编辑文件的方法(Windows 用户推荐使用 WinScp 配合 Notepad++)。
关于三极 A/V 复合线
如果你还没有这种线,请确保购买时认准树莓派专用规格:
如果你正准备采购线材,可以参考以下信息:
- [Adafruit 商店的连接线页面]
- [Amazon 商店的连接线页面]
【提示】:除了专门的树莓派线材,Xbox 360E 的三极 A/V 复合连接线同样可以在树莓派上完美运行。
此外,使用带电源的 HDMI 转模拟信号适配器(Active HDMI-to-analogue adapter) 理论上也是可行的,但目前还没有确切的成功案例记录。
社区成员 guywith6magikrp 根据 Kuro 整理的 数模转换器(DACs) 测试名单,整理出了一份兼容 Batocera 的适配器列表。这份名单目前仍在持续更新中:点击查看 Google 表格
开始配置(准备阶段)
好消息是,你甚至不需要开机,直接在电脑上通过读卡器修改 SD 卡就能完成所有核心设置。
【注意】:如果你使用 Windows 系统,请务必使用 Notepad++ 来编辑文件。Windows 自带的“记事本”会破坏文件格式,导致系统无法引导。
- 第一步:准备启动盘
如果你还没操作,请先将 Batocera 系统镜像烧录到微型 SD 卡中。 - 第二步:打开引导分区
将 SD 卡插入电脑,找到名为BATOCERA的引导分区。 - 第三步:修改启动命令行
找到cmdline.txt文件并打开。在这一行文字的最开头,加上下面这段代码:
video=Composite-1:720x480@60ie
生活化类比:这就像是在给管家寄出的信件最前面加上一行“加急说明”。在系统处理其他复杂指令之前,先大声告诉它:“嘿,待会记得从复合接口输出画面,分辨率设置成 720×480 隔行扫描!”
-
第四步:保存并清理
保存cmdline.txt文件。
【注意】:请确保没有误触回车键增加额外的空行或空格,否则可能会导致 Batocera 无法正常开机引导(Booting)。 -
第五步:停用 HDMI 输出
在同一个文件夹下找到config.txt。在所有包含hdmi字样的代码行前面加上一个#号(这叫“注释掉”),告诉系统暂时忽略这些指令。
#hdmi-yadda-yadda
- 第六步:注入 CRT 核心参数
在文件的“主区域”(注意不要写进像[RPI3]这样的特定平台标签里),添加以下代码:
max_framebuffer_width=320
max_framebuffer_height=240
framebuffer_width=320
framebuffer_height=240
enable_tvout=1
sdtv_mode=0
sdtv_aspect=1
audio_pwm_mode=2
disable_fw_kms_setup=1
enable_uart=1
生活化类比:这段代码就像是给树莓派戴上了一副“老花镜”。我们将帧缓冲(Framebuffer)的分辨率强制限定在 320×240,这正是老电视最舒服的视觉区域,同时激活了电视输出接口。
完成这些步骤后,你的树莓派就已经准备好通过复合接口向 CRT 电视发送信号了。接下来你可以先阅读“编辑文件”的相关章节,然后直接跳到 EmulationStation(系统菜单界面) 部分。
关于模拟器的特殊限制
由于硬件架构的差异,树莓派并不支持 动态分辨率切换(Switchres) 或独立版的 MAME(大型电玩模拟器)。因此,任何针对这两者的配置在树莓派上都是无效的。不过,RetroArch(全能模拟器前端) 仍有其独立的配置选项。
【注意】针对树莓派 4(Pi 4)的特别补救
如果你使用的是树莓派 4,且在完成上述操作后发现:系统菜单可以显示,但一启动模拟器就黑屏或闪退,请尝试切换图形驱动程序(Driver)。
我们将从“全功能驱动(KMS)”降级为“固件级驱动(FKMS)”以换取兼容性:
- 在
config.txt中找到[pi4]这一行。 - 找到
dtoverlay=vc4-kms-v3d-pi4,在前面加#注释掉。 - 找到
dtoverlay=vc4-fkms-v3d,去掉前面的#(取消注释)。
【补救措施】针对树莓派 3(Pi 3)的特别调试
如果你使用的是树莓派 3,并且在看到开机 Logo 之后屏幕突然变黑,这通常是系统没能正确识别复合输出路径。
请尝试按照以下步骤调整配置:
- 第一步:定位代码段
在config.txt文件中找到标有[pi3]的段落。 - 第二步:修改驱动指令
找到原本的这一行:
dtoverlay=vc4-kms-v3d - 第三步:手动开启复合输出开关
将其修改为:
dtoverlay=vc4-kms-v3d,composite=1
生活化类比:这就像是你虽然告诉了管家(驱动程序)去干活,但没说清楚具体走哪扇门。加上
,composite=1就像是特意叮嘱他:“嘿,记得走‘复合接口’这道后门送货!”
遇到其他问题怎么办?
如果你在配置过程中遇到了其他麻烦,可以参考 x86_64(PC 平台) 的教程指南,那里的信息会更加详尽。
【提示】:虽然 x86_64 的指南信息丰富,但请注意,其中提到的某些系统行为是 PC 平台特有的,并不一定适用于树莓派等单板机。
原文: Raspberry Pi CRT设置 • 翻译: DIY8 Bot



暂无评论内容