树莓派配置文档config.txt说明
原文连接:http://elinux.org/RPi_config.txt
由于树莓派并没有传统意义上的BIOS, 所以现在各种系统配置参数通常被存在"config.txt"这个文本文件中.
树莓派的config.txt文件会在ARM内核初始化之前被GPU读取.
这个文件存在引导分区上的.对于Linux, 路径通常是/boot/config.txt, 如果是Windows (或者OS X) 它会被识别为SD卡中可访问部分的一个普通文件.
如果想要编辑配置文件, 请查看介绍R-Pi_配置文件.
你可以使用下列命令去获取当前激活的设置:
1 2 3 | vcgencmd get_config - 列出指定的配置参数. 例如: vcgencmd get_config arm_freq vcgencmd get_config int - 列出所有已设置的整形配置参数(非零) vcgencmd get_config str - 列出所有已设置的字符型配置参数(非零) |
文件格式
当值是整形时格式为"属性=值". 每行只指定一个参数. 注释使用'#'井号作为一行开头.
注意: 在新版的树莓派里每行都有#注释, 要想使用该行参数只需移除#.
下面是示例文件
1 2 3 4 5 6 7 8 9 10 11 | # Force the monitor to HDMI mode so that sound will be sent over HDMI cable hdmi_drive = 2 # Set monitor mode to DMT hdmi_group = 2 # Set monitor resolution to 1024x768 XGA 60Hz (HDMI_DMT_XGA_60) hdmi_mode = 16 # Make display smaller to stop text spilling off the screen overscan_left = 20 overscan_right = 12 overscan_top = 10 overscan_bottom = 10 |
这是另一个示例文件, 包含了各种功能的扩展文档.
内存
disable_l2cache 禁止ARM访问GPU的二级缓存. 相应的需要在内核中关闭二级缓存. 默认为0
gpu_mem GPU内存以兆为单位. 设置ARM和GPU之间的内存分配. ARM会获得剩余所有内存. 最小设为16. 默认为64
gpu_mem_256 对于有256MB内存的树莓派的GPU内存设置. 512MB的派请忽略. 会覆盖gpu_mem. 最大设为192. 默认不设置
gpu_mem_512 对于有512MB内存的树莓派的GPU内存设置. 256MB的派请忽略. 会覆盖gpu_mem. 最大设为448. 默认不设置
disable_pvt 禁止每500毫秒调整一次RAM的刷新率 (RAM温度测量).
CMA - 动态内存分配
自2012年11月19号, 固件和内核开始支持CMA, 这意味运行时可以动态管理ARM和GPU之间的内存分配. 这儿有相关config.txt示例.
cma_lwm 当GPU可用内存低于cma_lwm所设值, 将会向ARM请求一些内存.
cma_hwm 当GPU可用内存高于cma_hwm所设值, 将会向ARM释放一些内存.
要启用CMA,下面的参数需要添加到cmdline.txt文件里:
coherent_pool=6M smsc95xx.turbo_mode=N
视频
视频模式选项
sdtv_mode 为复合信号输出设置视频制式(默认为0)
1 2 3 4 | sdtv_mode = 0 NTSC sdtv_mode = 1 日本版NTSC – 无基座 sdtv_mode = 2 PAL sdtv_mode = 3 巴西版PAL – 副载波为 525 / 60 而不是 625 / 50 |
sdtv_aspect 为复合信号输出设置宽高比(默认为1)
1 | sdtv_aspect = 1 4 : 3 |
sdtv_disable_colourburst 禁止复合信号输出彩色副载波群. 图片会显示为单色, 但是可能会更清晰
1 | sdtv_disable_colourburst = 1 禁止输出彩色副载波群 |
hdmi_safe 使用"安全模式"的设置去尝试用HDMI最大兼容性启动. 这和下面的组合是一个意思: hdmi_force_hotplug=1, config_hdmi_boost=4, hdmi_group=2, hdmi_mode=4,
1 2 | disable_overscan = 0 hdmi_safe = 1 |
hdmi_ignore_edid 如果你的显示器是天朝产的垃圾货, 允许系统忽略EDID显示数据
1 | hdmi_ignore_edid = 0xa5000080 |
hdmi_edid_file 当设为1时, 将会从edid.dat文件中读取EDID数据,而不是从显示器.[1]
1 | hdmi_edid_file = 1 |
hdmi_force_edid_audio 伪装成支持所有音频格式播放, 即便报告不支持也允许通过DTS/AC3.
1 | hdmi_force_edid_audio = 1 |
hdmi_force_edid_3d 伪装成全部CEA模式都支持3D, 即便EDID并不支持.
1 | hdmi_force_edid_3d = 1 |
avoid_edid_fuzzy_match 禁止去模糊匹配EDID中描述的模式. 即便遮蔽错误, 也选用匹配分辨率和最接近帧率的标准模式.
1 | avoid_edid_fuzzy_match = 1 |
hdmi_ignore_cec_init 不发生初始化激活源消息. 避免在重启时使(启用CEC)TV结束待机并切换频道.
1 | hdmi_ignore_cec_init = 1 |
hdmi_ignore_cec 伪装成TV不支持CEC. 将不会支持任何CEC功能.
1 | hdmi_ignore_cec = 1 |
hdmi_force_hotplug 伪装成HDMI热插拔信号被检测到, 出现HDMI显示器被接入
1 | hdmi_force_hotplug = 1 即便没有检测到HDMI显示器也要使用HDMI模式 |
hdmi_ignore_hotplug 伪装成HDMI热插拔信号没有被检测到, 出现HDMI显示器未接入
1 | hdmi_ignore_hotplug = 1 即便检测到HDMI显示器也要使用混合模式 |
hdmi_pixel_encoding 强制像素编码模式. 默认情况下会使用EDID请求的模式, 所以不需要修改.
1 | hdmi_pixel_encoding = 0 default (limited for CEA, full for DMT) |
hdmi_drive 选择HDMI还是DVI模式
1 | hdmi_drive = 1 DVI模式 (没声音) <br>hdmi_drive = 2 HDMI模式 (如果支持并已启用将有声音输出) |
hdmi_group 设置HDMI类型
不指定组, 或者设为0, 将会使用EDID报告的首选组.
1 2 | hdmi_group = 1 CEA hdmi_group = 2 DMT |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人