旧版 config.txt 参数

旧版参数

此处所述的 config.txt 参数被视为陈旧设置,树莓派 Bookworm 系统不再使用,亦无官方支持。它们要么涉及旧软件(如固件中的图形驱动程序)、要么已弃用、要么几乎无人使用。然而,它们仍被记录在此,因为它们对于那些使用旧操作系统的用户,及进行裸机开发的人来说,可能仍有用。

旧版启动参数

(另请参阅 config.txt 启动参数。)

start_xstart_debug

这里提供了代替参数 start_filefixup_file 的简单方法。这是选定固件配置的建议方法。

start_x=1 意味着

  start_file=start_x.elf
  fixup_file=fixup_x.dat

对于树莓派 4,如果存在文件 start4x.elffixup4x.dat,则会使用之。

start_debug=1 意味着

  start_file=start_db.elf
  fixup_file=fixup_db.dat

disable_commandline_tags

若将参数 disable_commandline_tags 置为 1,会在启动内核之前禁止 start.elf 覆盖 ATAGS(从 0x100 开始的内存)。

arm_control

警告

此参数已弃用。请改用 arm_64bit 来启用 64 位内核。

此设置特定于主板的控制位。

armstub

armstub 位于启动分区,是用于加载 ARM stub(存根)的文件名。默认的 ARM 存根存储在固件中,会根据树莓派型号及各种设置自动选定。

存根是在内核运行之前被执行的一小段 ARM 代码。它的任务是设置诸如中断控制器等底层硬件,然后再将控制权移交给内核。

arm_peri_high

若将 arm_peri_high 置为 1:可在树莓派 4 上启用高性能外设模式。若加载了恰当的 DTB,将会自动设定该参数。

注意

若在缺失兼容设备树(DTB)的情况下,启用高性能外设模式,将导致系统无法启动。目前的 ARM 存根支持尚不完善,因此你还需使用 armstub 加载对应的文件。

kernel_address

kernel_address 是加载内核镜像的内存地址。在默认情况下,32 位内核会加载到地址 0x8000,64 位内核会加载到地址 0x200000。若设置了 kernel_old,内核会被加载到地址 0x0

kernel_old

若将 kernel_old 置为 1,可将内核加载至内存地址 0x0

init_uart_baud

init_uart_baud 是串口的初始化波特率。默认值为 115200

init_uart_clock

init_uart_clock 是串口的初始化时钟频率。默认值为 48000000(48MHz)。请注意,此时钟仅适用于 UART0(Linux 为 ttyAMA0),且串口的最大波特率受限为时钟的 1/16。树莓派 3 和树莓派 Zero 的默认串口是 UART1(Linux 为 ttyS0),其时钟等同于核心 VPU 时钟——至少为 250MHz。

bootcode_delay

参数 bootcode_delay 设定了在 bootcode.bin 阶段的延迟(秒),然后再加载 start.elf——默认值为 0

这在读取显示器 EDID 前插入延迟极有用。比如,树莓派和显示器共用一部电源,但显示器的启动时间长于树莓派。如果显示器在初始启动时会检测到错误,但在不断电的情况下重启树莓派后就检测正确了,那么请尝试设置此参数。

boot_delay

参数 boot_delay 意味着在加载内核之前,会在 start.elf 阶段等待给定的时间(秒)。总延迟计算公式为 (1000 x boot_delay) + boot_delay_ms,单位为毫秒。如果你的存储卡需要一些时间才能准备好,继而才能启动 Linux,这可能极有用。

boot_delay_ms

参数 boot_delay_ms 意味着在加载内核之前,会在 start.elf 阶段(含 boot_delay)等待给定的时间(毫秒)。默认值为 0

enable_gic(仅适用于树莓派 4)

在树莓派 4B 上,如果将此值置为 0,则中断将从旧的中断控制器(而非 GIC-400)路由到 Arm 处理器。默认值为 1

sha256

如果设置为非 0 值,则将:为加载的文件(内核、initramfs、设备树 .dtb 文件和叠加层)记录 SHA256 哈希值日志,哈希值由工具 sha256sum 生成。如启用,日志输出将发送到串口,亦可通过 sudo vclog --msg 获取。在调试启动故障时,此参数可能极有用,但可能会使启动时间增加数秒。在所有平台上,默认值均为 0

uart_2ndstage

设置 uart_2ndstage=1 会触发第二阶段加载程序(树莓派 4 之前的设备为 bootcode.bin、树莓派 4 设备为 EEPROM 中的引导代码)和主固件(start*.elf)把诊断信息输出到 UART0。

请注意,输出可能会干扰蓝牙正常工作,除非禁用蓝牙(dtoverlay=disable-bt)或把蓝牙切换到别的串口(dtoverlay=miniuart-bt),如串口同时被用于输出 Linux 数据,则可能会导致数据丢失,从而导致输出故障。此功能应仅在诊断早期引导加载故障时使用。

upstream_kernel

如果设定 upstream_kernel=1,固件会将 os_prefix 设置为"upstream/"——除非已明确将其设置为其他值。但就像其他 os_prefix 值一样,如果在使用前缀时无法找到所需的内核和 .dtb 文件,则会忽略该值。

