树莓派配置文档config.txt说明

时间:2021-05-13 08:50:55

原文连接:http://elinux.org/RPi_config.txt

由于树莓派并没有传统意义上的BIOS, 所以现在各种系统配置参数通常被存在"config.txt"这个文本文件中.
树莓派的config.txt文件会在ARM内核初始化之前被GPU读取.
这个文件存在引导分区上的.对于Linux, 路径通常是/boot/config.txt, 如果是Windows (或者OS X) 它会被识别为SD卡中可访问部分的一个普通文件.
如果想要编辑配置文件, 请查看介绍R-Pi_配置文件.
你可以使用下列命令去获取当前激活的设置:

vcgencmd get_config  - 列出指定的配置参数. 例如: vcgencmd get_config arm_freq
vcgencmd get_config int - 列出所有已设置的整形配置参数(非零)
vcgencmd get_config str - 列出所有已设置的字符型配置参数(非零)

文件格式
当值是整形时格式为"属性=值". 每行只指定一个参数. 注释使用'#'井号作为一行开头.
注意: 在新版的树莓派里每行都有#注释, 要想使用该行参数只需移除#.
下面是示例文件

# 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)

sdtv_mode=0    NTSC
sdtv_mode=1    日本版NTSC – 无基座
sdtv_mode=2    PAL
sdtv_mode=3    巴西版PAL – 副载波为525/60而不是625/50

sdtv_aspect 为复合信号输出设置宽高比(默认为1)

sdtv_aspect=1  4:3

 sdtv_disable_colourburst 禁止复合信号输出彩色副载波群. 图片会显示为单色, 但是可能会更清晰

sdtv_disable_colourburst=1  禁止输出彩色副载波群

hdmi_safe 使用"安全模式"的设置去尝试用HDMI最大兼容性启动. 这和下面的组合是一个意思: hdmi_force_hotplug=1, config_hdmi_boost=4, hdmi_group=2, hdmi_mode=4,

disable_overscan=0
hdmi_safe=1

hdmi_ignore_edid 如果你的显示器是天朝产的垃圾货, 允许系统忽略EDID显示数据

hdmi_ignore_edid=0xa5000080

hdmi_edid_file 当设为1时, 将会从edid.dat文件中读取EDID数据,而不是从显示器.[1]

hdmi_edid_file=1

hdmi_force_edid_audio 伪装成支持所有音频格式播放, 即便报告不支持也允许通过DTS/AC3.

hdmi_force_edid_audio=1

hdmi_force_edid_3d 伪装成全部CEA模式都支持3D, 即便EDID并不支持.

hdmi_force_edid_3d=1

 avoid_edid_fuzzy_match 禁止去模糊匹配EDID中描述的模式. 即便遮蔽错误, 也选用匹配分辨率和最接近帧率的标准模式.

avoid_edid_fuzzy_match=1

 hdmi_ignore_cec_init 不发生初始化激活源消息. 避免在重启时使(启用CEC)TV结束待机并切换频道.

hdmi_ignore_cec_init=1

hdmi_ignore_cec 伪装成TV不支持CEC. 将不会支持任何CEC功能.

hdmi_ignore_cec=1

 hdmi_force_hotplug 伪装成HDMI热插拔信号被检测到, 出现HDMI显示器被接入

hdmi_force_hotplug=1 即便没有检测到HDMI显示器也要使用HDMI模式

hdmi_ignore_hotplug 伪装成HDMI热插拔信号没有被检测到, 出现HDMI显示器未接入

hdmi_ignore_hotplug=1 即便检测到HDMI显示器也要使用混合模式

hdmi_pixel_encoding 强制像素编码模式. 默认情况下会使用EDID请求的模式, 所以不需要修改.

hdmi_pixel_encoding=0 default       (limited for CEA, full for DMT) 

 hdmi_drive 选择HDMI还是DVI模式

hdmi_drive=1 DVI模式 (没声音) 
hdmi_drive=2 HDMI模式 (如果支持并已启用将有声音输出)

hdmi_group 设置HDMI类型
不指定组, 或者设为0, 将会使用EDID报告的首选组.

hdmi_group=1   CEA
hdmi_group=2   DMT