头图

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_grouphdmi_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_modeResolutionAspect RatioRefresh RateNotes
1640×4804:360hz
2720×4804:360hz
41280×72016:960hz
161920×108016:960hz
161920×108016:960hz
161920×108016:960hz
953840×216016:930hzRaspberry Pi 4 Only. Use this when dealing with two 4k displays.
973840×216016:960hzRaspberry Pi 4 Only. To use this hdmi_enable_4kp60=1 must be set in /boot/config.txt.

DMT显示分辨率模式

hdmi_modeResolutionAspect RatioRefresh Rate
2480p4:360hz
9800×6004:360hz
161024×7684:360hz
851280×72016:960hz
351280×10245:460hz
511600×12004:360hz
821920×108016:960hz
hdmi_mode=[your hdmi mode]

重启生效

使用新的分辨率,需要重启设备生效

reboot

如果因为某些原因,配置新的分辨率后显示屏停止工作,可以尝试在启动过程中按住Shift键。使用这个键可以让设备忽略启动配置文件,用默认设置加载。

设置自定义HDMI模式

设置自定义模式有两个选项:hdmi_cvthdmi_timings

hdmi_cvt设置一个自定义的协调视频计时条目,详细参考:Video Configuration

在某些罕见情况下,可能需要定义HDMI信号的精确时钟要求。这是一个完全自定义的模式,通过设置hdmi_group=2hdmi_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>
TimingPurpose
h_active_pixelsThe horizontal resolution
h_sync_polarity0 or 1 to define the horizontal sync polarity
h_front_porchNumber of horizontal front porch pixels
h_sync_pulseWidth of horizontal sync pulse
h_back_porchNumber of horizontal back porch pixels
v_active_linesThe vertical resolution
v_sync_polarity0 or 1 to define the vertical sync polarity
v_front_porchNumber of vertical front porch pixels
v_sync_pulseWidth of vertical sync pulse
v_back_porchNumber of vertical back porch pixels
v_sync_offset_aLeave at 0
v_sync_offset_bLeave at 0
pixel_repLeave at 0
frame_rateFrame rate of mode
interlaced0 for non-interlaced, 1 for interlaced
pixel_freqThe mode pixel frequency
aspect_ratioThe aspect ratio required

aspect_ratio应为以下值之一:

Ratioaspect_ratio ID
4:31
14:92
16:93
5:44
16:105
15:96
21:97
64:278

旋转显示器显示

旋转显示器的选项取决于设备正在运行的显示器驱动程序,也可能取决于您正在使用的是哪一款设备。

伪或全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_*_rotateresult
0no rotation
1rotate 90 degrees clockwise
2rotate 180 degrees clockwise
3rotate 270 degrees clockwise
0x10000horizontal flip
0x20000vertical flip

请注意,90度和270度旋转选项需要GPU上的额外内存,因此这些选项不适用于16MB GPU拆分。

将旋转设置与翻转设置参数值可以通过相加的方式将它们组合在一起。以相同的方式您也可以同时进行水平和垂直翻转。例如180度旋转,同时垂直和水平翻转,参数值为0x20000+0x10000+2=0x30002。
转载自


树莓派开发者
1 声望0 粉丝

基于 Raspberry Pi 产品开发、项目应用、设计相关知识的分享。