固件还会优先使用上游 Linux 的 DTB 名称(bcm2837-rpi-3-b.dtb 先于 bcm2710-rpi-3-b.dtb)。如果找不到上游文件,则固件将加载下游衍生文件,并自动加载"upstream"叠加层来进行调整。请注意,此过程发生在 os_prefix 最终确定后。

旧版 GPIO 控制

(另请参阅 config.txt GPIO 控制。)

enable_jtag_gpio

设置 enable_jtag_gpio=1:会把 GPIO 引脚 22-27 设为 Alt4 模式,并在 SoC 内部进行相关配置,从而启用 Arm CPU 的 JTAG 接口。此设置适用于所有型号的树莓派。

引脚号
功能

GPIO22

ARM_TRST

GPIO23

ARM_RTCK

GPIO24

ARM_TDO

GPIO25

ARM_TCK

GPIO26

ARM_TDI

GPIO27

ARM_TMS

旧版超频参数

(另请参阅 config.txt 超频参数。)

超频

never_over_voltage

会在一次性可编程(OTP)存储器中置一个位,防止设备过压。旨在锁定树莓派,以防止无意、或恶意地使用无效过电压篡改保修位。

disable_auto_turbo

对于树莓派 2、3,设置此参数将禁止 GPU 超频。而在特定负载下,GPU 原本可进入超频模式。

旧版条件筛选器

(另请参阅 config.txt 条件筛选器。)

筛选器 [HDMI:*]

注意

此筛选器仅适用于树莓派 4。

树莓派 4 有两个 HDMI 端口,有许多个同 HDMI 相关的 config.txt 参数,有必要指明所选定的 HDMI 端口。HDMI 条件筛选器将后续 HDMI 配置限定到特定端口。

 [HDMI:0]
   hdmi_group=2
   hdmi_mode=45
 [HDMI:1]
   hdmi_group=2
   hdmi_mode=67

所有特定于端口的 HDMI 参数都提供了另外一种语法:变量:值。你可以使用以下内容,这与前面的示例相同:

 hdmi_group:0=2
 hdmi_mode:0=45
 hdmi_group:1=2
 hdmi_mode:1=67

旧版内存参数

