调试
调试章节涵盖了调试和分析各种段(如 DSI 面板时钟、DPU 和 Weston)所需的信息。
DSI 面板和时钟信息
后续章节提供有关所选面板的信息和 DSI 时钟信息。
您必须在 Permissive 模式下启用 SSH 才能安全地访问您的主机设备。相关说明,可参见 SSH 使用指南。
确保挂载 debugfs 文件系统以访问显示子系统的 debugfs 详细信息。使用以下命令挂载 debugfs 文件系统:
mount -o remount,rw /
mount -t debugfs none /sys/kernel/debug
检查所选面板
若要检查选择了哪个面板,请运行以下命令:
cat /sys/kernel/debug/qcom,mdss_dsi_ext_bridge_4k30p/dump_info
示例输出:
name = qcom,mdss_dsi_ext_bridge_4k30p
Resolution = 1920(148|88|44|1)x1080(36|4|5|1)@60fps 0 Hz
CTRL_0:
ctrl = dsi-ctrl-0
phy = dsi-phy-0
Panel = ext video mode dsi bridge
Clock master = dsi-ctrl-0
查看 DSI 时钟信息
若要检查 DSI 时钟信息,请运行以下命令:
cat /sys/kernel/debug/qcom,mdss_dsi_ext_bridge_4k30p/dsi-ctrl-0/state_info
示例输出:
Current State:
CTRL_ENGINE = ON
VIDEO_ENGINE = ON
COMMAND_ENGINE = OFF
Clock Info:
BYTE_CLK = 111375000, PIXEL_CLK = 148500000, ESC_CLK = 19200000
调压器和时钟信息
要检查调压器状态和电压,请运行以下命令:
cat /sys/kernel/debug/regulator/regulator_summary
显示接口信息
以下是调试 dump 输出:显示接口编号、VSync 计数、欠载运行计数和接口模式。
cat /sys/kernel/debug/dri/0/encoder*/status
intf:1 vsync: 192124 underrun: 0 mode: video
SDE 层混合器和层信息
SDE 层混合器信息目前可供对 Qualcomm Linux 附带的专有软件具有完全访问权限的用户使用。有关详细信息,请参阅 Qualcomm Linux Display Guide - Addendum
常规 DPU 调试信息
此处提供了常见的 DPU 调试信息
DPU 时钟频率
要检查 DPU 时钟频率,请运行以下命令:
cat /sys/kernel/debug/clk/clk_summary | grep disp_cc
将 DPU 设置为性能模式
要将 DPU 设置为性能模式,请运行以下命令:
cd /sys/kernel/debug/dri/0/debug/core_perf/
echo 1 > perf_mode
用户模式/Weston 调试
Weston 自动启动
当设备开机时,Weston 屏幕会自动启动。以下脚本文件包含用于设置 Weston 屏幕自动启动的 Weston 配置及其命令行参数: /etc/initscripts/init_qti_display
mount -o remount,rw /
cat /etc/initscripts/init_qti_display
Weston 显示配置
Weston 使用 weston.ini 配置文件。当 Weston 启动时,它会从 Weston 初始化脚本中搜索 weston.ini 文件,形式为 --config=/etc/xdg/weston/weston.ini,并配置 Weston 显示管道。详细配置详见 https://manpages.ubuntu.com/manpages/focal/en/man5/weston.ini.5.html。
运行以下命令以获取 Weston 配置文件:
mount -o remount,rw /
cat /etc/xdg/weston/weston.ini
运行这些命令时,您会看到以下 weston.ini 配置示例输出:
configuration file for Weston
[core]
idle-time=0
backend=sdm-backend.so
repaint-window=10
[output]
name=DSI-1
mode=on
[output]
name=DP-1
mode=on
[shell]
clock-format=seconds
重新启动 Weston
以下是终止 Weston 进程并手动重新启动 Weston 服务器的步骤:
-
若要标识 Weston 进程的 ID,请运行以下命令:
ps -A | grep weston
示例输出:
824 ? 00:00:12 weston 1090 ? 00:00:00 weston-keyboard 1092 ? 00:00:01 weston-desktop- ```
-
若要终止 Weston 进程,请运行以下命令:
killall weston
-
若要重新启动 Weston 服务器,请运行以下命令:
mount -o remount,rw / su . /etc/profile export XDG_RUNTIME_DIR=/dev/socket/weston mkdir --parents $XDG_RUNTIME_DIR chmod 0700 $XDG_RUNTIME_DIR cd /usr/bin ./weston --tty=2 --continue-without-input
HDMI故障排除
LT9611uxc 是 DSI toHDMI 桥接芯片固件。推荐的固件版本为 LT9611UXC_DSI_PortA_HDCP_Disable_V5.0.21.bin。
如果您在 HDMI 上遇到屏幕无显示的情况,建议升级固件。
Lontium 固件升级
以下是 Lontium 固件升级步骤:
-
从 http://www.lontiumsemi.com/download 下载推荐的 LT9611uxc 固件版本
LT9611UXC_DSI_PortA_HDCP_Disable_V5.0.21.bin,然后转到 Qualcomm 部分。 -
要升级固件,请运行以下 Linux shell 命令:
mount -o rw,remount / setenforce 0 scp <LT firmware bin> root@<IP of the device>:/lib/firmware/lt9611uxc_fw.bin sync echo 0 > /sys/bus/i2c/devices/0-002b/lt9611uxc_firmware
-
若要获取 lt9611 日志,请运行以下命令:
dmesg | grep lt9611
以下日志表示固件升级成功: Firmware updates successfully
为确保新固件生效,建议硬重启(重新插拔电源线)设备。