fly6022
文章17
标签35
分类2
树莓派:配置config.txt实现超频及启用HDMI功能

树莓派:配置config.txt实现超频及启用HDMI功能

本文章以树莓派为例,通过配置 config.txt文件实现对树莓派CPU/GPU的超频并启用HDMI功能。

环境

设备:Raspberry Pi 4B(4GB RAM)

系统:Ubuntu 22.04 LTS(arm64)

你还需要

  • Micro SD Card 读卡器

超频

注意

  1. 在配置config.txt之前,请对原文件进行备份,以免造成树莓派无法启动的后果。

  2. 超频会造成树莓派运行稳定性下降,请根据实际情况合理超频。

  3. force_turbo选项赋值为 1会使CPU强制在最大频率工作,可能会造成严重发热问题,同时会失去保修。

将存储卡连接到电脑上,打开 system-boot文件夹,找到 config.txt文件。

在文件末尾新增一行,添加以下内容:

1
2
3
4
5
6
[pi4]
arm_boost=1
over_voltage=6
arm_freq=2000
gpu_freq=750
force_turbo=0

以下内容摘自 树莓派文档

选项 描述
arm_freq ARM CPU 频率(MHz)。
arm_boost arm_freq提升至板卡类型和固件支持的最高频率。设置为 1时启用。
gpu_freq 同时设置 core_freqh264_freqisp_freqv3d_freqhevc_freq
core_freq GPU 处理器内核的频率(MHz)。影响 CPU 性能,因为它驱动二级缓存和内存总线;二级缓存仅对树莓派 Zero/树莓派 Zero W/树莓派 1 有利;SDRAM 对树莓派2和树莓派3有微小的好处。有关在树莓派4上的使用,请参阅下面的章节。
h264_freq 硬件视频模块的频率(MHz);可单独覆盖 gpu_freq设置。
isp_freq 图像传感器流水线模块的频率(MHz);可单独覆盖 gpu_freq设置。
v3d_freq 3D 模块的频率(MHz);可单独覆盖 gpu_freq设置。在树莓派5上,V3D 独立于 core_freqisp_freqhevc_freq
hevc_freq 高效视频编解码器块的频率(MHz);可单独覆盖 gpu_freq 设置。仅适用于树莓派4。
sdram_freq SDRAM 频率(MHz)。不支持 树莓派 4 或更新版本的 SDRAM 超频。
over_voltage CPU/GPU内核电压上限。该值范围应为 [-16,8],相当于 [0.95V,1.55V](树莓派1 上为 [0.8,1.4V]),步长为 0.025V。换句话说,指定 -16 时,CPU/GPU 内核电压最大值为 0.95V(树莓派 1 为 0.8V);指定 8 时,CPU/GPU 内核电压最大值为 1.55V(树莓派 1 为 1.4V)。有关默认值,请参见下表。只有指定 force_turbo=1时,才允许电压值超过 6:如果同时设置 over_voltage_*>0,则会设置保修位。
over_voltage_sdram 同时设置 over_voltage_sdram_cover_voltage_sdram_iover_voltage_sdram_p
over_voltage_sdram_c SDRAM 控制器电压调整。[-16,8]相当于 [0.8V,1.4V],步长为 0.025V。不支持树莓派4或更高版本设备。
over_voltage_sdram_i SDRAM I/O 电压调整。[-16,8] 相当于 [0.8V,1.4V],步长为 0.025V。不支持树莓派4或更高版本设备。
over_voltage_sdram_p SDRAM phy 电压调整。[-16,8] 相当于 [0.8V,1.4V],步长为 0.025V。不支持树莓派4或更高版本设备。
force_turbo 即使 ARM 内核不忙时也强制执行超频模式频率。如果同时设置了 over_voltage_*,则启用此功能可能会设置保修位。
initial_turbo 在给定值(秒)或 cpufreq 设置频率之前,从启动开始启用超频模式。最大值为 60
arm_freq_min 用于动态频率时钟的 arm_freq最小值。请注意,将该值降至默认值以下并不会显著降低功耗,目前也不支持该功能。
core_freq_min 用于动态频率时钟的 core_freq最小值。
gpu_freq_min 用于动态频率时钟的 gpu_freq最小值。
h264_freq_min 用于动态频率时钟的 h264_freq最小值。
isp_freq_min 用于动态频率时钟的 isp_freq最小值。
v3d_freq_min 用于动态频率时钟的 v3d_freq最小值。
hevc_freq_min 用于动态频率时钟的 hevc_freq最小值。
sdram_freq_min 用于动态频率时钟的 sdram_freq最小值。
over_voltage_min 用于动态频率时钟的 over_voltage。该值范围应为 [-16,8],相当于 [0.8V,1.4V],步长为 0.025V。换句话说,指定 -16 时,CPU/GPU 内核空闲电压为 0.8V,指定 8 时,最低电压为 1.4V。此设置在树莓派4和树莓派5上已被弃用。
over_voltage_delta 在 树莓派4和树莓派5上,over_voltage_delta 参数会在 DVFS 算法计算出的数值上添加以微伏为单位的偏移量。
temp_limit 过热保护。当 SoC 达到该值(摄氏度)时,该参数会将时钟和电压设置为默认值。超过 85 的值将被箝位在 85。
temp_soft_limit 仅限 3A+/3B+ 。CPU 速度节流控制。该值用于设置 CPU 时钟速度节流系统启动时的温度。在此温度下,时钟速度将从1400MHz降至1200MHz。默认值为 60,最大可升至 70,但可能导致不稳定。