(另请参阅 config.txt 内存参数

注意

树莓派 5 不会为操作系统分配 GPU 内存(显存),故以下参数无效。

gpu_mem

指定要为 GPU 保留多少专用内存(MB):剩余内存分配给 Arm CPU 供操作系统使用。对于内存小于 1GB 的树莓派来说,默认值为 64;对于内存为 1GB 及更大容量的树莓派,默认值为 76

重要

与 x86 平台(增大显存可提高 3D 性能)上的 GPU 不同。VideoCore 的架构意味着:指定比必要值更大的值不仅无法带来性能优势,相反还可能会降低性能。

为了确保 Linux 呈最佳性能,你应把 gpu_mem 设置成尽可能低的值。如果某个特定的图形功能无法正常工作,可尝试提高 gpu_mem 的值,但请注意下面展示的建议最大值。

在树莓派 4 上,GPU 的 3D 组件有自己的内存管理单元(MMU),故不使用 gpu_mem 分配的内存,而是使用 Linux 动态分配的内存。这使得树莓派 4 可指定比先前型号还小的 gpu_mem 值。

由旧款内核分配给 GPU 的内存,可用于显示器、3D、编解码器和摄像头等用途,以及一些基本固件管理。下面指定的最大值,假定你正使用着上述所有功能。如无,则应使用较小的 gpu_mem 值。

建议最大值如下:

总内存

建议的 gpu_mem 最大值

256MB

128

512MB

384

1GB 及更大

512、树莓派 4 为 76

重要

树莓派系统上的相机堆栈(libcamera)使用 Linux CMA(连续内存分配器)的内存分配缓冲区,并不占用 GPU 显存,所以增大 GPU 显存没有任何好处可言。

能把 gpu_mem 设置成更大的值,但不建议这么做,因为可能会引发故障(可能妨碍 Linux 启动)。gpu_mem 的最小值为 16——但此值会禁用某些 GPU 功能。

你还可以使用 gpu_mem_256gpu_mem_512gpu_mem_1024,以便在不同内存容量间的树莓派交换同一张存储卡,无需每次都编辑 config.txt

gpu_mem_256

参数 gpu_mem_256 可为搭载 256MB 内存的树莓派设置 GPU 内存(MB)。如果内存容量不是 256MB,则会被忽略。该参数会覆盖 gpu_mem

gpu_mem_512

参数 gpu_mem_512 可为搭载 512MB 内存的树莓派设置 GPU 内存(MB)。如果内存容量不是 512MB,则会被忽略。该参数会覆盖 gpu_mem

gpu_mem_1024

参数 gpu_mem_1024 可为搭载 1GB(及更大容量)内存的树莓派设置 GPU 内存(MB)。如果内存容量小于 1GB,则会被忽略。该参数会覆盖 gpu_mem

disable_l2cache

若将该参数置为 1(并同时禁用 L2 缓存的相关内核),会禁止 CPU 使用 GPU 的 L2 缓存。BCM2835 的默认值为 0。基于 BCM2836、BCM2837、BCM2711 和 BCM2712 的 ARM 有自己的 L2 缓存,故默认值为 1。标准版本的树莓派 kernel.imgkernel7.img 对应了缓存设置的差异。

旧版视频参数

(另请参阅 config.txt 视频参数。)

HDMI 信号格式

注意

因为树莓派 4、400 搭载了两个 HDMI 端口,故某些 HDMI 参数可以应用于特定接口。你可以使用语法 <参数>:<端口>,其中端口值为 01,用来指定此设置应用于哪个端口。如未指定端口,则默认为 0。如果在不支持端口号的参数上指定了端口号,则端口将被忽略。更多有关语法和可选机制的详细信息,请参阅文档的条件部分中的 HDMI 章节。

hdmi_safe

若将 hdmi_safe 置为 1,将触发使用“safe mode(安全模式)”,尝试以最大化 HDMI 兼容性启动。等同于设定以下参数:

hdmi_force_hotplug=1
hdmi_ignore_edid=0xa5000080
config_hdmi_boost=4
hdmi_group=2
hdmi_mode=4
disable_overscan=0
overscan_left=24
overscan_right=24
overscan_top=24
overscan_bottom=24

hdmi_ignore_edid

如果你的显示器没有准确的 EDID。可将 hdmi_ignore_edid 置为 0xa5000080,以忽略显示器的 EDID(扩展显示识别数据)信息。它需要此异常值来避免触发故障。

hdmi_edid_file

若将 hdmi_edid_file 置为 1,将使 GPU 从启动分区中的 edid.dat 文件(而非显示器)中读取 EDID 数据。

hdmi_edid_filename

在树莓派 4B 上,你可以使用参数 hdmi_edid_filename 指定要使用的 EDID 文件的文件名,并指定文件要应用的 HDMI 端口。同时还需要 hdmi_edid_file=1 来启用 EDID 文件。

例如:

hdmi_edid_file=1
hdmi_edid_filename:0=FileForPortZero.edid
hdmi_edid_filename:1=FileForPortOne.edid

hdmi_force_edid_audio

若将 hdmi_force_edid_audio 置为 1,会把显示器伪装成支持一切音频格式,即使实际上不支持 DTS/AC3,也能进行音频透传。

hdmi_ignore_edid_audio

若将 hdmi_ignore_edid_audio 置为 1,会把显示器伪装成不支持一切音频格式。这意味着 ALSA 将默认使用模拟音频(耳机)插孔。

hdmi_force_edid_3d

若将 hdmi_force_edid_3d 置为 1,会将所有的 CEA 信号格式伪装成支持 3D,即使 EDID 信息并未标称支持。

hdmi_ignore_cec_init

若将 hdmi_ignore_cec_init 置为 1,可在启动过程中禁止发送初始化活动源信息。这可以防止:在重启树莓派时,带 CEC 支持的电视机因从待机状态中唤醒而切换频道。

hdmi_ignore_cec

若将 hdmi_ignore_cec 置为 1,会把显示器伪装成不支持 CEC。将不支持一切 CEC 功能。

cec_osd_name

参数 cec_osd_name 可为设备设置初始化 CEC 名称。默认为 Raspberry Pi

hdmi_pixel_encoding

参数 hdmi_pixel_encoding 将强制使用像素编码模式。在默认情况下,它使用从 EDID 请求的信号格式,因此你不大需要更改此参数。

hdmi_pixel_encoding

意义

0

默认值(CEA 为有限 RGB,DMT 为全 RGB)

1

有限 RGB(16-235)

2

全 RGB(0-255)

3

有限 YCbCr(16-235)

4

全 YCbCr(0-255)

hdmi_max_pixel_freq

固件和 KMS 使用像素时钟来选定 HDMI 信号格式。请注意,这与帧率不同。它指定了有效信号格式可以具有的最大频率,从而剔除了更高频率的信号格式。因此,如果你希望彻底禁用 4K 信号格式,你可以指定最大频率为 200000000,因为所有的 4K 信号格式频率均大于此值。

hdmi_blanking

参数 hdmi_blanking 可控制该过程:操作系统为节省电源,要求使用 DPMS(Display Power Management Signaling,显示电源管理信号)让显示器置于待机模式。如果未设置此参数或将其置为 0,则 HDMI 输出将被清空但不会关闭。为了模仿其他计算机的行为,你可以同时把 HDMI 输出也设置为关闭,方法是将此参数置为 1:已连接的显示器将进入低功耗待机模式。

注意

在树莓派 4 上,设置 hdmi_blanking=1 不会停止 HDMI 输出,因为该功能未实现。当使用不使用 framebuffer(帧缓冲器)的应用程序(如 omxplayer)时,此功能可能会引发问题。

hdmi_blanking

说明

0

清空 HDMI 输出

1

清空并关闭 HDMI 输出

hdmi_drive

hdmi_drive 参数能让你在输出信号格式 HDMI 和 DVI 间进行切换。

hdmi_drive

说明

1

普通 DVI 信号格式(无声音)

2

普通 HDMI 信号格式(如果支持且已启用,则有声音)

config_hdmi_boost

配置 HDMI 端口的信号强度。最小值为 0,最大值为 11

早期型号的 B、A 默认值为 2。B+ 及所有后续型号的默认值为 5

如果你遇到了 HDMI 故障(雪花等干扰),请尝试 7。特别长的 HDMI 线缆可能需要 11 这么大才行——但除非绝对必要,否则不应使用这么高的值。

旧款树莓派 4 会忽略此参数。

hdmi_group

hdmi_group 参数定义了 HDMI 输出组,可以是 CEA(美国消费电子协会标准,一般由电视使用)和 DMT(显示监视器时序标准,一般由显示器使用)。此设置应与 hdmi_mode 联合使用。

hdmi_group

说明

0

自动检测 EDID

1

CEA

2

DMT

hdmi_mode

hdmi_group 一道,hdmi_mode 定义了 HDMI 输出格式。信号格式编号符合 CTA 规范

注意

并非全部型号都能使用以下所有信号格式。

以下值仅在 hdmi_group=1(CEA)下有效:

hdmi_mode

分辨率

刷新率

屏幕比例

备注

1

VGA(640x480)

60Hz

4:3

2

480p

60Hz

4:3

3

480p

60Hz

16:9

4

720p

60Hz

16:9

5

1080i

60Hz

16:9

6

480i

60Hz

4:3

7

480i

60Hz

16:9

8

240p

60Hz

4:3

9

240p

60Hz

16:9

10

480i

60Hz

4:3

四倍像素

11

480i

60Hz

16:9

四倍像素

12

240p

60Hz

4:3

四倍像素

13

240p

60Hz

16:9

四倍像素

14

480p

60Hz

4:3

双倍像素

15

480p

60Hz

16:9

双倍像素

16

1080p

60Hz

16:9

17

576p

50Hz

4:3

18

576p

50Hz

16:9

19

720p

50Hz

16:9

20

1080i

50Hz

16:9

21

576i

50Hz

4:3

22

576i

50Hz

16:9

23

288p

50Hz

4:3

24

288p

50Hz

16:9

25

576i

50Hz

4:3

四倍像素

26

576i

50Hz

16:9

四倍像素

27

288p

50Hz

4:3

四倍像素

28

288p

50Hz

16:9

四倍像素

29

576p

50Hz

4:3

双倍像素

30

576p

50Hz

16:9

双倍像素

31

1080p

50Hz

16:9

32

1080p

24Hz

16:9

33

1080p

25Hz

16:9

34

1080p

30Hz

16:9

35

480p

60Hz

4:3

四倍像素

36

480p

60Hz

16:9

四倍像素

37

576p

50Hz

4:3

四倍像素

38

576p

50Hz

16:9

四倍像素

39

1080i

50Hz

16:9

降低清屏时间

40

1080i

100Hz

16:9

41

720p

100Hz

16:9

42

576p

100Hz

4:3

43

576p

100Hz

16:9

44

576i

100Hz

4:3

45

576i

100Hz

16:9

46

1080i

120Hz

16:9

47

720p

120Hz

16:9

48

480p

120Hz

4:3

49

480p

120Hz

16:9

50

480i

120Hz

4:3

51

480i

120Hz

16:9

52

576p

200Hz

4:3

53

576p

200Hz

16:9

54

576i

200Hz

4:3

55

576i

200Hz

16:9

56

480p

240Hz

4:3

57

480p

240Hz

16:9

58

480i

240Hz

4:3

59

480i

240Hz

16:9

60

720p

24Hz

16:9

61

720p

25Hz

16:9

62

720p

30Hz

16:9

63

1080p

120Hz

16:9

64

1080p

100Hz

16:9

65

自定义

66

720p

25Hz

64:27

树莓派 4

67

720p

30Hz

64:27

树莓派 4

68

720p

50Hz

64:27

树莓派 4

69

720p

60Hz

64:27

树莓派 4

70

720p

100Hz

64:27

树莓派 4

71

720p

120Hz

64:27

树莓派 4

72

1080p

24Hz

64:27

树莓派 4

73

1080p

25Hz

64:27

树莓派 4

74

1080p

30Hz

64:27

树莓派 4

75

1080p

50Hz

64:27

树莓派 4

76

1080p

60Hz

64:27

树莓派 4

77

1080p

100Hz

64:27

树莓派 4

78

1080p

120Hz

64:27

树莓派 4

79

1680x720

24Hz

64:27

树莓派 4

80

1680x720

25z

64:27

树莓派 4

81

1680x720

30Hz

64:27

树莓派 4

82

1680x720

50Hz

64:27

树莓派 4

83

1680x720

60Hz

64:27

树莓派 4

84

1680x720

100Hz

64:27

树莓派 4

85

1680x720

120Hz

64:27

树莓派 4

86

2560x720

24Hz

64:27

树莓派 4

87

2560x720

25Hz

64:27

树莓派 4

88

2560x720

30Hz

64:27

树莓派 4

89

2560x720

50Hz

64:27

树莓派 4

90

2560x720

60Hz

64:27

树莓派 4

91

2560x720

100Hz

64:27

树莓派 4

92

2560x720

120Hz

64:27

树莓派 4

93

2160p

24Hz

16:9

树莓派 4

94

2160p

25Hz

16:9

树莓派 4

95

2160p

30Hz

16:9

树莓派 4

96

2160p

50Hz

16:9

树莓派 4

97

2160p

60Hz

16:9

树莓派 4

98

4096x2160

24Hz

256:135

树莓派 4

99

4096x2160

25Hz

256:135

树莓派 4

100

4096x2160

30Hz

256:135

树莓派 4

101

4096x2160

50Hz

256:135

树莓派 4 ①

102

4096x2160

60Hz

256:135

树莓派 4 ①

103

2160p

24Hz

64:27

树莓派 4

104

2160p

25Hz

64:27

树莓派 4

105

2160p

30Hz

64:27

树莓派 4

106

2160p

50Hz

64:27

树莓派 4

107

2160p

60Hz

64:27

树莓派 4

① 仅在处理器超频主频下可用:须设置 core_freq_min=600core_freq=600请参阅超频

双倍像素、四倍像素意味着更高的时钟主频,每个像素各重复两次、四次。

以下值仅在 hdmi_group=2(DMT)下有效:

hdmi_mode

分辨率

刷新率

屏幕比例

备注

1

640x350

85Hz

2

640x400

85Hz

16:10

3

720x400

85Hz

4

640x480

60Hz

4:3

5

640x480

72Hz

4:3

6

640x480

75Hz

4:3

7

640x480

85Hz

4:3

8

800x600

56Hz

4:3

9

800x600

60Hz

4:3

10

800x600

72Hz

4:3

11

800x600

75Hz

4:3

12

800x600

85Hz

4:3

13

800x600

120Hz

4:3

14

848x480

60Hz

16:9

15

1024x768

43Hz

4:3

树莓派不兼容

16

1024x768

60Hz

4:3

17

1024x768

70Hz

4:3

18

1024x768

75Hz

4:3

19

1024x768

85Hz

4:3

20

1024x768

120Hz

4:3

21

1152x864

75Hz

4:3

22

1280x768

60Hz

15:9

降低清屏时间

23

1280x768

60Hz

15:9

24

1280x768

75Hz

15:9

25

1280x768

85Hz

15:9

26

1280x768

120Hz

15:9

降低清屏时间

27

1280x800

60

16:10

降低清屏时间

28

1280x800

60Hz

16:10

29

1280x800

75Hz

16:10

30

1280x800

85Hz

16:10

31

1280x800

120Hz

16:10

降低清屏时间

32

1280x960

60Hz

4:3

33

1280x960

85Hz

4:3

34

1280x960

120Hz

4:3

降低清屏时间

35

1280x1024

60Hz

5:4

36

1280x1024

75Hz

5:4

37

1280x1024

85Hz

5:4

38

1280x1024

120Hz

5:4

降低清屏时间

39

1360x768

60Hz

16:9

40

1360x768

120Hz

16:9

降低清屏时间

41

1400x1050

60Hz

4:3

降低清屏时间

42

1400x1050

60Hz

4:3

43

1400x1050

75Hz

4:3

44

1400x1050

85Hz

4:3

45

1400x1050

120Hz

4:3

降低清屏时间

46

1440x900

60Hz

16:10

降低清屏时间

47

1440x900

60Hz

16:10

48

1440x900

75Hz

16:10

49

1440x900

85Hz

16:10

50

1440x900

120Hz

16:10

降低清屏时间

51

1600x1200

60Hz

4:3

52

1600x1200

65Hz

4:3

53

1600x1200

70Hz

4:3

54

1600x1200

75Hz

4:3

55

1600x1200

85Hz

4:3

56

1600x1200

120Hz

4:3

降低清屏时间

57

1680x1050

60Hz

16:10

降低清屏时间

58

1680x1050

60Hz

16:10

59

1680x1050

75Hz

16:10

60

1680x1050

85Hz

16:10

61

1680x1050

120Hz

16:10

降低清屏时间

62

1792x1344

60Hz

4:3

63

1792x1344

75Hz

4:3

64

1792x1344

120Hz

4:3

降低清屏时间

65

1856x1392

60Hz

4:3

66

1856x1392

75Hz

4:3

67

1856x1392

120Hz

4:3

降低清屏时间

68

1920x1200

60Hz

16:10

降低清屏时间

69

1920x1200

60Hz

16:10

70

1920x1200

75Hz

16:10

71

1920x1200

85Hz

16:10

72

1920x1200

120Hz

16:10

降低清屏时间

73

1920x1440

60Hz

4:3

74

1920x1440

75Hz

4:3

75

1920x1440

120Hz

4:3

降低清屏时间

76

2560x1600

60Hz

16:10

降低清屏时间

77

2560x1600

60Hz

16:10

78

2560x1600

75Hz

16:10

79

2560x1600

85Hz

16:10

80

2560x1600

120Hz

16:10

降低清屏时间

81

1366x768

60Hz

16:9

82

1920x1080

60Hz

16:9

1080p

83

1600x900

60Hz

16:9

降低清屏时间

84

2048x1152

60Hz

16:9

降低清屏时间

85

1280x720

60Hz

16:9

720p

86

1366x768

60Hz

16:9

降低清屏时间

注意

像素时钟有限制。树莓派 4 之前的型号支持的最高信号格式为 1920×1200 60Hz,带降低清屏(reduced blanking)时间,而树莓派 4 可以支持高达 4096×2160(俗称 4k)60Hz。还请注意,如果你正在使用树莓派 4 的两个 HDMI 端口进行 4k 输出,则两者都将被限制至 30Hz。

hdmi_timings

可自定义原始 HDMI 时序值:用 hdmi_group=2hdmi_mode=87 可自定义信号格式。

hdmi_timings=<水平有效像素> <水平同步极性> <水平前沿填充> <水平同步脉冲> <水平后沿填充> <垂直有效行数> <垂直同步极性> <垂直前沿填充> <垂直同步脉冲> <垂直后沿填充> <垂直同步偏移量A> <垂直同步偏移量B> <像素复制> <帧率> <隔行> <像素频率> <宽高比>
<水平有效像素>     = 水平像素(宽度)
<水平同步极性>     = 反转水平同步信号极性
<水平上沿填充>     = 从数据使能(DE)信号激活后的水平上沿填充
<水平同步脉冲>     = 水平同步信号脉冲宽度(以像素时钟为单位)
<水平下沿填充>     = 从数据使能(DE)信号激活后的水平下沿填充
<垂直有效行数>     = 垂直像素高度(行数)
<垂直同步极性>     = 反转垂直同步信号极性
<垂直上沿填充>     = 从数据使能(DE)信号激活后的垂直上沿填充
<垂直同步脉冲>     = 垂直同步信号脉冲宽度(以像素时钟为单位)
<垂直下沿填充>     = 从数据使能(DE)信号激活后的垂直下沿填充
<垂直同步偏移量 A> = 保持为零
<垂直同步偏移量 B> = 保持为零
<像素复制>      = 保持为零
<帧率>            = 屏幕刷新率(以赫兹为单位)
<隔行>            = 保持为零
<像素频率>      = 时钟频率(水平有效像素 + 水平前沿填充 + 水平同步脉冲 + 水平后沿填充)
                         *(垂直有效行数 + 垂直前沿填充 + 垂直同步脉冲 + 垂直后沿填充)
                         * 刷新率
<宽高比>          = [参见脚注]

可将宽高比设置为以下八个值之一。请从以下选项中,选择一个与你屏幕的宽高比最相近的值:

宽高比
名称

4:3

HDMI_ASPECT_4_3

1

14:9

HDMI_ASPECT_14_9

2

16:9

HDMI_ASPECT_16_9

3

5:4

HDMI_ASPECT_5_4

4

16:10

HDMI_ASPECT_16_10

5

15:9

HDMI_ASPECT_15_9

6

21:9

HDMI_ASPECT_21_9

7

64:27

HDMI_ASPECT_64_27

8

hdmi_force_mode

若置为 1,将从内部列表中删除所有除 hdmi_modehdmi_group 指定外的其他信号格式,这意味着它们不会出现在一切信号格式的枚举列表中。如果显示器似乎无视 hdmi_modehdmi_group 配置,此参数可能有用。

edid_content_type

强制将 EDID 的内容类型设置为特定值。

参数如下:

  • 0 = EDID_ContentType_NODATA,内容类型为无

  • 1 = EDID_ContentType_Graphics,内容类型为图形,必须把 ITC 置为 1

  • 2 = EDID_ContentType_Photo,内容类型为照片

  • 3 = EDID_ContentType_Cinema,内容类型为电影

  • 4 = EDID_ContentType_Game,内容类型游戏

我的显示器能使用哪些值?

你的 HDMI 显示器可能仅支持有限的信号格式。要找出受支持的格式,请使用以下方法:

  • 将输出格式设置为 VGA 60Hz ( hdmi_group=1hdmi_mode=1 ) ,然后启动你的树莓派

  • 输入以下参数可列出受支持的 CEA 信号格式: /opt/vc/bin/tvservice -m CEA

  • 输入以下参数可列出受支持的 DMT 信号格式: /opt/vc/bin/tvservice -m DMT

  • 输入以下参数可显示当前状态: /opt/vc/bin/tvservice -s

  • 输入以下参数可从你的显示器中获取更详细的信息: /opt/vc/bin/tvservice -d edid.dat; /opt/vc/bin/edidparser edid.dat

在排除默认 HDMI 信号格式的故障时,也应附带 edid.dat

自定义信号格式

如果你的显示器所需的信号格式未列在上述表格中,那么可以为其自定义一种 CVT 信号格式:

hdmi_cvt=<> <高> <帧率> <宽高比> <边距> <交错> <降低清屏时间>
默认值
说明

(必填)

像素宽度

(必填)

像素高度

帧率

(必填)

每秒帧数

宽高比

3

宽高比 1=4:3、2=14:9、3=16:9、4=5:4、5=16:10、6=15:9

边距

0

0=禁用边距、1=启用边距

交错

0

0=逐行扫描、1=隔行扫描

降低清屏时间

0

0=正常、1=降低清屏时间

可省略末尾的字段,使用默认值。

请注意,这仅 创建了 信号格式(group 2 mode 87)。要使树莓派默认应用该信号格式,你需要进行一些额外设置。例如,要选择分辨率 800×480 并启用音频驱动:

hdmi_cvt=800 480 60 6
hdmi_group=2
hdmi_mode=87
hdmi_drive=2

如果你的显示器不支持标准 CVT 时序,则可能无法正常工作。

复合视频信号格式

sdtv_mode

参数 sdtv_mode 定义了用于复合视频输出的电视标准。

sdtv_mode

意义

0(默认)

普通 NTSC

1

日式 NTSC ——无黑电平(pedestal)

2

普通 PAL

3

巴西式 PAL:使用 525/60 而非 625/50,副载波不同

16

逐行扫描的 NTSC

18

逐行扫描的 PAL

sdtv_aspect

sdtv_aspect 参数定义了复合视频输出的纵横比。默认值为 1

sdtv_aspect

意义

1

4:3

2

14:9

3

16:9

sdtv_disable_colourburst

若将 sdtv_disable_colourburst 置为 1,会禁用复合视频输出上的彩色突发信号。图片将以单色显示,但可能会更清晰。

液晶显示屏和触摸屏

display_default_lcd

如果检测到了树莓派触摸显示屏,它将被用作默认显示器,并显示帧缓冲区。设置 display_default_lcd=0 可确保液晶显示屏并非是默认显示器,这通常意味着使用 HDMI 的默认输出。仍可通过在受支持的应用程序(如 omxplayer)中选择显示器编号来使用液晶显示屏。

lcd_framerate

可指定树莓派触摸显示屏的帧率(Hz/fps)。默认为 60Hz。

lcd_rotate

将使用 LCD 内置的旋转功能调整显示方向,这比使用基于 GPU 的旋转操作更节省计算资源。

如,lcd_rotate=2 可回正倒立的显示界面。

enable_dpi_lcd

启用连接到 DPI GPIO 的 LCD 显示器。将允许使用并行显示接口的第三方 LCD 显示器。

dpi_group, dpi_mode, dpi_output_format

参数 dpi_groupdpi_mode config.txt 用于设置预定信号格式(在 HDMI 中使用的 DMT、CEA 信号格式,如上所述)。用户可以以与 HDMI 相同的方式生成自定义信号格式(请参阅 dpi_timings 部分)。

dpi_output_format 是个位掩码,可指定用于设置显示格式的各种参数。

dpi_timings

可设置原始 DPI 时序值,用于自定义信号格式,通过 dpi_group=2dpi_mode=87 选定。

dpi_timings=<水平有效像素> <水平同步极性> <水平前沿填充> <水平同步脉冲> <水平后沿填充> <垂直有效行数> <垂直同步极性> <垂直前沿填充> <垂直同步脉冲> <垂直后沿填充> <垂直同步偏移量 A> <垂直同步偏移量 B> <像素复制> <帧率> <隔行> <像素频率> <宽高比>
<水平有效像素>     = 水平像素(宽度)
<水平同步极性>     = 反转水平同步信号极性
<水平上沿填充>     = 从数据使能(DE)信号激活后的水平上沿填充
<水平同步脉冲>     = 水平同步信号脉冲宽度(以像素时钟为单位)
<水平下沿填充>     = 从数据使能(DE)信号激活后的水平下沿填充
<垂直有效行数>     = 垂直像素高度(行数)
<垂直同步极性>     = 反转垂直同步信号极性
<垂直上沿填充>     = 从数据使能(DE)信号激活后的垂直上沿填充
<垂直同步脉冲>     = 垂直同步信号脉冲宽度(以像素时钟为单位)
<垂直下沿填充>     = 从数据使能(DE)信号激活后的垂直下沿填充
<垂直同步偏移量 A> = 保持为零
<垂直同步偏移量 B> = 保持为零
<像素复制>        = 保持为零
<帧率>           = 屏幕刷新率(Hz)
<隔行>           = 保持为零
<像素频率>        = 时钟频率(水平有效像素 + 水平前沿填充 + 水平同步脉冲 + 水平后沿填充)
                        *(垂直有效行数 + 垂直前沿填充 + 垂直同步脉冲 + 垂直后沿填充)
                        * 刷新率
<宽高比>          = [参见脚注]

可将宽高比设置为以下八个值之一。请从以下选项中,选择一个与你屏幕的宽高比最相近的值:

宽高比
名称

4:3

HDMI_ASPECT_4_3

1

14:9

HDMI_ASPECT_14_9

2

16:9

HDMI_ASPECT_16_9

3

5:4

HDMI_ASPECT_5_4

4

16:10

HDMI_ASPECT_16_10

5

15:9

HDMI_ASPECT_15_9

6

21:9

HDMI_ASPECT_21_9

7

64:27

HDMI_ASPECT_64_27

8

通用显示参数

hdmi_force_hotplug

若将 hdmi_force_hotplug 置为 1,会把 HDMI 热插拔信号伪装已触发,使系统认为已接入了 HDMI 显示器。换句话说,即使未检测到 HDMI 显示器,也会使用 HDMI 信号输出。

hdmi_ignore_hotplug

若将 hdmi_ignore_hotplug 置为 1,会把 HDMI 热插拔信号伪装成未被触发,因此看起来好似没有连接 HDMI 显示器一样。因此,即使连接了显示器,HDMI 输出也将被禁用。

disable_overscan

disable_overscan 的默认值为 0,将为左右上下四周边缘设置默认的过扫描值:CEA 高清信号为 48、对于 CEA 标清信号格式为 32、DMT 信号格式为 0

若将 disable_overscan 置为 1,将禁用固件设置的默认的过扫描值。

overscan_left

参数 overscan_left 可指定将添加到屏幕左边缘的固件默认过扫描值的像素数。默认值为 0

若文本溢出屏幕左边缘,请增加此值;若屏幕左边缘和文本之间有黑色边框,请调低此值。

overscan_right

参数 overscan_right 可指定将添加到屏幕右边缘过扫描的固件默认值的像素数。默认值为 0

若文本溢出屏幕右边缘,请增加此值;若屏幕右边缘和文本之间有黑色边框,请减少此值。

overscan_top

overscan_top 参数可指定将添加到屏幕顶部过扫描的固件默认值的像素数。默认值为 0

若文本溢出屏幕顶部边缘,请增加此值;若屏幕顶部边缘和文本之间有黑色边框,请减少此值。

overscan_bottom

overscan_bottom 参数可指定将添加到屏幕底部边缘过扫描的像素数。默认值为 0

若文本溢出屏幕底部边缘,请增加此值;若屏幕底部边缘和文本之间有黑色边框,请减少此值。

overscan_scale

若将 overscan_scale 置为 1,可强制所有非帧缓冲层遵守过扫描设置。默认值为 0

注意

通常不建议使用此功能:若这样做,显示器上的所有图层都将由 GPU 缩放,可能会降低图像质量。建议针对显示器自身禁用过扫描,以避免图像被 GPU 和显示器缩放两回。

framebuffer_width

参数 framebuffer_width 可指定像素中的控制台帧缓冲区宽度。默认值为显示宽度减去总水平过扫描量。

framebuffer_height

参数 framebuffer_height 可指定控制台帧缓冲区的像素高度。默认值为显示高度减去总垂直过扫描量。

max_framebuffer_heightmax_framebuffer_width

可指定内部帧缓冲区的最大尺寸。

framebuffer_depth

使用 framebuffer_depth 来指定每像素位的控制台帧缓冲区深度。默认值为 16

framebuffer_depth

结果

注解

8

8 位帧缓冲区

默认的 RGB 调色板使屏幕难以看清

16

16 位帧缓冲区

24

24 位帧缓冲区

可能导致显示器损坏

32

32 位帧缓冲区

可能需要与 framebuffer_ignore_alpha=1 联合使用

framebuffer_ignore_alpha

若将 framebuffer_ignore_alpha 置为 1,会禁用 alpha 管道。可以改善 32 位 framebuffer_depth 显示。

framebuffer_priority

如设备接入了多个显示器,若此时使用旧款(KMS 之前)图形驱动程序,回强制特定的内部显示设备成为首个 Linux 帧缓冲区(即 /dev/fb0)。

可设置的参数有:

显示器
ID

主 LCD

0

次 LCD

1

HDMI 0

2

复合视频输出

3

HDMI 1

7

max_framebuffers

此配置条目将设置可创建的固件帧缓冲区的最大数量。有效值为 012。在旧设备上,默认设置为 1,因此当使用多个显示器时(如 HDMI、DSI、DPI 显示器)时,需要将其增加到 2。树莓派 4 的默认配置即是 2,因为它有两个 HDMI 端口。

在大多数情况下,将其设置为 2 是安全的,因为只有在实际检测到已连接的设备后才会创建帧缓冲区。

若将此值置为 0,可在无头模式下减少内存需求,因为这将阻止分配帧缓冲区。

test_mode

参数 test_mode 可在启动过程中,以持续给定的时间(秒),显示测试图像和声音(仅输出至复合视频输出和模拟音频),然后继续正常启动操作系统。用作工厂测试。默认值为 0

display_hdmi_rotate

使用 display_hdmi_rotate 旋转、镜像 HDMI 显示方向。默认值为 0

display_hdmi_rotate

意义

0

不改变屏幕方向

1

顺时针旋转 90 度

2

顺时针旋转 180 度

3

顺时针旋转 270 度

65536

水平镜像

131072

垂直镜像

请注意,旋转 90 度、270 度需要更多的 GPU 内存,因此这些参数在 16MB GPU 分配下不可用。

你可以组合旋转、镜像将其叠加。你也可以用相同的方式同时进行水平镜像和垂直镜像。例如,旋转 180 度,再加上垂直镜像、水平镜像为 0x20000 + 0x10000 + 2 = 0x30002

display_lcd_rotate

对于旧款图形驱动程序(适用于树莓派 4 先前的型号),请使用 display_lcd_rotate 来旋转和镜像 LCD 方向。参数与 display_hdmi_rotate 相同。另请参阅 lcd_rotate

display_rotate

在最新款固件中,display_rotate 已弃用。仅保留用于向下兼容。请改用 display_lcd_rotatedisplay_hdmi_rotate

使用 display_rotate 可旋转和镜像屏幕方向。参数与 display_hdmi_rotate 相同。

其他参数

dispmanx_offline

可强制在两个离屏帧缓冲区中离线完成 dispmanx 合成。这样可以合成更多的 dispmanx 元素,但速度较慢,可能会将屏幕帧率限制在约 30fps 左右。

旧版树莓派 4 HDMI 管道

重要

当使用图形驱动程序 VC4 KMS 时,完整的显示管道由 Linux 管理——包括 HDMI 输出。这些设置仅兼容于旧的 FKMS 和基于固件的图形驱动程序。

树莓派 4 无法在 HDMI 输出 1366×768 @ 60Hz。对于这些显示器,可配置其使用 1360×768 @ 60Hz。它们通常未通过 EDID 广播此信号格式,因此无法自动选定,但可以手动添加来选定:

hdmi_group=2
hdmi_mode=87
hdmi_cvt=1360 768 60

……到 config.txt。

hdmi_timings= 这一行,手动指定的时间也需要遵守限制:所有水平时序参数必须为 2 的倍数。

dpi_timings= 不受相同限制,因为该管道在每个时钟周期仍然仅运行一个像素。

其他旧版参数

avoid_warnings

avoid_warnings=2:允许在低电压下进入超频模式。

logging_level

设置 VideoCore 的日志级别。该值是 VideoCore 的一个特定的位掩码。

最后更新于

FreeBSD 中文社区 2024