HDMI配置
在绝大多数情况下,只需使用标准HDMI电缆将配备HDMI的显示器插入设备即可自动使用显示器支持的最佳分辨率。对于迷你HDMI端口和微型HDMI端口,您需要一个迷你HDMI和微型HDMI到全尺寸HDMI引线或适配器来连接每个显示器。
我们的设备HDMI显示分辨率最高可以达到4k,刷新率为60Hz。您必须通过在config.txt中设置hdmi_enable_4Kp60=1标志来启用4Kp60输出。也可以在桌面环境中使用"Raspberry Pi Configuration"工具设置此标志。
如果您正在运行3D图形驱动程序(也称为FKMS驱动程序),则在"Preferences"菜单中,您将找到一个用于设置标准显示(包括多显示设置)的图形应用程序。
HDMI组和模式
HDMI有两个常见的组:CEA(Consumer Electronics Association,电视机使用的标准)和DMT(Display Monitor Timings,显示器通常使用的标准)。每个组公布一组特定的模式,这些模式描述输出的分辨率、帧速率、时钟速率和纵横比。
注 CEA HDMI组用数字1表示,DMT HDMI组用数字2表示。
查看设备支持支持的模式
您可以使用命令行上的tvservice
应用程序来确定设备支持哪些模式,以及其他有用的数据:
tvservice -s
显示当前HDMI状态,包括模式和分辨率tvservice -m CEA
列出了所有支持的CEA模式tvservice -m DMT
列出了所有支持的DMT模式
如果您使用的设备是带有多个HDMI显示接口,则需要告知tvservice
向哪个设备询问信息。您可以使用以下方法获取所有连接设备的显示ID:
tvservice -l
您可以通过在tvservice
命令中添加-v <display id>
来指定tvservices使用的显示器,例如:
#列出了显示器ID 7的所有支持的CEA模式
tvservice-v 7-m CEA,
设置特定HDMI模式
设置特定模式可以在config.txt中通过修改hdmi_group
和hdmi_mode
条目。group条目在CEA或DMT之间进行选择,mode选择分辨率和帧速率。您可以在config.txt视频配置部分找到模式表,但您应该使用上面描述的tvservice
命令来确定设备支持哪些模式。
指定HDMI端口,将索引标识符添加到config.txt中的hdmi_group或hdmi_mode条目,例如hdmi_mode:0或hdmi_group:1。
配置要使用的HDMI组
使用CEA组
hdmi_group=1
使用DMT组
hdmi_group=2
配置分辨率
CEA显示分辨率模式
hdmi_mode | Resolution | Aspect Ratio | Refresh Rate | Notes |
---|---|---|---|---|
1 | 640×480 | 4:3 | 60hz | |
2 | 720×480 | 4:3 | 60hz | |
4 | 1280×720 | 16:9 | 60hz | |
16 | 1920×1080 | 16:9 | 60hz | |
16 | 1920×1080 | 16:9 | 60hz | |
16 | 1920×1080 | 16:9 | 60hz | |
95 | 3840×2160 | 16:9 | 30hz | Raspberry Pi 4 Only. Use this when dealing with two 4k displays. |
97 | 3840×2160 | 16:9 | 60hz | Raspberry Pi 4 Only. To use this hdmi_enable_4kp60=1 must be set in /boot/config.txt. |
DMT显示分辨率模式
hdmi_mode | Resolution | Aspect Ratio | Refresh Rate |
---|---|---|---|
2 | 480p | 4:3 | 60hz |
9 | 800×600 | 4:3 | 60hz |
16 | 1024×768 | 4:3 | 60hz |
85 | 1280×720 | 16:9 | 60hz |
35 | 1280×1024 | 5:4 | 60hz |
51 | 1600×1200 | 4:3 | 60hz |
82 | 1920×1080 | 16:9 | 60hz |
hdmi_mode=[your hdmi mode]
重启生效
使用新的分辨率,需要重启设备生效
reboot
如果因为某些原因,配置新的分辨率后显示屏停止工作,可以尝试在启动过程中按住Shift键。使用这个键可以让设备忽略启动配置文件,用默认设置加载。
设置自定义HDMI模式
设置自定义模式有两个选项:hdmi_cvt
和hdmi_timings
。
hdmi_cvt
设置一个自定义的协调视频计时条目,详细参考:Video Configuration
在某些罕见情况下,可能需要定义HDMI信号的精确时钟要求。这是一个完全自定义的模式,通过设置hdmi_group=2
和hdmi_mode=87
来激活它。然后可以在config.txt中使用hdmi_timings
设置显示器的特定参数。hdmi_timings
指定HDMI信号需要的所有计时。这些计时通常在所使用的显示器的数据手册中可以找到。
hdmi_timings=<h_active_pixels> <h_sync_polarity> <h_front_porch> <h_sync_pulse> <h_back_porch> <v_active_pixels> <h_sync_polarity> <h_front_porch> <h_sync_pulse> <h_back_porch> <v_active_lines> <v_sync_polarity> v_front_porch> <v_sync_pulse> <v_back_porch> <v_sync_offset_a> <v_sync_offset_b> <pixel_rep> <frame_rate> <interlaced> <pixel_freq> <aspect_ratio>
Timing | Purpose |
---|---|
h_active_pixels | The horizontal resolution |
h_sync_polarity | 0 or 1 to define the horizontal sync polarity |
h_front_porch | Number of horizontal front porch pixels |
h_sync_pulse | Width of horizontal sync pulse |
h_back_porch | Number of horizontal back porch pixels |
v_active_lines | The vertical resolution |
v_sync_polarity | 0 or 1 to define the vertical sync polarity |
v_front_porch | Number of vertical front porch pixels |
v_sync_pulse | Width of vertical sync pulse |
v_back_porch | Number of vertical back porch pixels |
v_sync_offset_a | Leave at 0 |
v_sync_offset_b | Leave at 0 |
pixel_rep | Leave at 0 |
frame_rate | Frame rate of mode |
interlaced | 0 for non-interlaced, 1 for interlaced |
pixel_freq | The mode pixel frequency |
aspect_ratio | The aspect ratio required |
aspect_ratio应为以下值之一:
Ratio | aspect_ratio ID |
---|---|
4:3 | 1 |
14:9 | 2 |
16:9 | 3 |
5:4 | 4 |
16:10 | 5 |
15:9 | 6 |
21:9 | 7 |
64:27 | 8 |
旋转显示器显示
旋转显示器的选项取决于设备正在运行的显示器驱动程序,也可能取决于您正在使用的是哪一款设备。
伪或全KMS图形驱动程序
如果您运行的是桌面版系统,则通过使用桌面Preferences菜单中的屏幕配置实用程序来实现旋转。它将连接到设备的一个或多个显示器以图形方式表示。右键单击要旋转的显示器并选择所需选项。
也可以使用命令xrandr更改这些设置。以下命令分别表示0°、-90°、+90°和180°旋转。
xrandr --output HDMI-1 --rotate normal
xrandr --output HDMI-1 --rotate left
xrandr --output HDMI-1 --rotate right
xrandr --output HDMI-1 --rotate inverted
请注意,--output选项指定旋转应用于哪个设备。您可以通过在命令行中键入xrandr
来确定设备名称,它将显示所有连接设备的信息以及名称。
还可以使用--reflect选项来镜像显示。值可以是'normal'、'x'、'y'或'xy'之一。这将导致输出内容在指定的轴上镜像。例如:
xrandr --output HDMI-1 --reflect x
如果您只使用控制台(没有图形桌面),则需要设置适当的内核命令行标志。按如下方式手动修改cmdline.txt文件更改控制台设置。
#不旋转也不镜像翻转
video=HDMI-A-1:1920x1080M@60,margin_left=0,margin_right=0,margin_top=0,margin_bottom=0
#旋转90度并镜像翻转
video=HDMI-A-1:1920x1080M@60,margin_left=0,margin_right=0,margin_top=0,margin_bottom=0,rotate=90,reflect_x
传统图形驱动程序
使用传统图形驱动程序时,config.txt文件有选项用于配置旋转。
display_hdmi_rotate
用于旋转HDMI显示器,display_cd_rotate
用于旋转任何连接的LCD面板(使用DSI或DPI接口)。这些选项可旋转桌面和控制台。这两个选项都采用以下参数之一:
display_*_rotate | result |
---|---|
0 | no rotation |
1 | rotate 90 degrees clockwise |
2 | rotate 180 degrees clockwise |
3 | rotate 270 degrees clockwise |
0x10000 | horizontal flip |
0x20000 | vertical flip |
请注意,90度和270度旋转选项需要GPU上的额外内存,因此这些选项不适用于16MB GPU拆分。
将旋转设置与翻转设置参数值可以通过相加的方式将它们组合在一起。以相同的方式您也可以同时进行水平和垂直翻转。例如180度旋转,同时垂直和水平翻转,参数值为0x20000+0x10000+2=0x30002。
转载自
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。