HDMI配置

新增一行,添加下列内容(其中 hdmi_grouphdmi_mode的值视具体情况而定):

1
2
3
4
5
hdmi_group=1
hdmi_mode=16
hdmi_enable_4kp60=1
hdmi_force_hotplug=1
config_hdmi_boost=4

将下列内容注释掉:

1
# dtoverlay=vc4-kms-v3d,cma-128

hdmi_grouphdmi_mode的赋值详见 自定义树莓派的显示分辨率 - 树莓派实验室

原版 config.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
[all]
kernel=vmlinuz
cmdline=cmdline.txt
initramfs initrd.img followkernel

[pi4]
max_framebuffers=2
arm_boost=1

[all]
# Enable the audio output, I2C and SPI interfaces on the GPIO header. As these
# parameters related to the base device-tree they must appear *before* any
# other dtoverlay= specification
dtparam=audio=on
dtparam=i2c_arm=on
dtparam=spi=on

# Comment out the following line if the edges of the desktop appear outside
# the edges of your display
disable_overscan=1

# If you have issues with audio, you may try uncommenting the following line
# which forces the HDMI output into HDMI mode instead of DVI (which doesn't
# support audio output)
#hdmi_drive=2

# Enable the serial pins
enable_uart=1

# Autoload overlays for any recognized cameras or displays that are attached
# to the CSI/DSI ports. Please note this is for libcamera support, *not* for
# the legacy camera stack
camera_auto_detect=1
display_auto_detect=1

# Config settings specific to arm64
arm_64bit=1
dtoverlay=dwc2

# Enable the KMS ("full" KMS) graphics overlay, leaving GPU memory as the
# default (the kernel is in control of graphics memory with full KMS)
dtoverlay=vc4-kms-v3d
disable_fw_kms_setup=1

[pi3+]
# Use a smaller contiguous memory area, specifically on the 3A+ to avoid an
# OOM oops on boot. The 3B+ is also affected by this section, but it shouldn't
# cause any issues on that board
dtoverlay=vc4-kms-v3d,cma-128

[pi02]
# The Zero 2W is another 512MB board which is occasionally affected by the same
# OOM oops on boot.
dtoverlay=vc4-kms-v3d,cma-128

[all]

[cm4]
# Enable the USB2 outputs on the IO board (assuming your CM4 is plugged into
# such a board)
dtoverlay=dwc2,dr_mode=host

[all]

本文作者:fly6022
本文链接:https://blog.fly6022.fun/posts/%E6%A0%91%E8%8E%93%E6%B4%BE%EF%BC%9A%E9%85%8D%E7%BD%AEconfig.txt%E5%AE%9E%E7%8E%B0%E8%B6%85%E9%A2%91%E5%8F%8A%E5%90%AF%E7%94%A8HDMI%E5%8A%9F%E8%83%BD/
版权声明:除特殊说明以外,本文采用 署名-非商业性使用 4.0 国际 (CC BY-NC 4.0) 协议进行许可,转载请注明原出处。
×