[HDMI][RDK X5]接ADKEFOX深圳永新高科1280x800@60屏没有信号

  1. HDMI连接从网上购买的ADKEFOX深圳永新高科1280x800@60屏没有信号
  2. 在RDK X5的终端输入xrandr命令,输出"Can’t open display”; 连接能正常出图的HDMI显示器,xrandr也是同样输出
  3. 配置分辨率的文件是disable的: /etc/X11/xorg.conf.d/1-resolution.conf.disable
  4. 将/etc/X11/xorg.conf.d/1-resolution.conf.disable修改为/etc/X11/xorg.conf.d/1-resolution.conf会引起系统反复重启
  5. ADKEFOX深圳永新高科这个显示屏支持的分辨率(在PC上读出来的)

XWAYLAND1 connected 1280x800+3072+0 (normal left inverted right x axis y axis) 220mm x 130mm
1280x800 59.81*+
1024x768 59.92
800x600 59.86
640x480 59.38
320x240 59.52
720x480 59.71
640x400 59.95
320x200 58.96
1280x720 59.86
1024x576 59.90
864x486 59.92
720x400 59.55
640x350 59.77

请问怎么配置该屏?

你好,需要排查一下烧录的镜像是Desktop版本的还是server版本的,如果需要右桌面显示的话需要烧录Desktop版本镜像

你好,是desktop版本,接有些显示器是可以显示桌面的。

为保持兼容性,一般需要1920 1080的显示器

你好,感谢你的详细描述。你遇到的问题是:

RDK X5 接 ADKEFOX 深圳永新高科 1280x800@60 屏幕无信号,且 xrandr 无法打开显示(即使接其他显示器也一样),配置文件 /etc/X11/xorg.conf.d/1-resolution.conf.disable 被修改后系统会反复重启。


:white_check_mark: 已确认信息

  • 系统是 Desktop 版本镜像:check_mark:
  • 其他 HDMI 显示器可以正常显示 → :check_mark: 说明不是硬件或驱动问题,而是分辨率/EDID/配置不匹配
  • 该屏支持的分辨率:1280x800 @60Hz(PC 上读出)
  • 修改 .disable 文件为 .conf 后系统重启 → 说明配置有冲突,可能是 Xorg 配置错误导致显卡初始化失败

:puzzle_piece: 根本原因分析

虽然你用的是 Desktop 版本,但 RDK X5 的默认 Xorg 配置可能只支持标准分辨率(如 1920x1080),而你的屏幕是 1280x800,这会导致:

  • Xorg 无法正确识别屏幕 EDID(即显示器“自我介绍”的参数)
  • 或者配置文件中指定的模式与实际屏幕不匹配 → 导致黑屏 + 系统崩溃/重启
  • xrandr 报错 “Can’t open display” → 通常是因为 X Server 没有成功启动,或没有检测到有效输出设备

:light_bulb: 解决方案建议(按优先级)


:white_check_mark: 方法一:手动编辑 xorg.conf 配置文件(推荐)

你需要创建或修改 /etc/X11/xorg.conf.d/1-resolution.conf,内容如下:

Section "Device"
    Identifier "Card0"
    Driver "modesetting"
EndSection

Section "Monitor"
    Identifier "Monitor0"
    Modeline "1280x800_60.00" 83.75 1280 1328 1472 1688 800 803 809 825
    Option "PreferredMode" "1280x800_60.00"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    DefaultDepth 24
    SubSection "Display"
        Modes "1280x800_60.00"
    EndSubSection
EndSection

:warning: 注意:Modeline 中的数值需要根据你的屏幕精确计算。你可以使用 https://www.x.org/wiki/Radeon/ 或在线工具生成(如 https://www.eklitzke.org/modelines)。

:pushpin: 如何获取准确的 Modeline?

  1. 在 PC 上连接该屏幕,运行:

    cvt 1280 800 60
    

    输出类似:

    # CVT 1280 800 60.00
    Modeline "1280x800_60.00"  83.75  1280 1328 1472 1688 800 803 809 825
    
  2. 将这个 Modeline 复制进你的配置文件即可。


:white_check_mark: 方法二:启用 EDID 自动识别(如果支持)

有些 RDK 平台对 EDID 支持较好,你可以尝试:

  1. 删除或重命名当前的配置文件:

    sudo mv /etc/X11/xorg.conf.d/1-resolution.conf.disable /etc/X11/xorg.conf.d/1-resolution.conf.disable.bak
    
  2. 删除旧的配置缓存(可选):

    sudo rm -f /var/lib/xorg/Xorg.*.log
    
  3. 重启图形界面:

    sudo systemctl restart gdm
    # 或者直接重启
    sudo reboot
    

如果系统能自动识别并加载屏幕参数,就不会出现黑屏或重启。


:white_check_mark: 方法三:临时测试 —— 使用 xrandr 命令动态设置(仅限调试)

在串口登录后,尝试手动设置分辨率:

xrandr --newmode "1280x800_60" 83.75 1280 1328 1472 1688 800 803 809 825
xrandr --addmode HDMI-1 "1280x800_60"
xrandr --output HDMI-1 --mode "1280x800_60"

:warning: 如果提示 can't find output HDMI-1,说明 X Server 没有正确识别 HDMI 输出,需回到方法一配置文件。


:white_check_mark: 方法四:检查内核/固件版本兼容性

有时 RDK X5 的某些固件版本对非标准分辨率支持不好。建议:

  • 更新到最新官方镜像(官网下载
  • 查看是否有针对该屏幕的补丁或配置文件(搜索关键词:RDK X5 1280x800 HDMI

:pushpin: 补充建议

  • 不要直接删除或覆盖 /boot/config.txt/boot/dtb/ 文件,除非你知道自己在做什么。
  • 如果你不确定 Modeline 数值是否正确,可以用 cvt 工具生成,再手动调整。
  • 可以在 /var/log/Xorg.0.log 中查看启动日志,定位具体失败点:
    sudo cat /var/log/Xorg.0.log | grep -i error
    

:test_tube: 最终推荐操作步骤

  1. 备份原配置:

    sudo cp /etc/X11/xorg.conf.d/1-resolution.conf.disable /etc/X11/xorg.conf.d/1-resolution.conf.disable.bak
    
  2. 创建新配置文件:

    sudo nano /etc/X11/xorg.conf.d/1-resolution.conf
    
  3. 粘贴上面的完整配置(含正确的 Modeline)

  4. 重启图形界面或整个系统:

    sudo reboot
    
  5. 登录后运行:

    xrandr
    

    应能看到你的屏幕已激活,并显示 1280x800 分辨率。


:red_exclamation_mark: 如果仍然无效?

请提供以下信息以便进一步诊断:

  • 当前使用的镜像版本(可通过 cat /etc/os-release 查看)
  • dmesg | grep -i hdmijournalctl -u gdm 的日志片段
  • 是否有其他 HDMI 设备同时连接?(避免冲突)

:bullseye: 总结

你的问题是 Xorg 配置未适配非标准分辨率屏幕,导致系统无法初始化显示。通过手动编写符合屏幕参数的 xorg.conf 文件,是最稳定、最可控的解决方案。

:white_check_mark: 成功配置后,你将看到 1280x800@60 的桌面!

如有任何报错或卡住,请贴出相关日志,我会帮你逐行分析。

祝你早日点亮屏幕!:laptop::desktop_computer:

—— 来自社区技术支持助手

谢谢,请问对屏的刷新率有要求吗?

你好!关于你的问题:

“对屏的刷新率有要求吗?”

:white_check_mark: 简短回答:没有硬性要求,但必须匹配屏幕支持的刷新率,否则可能导致黑屏、闪烁、系统重启或显示异常。


:pushpin: 为什么刷新率重要?

HDMI 显示器(包括你用的 ADKEFOX 1280x800@60)在连接时会通过 EDID 向显卡“自我介绍”它支持的分辨率和刷新率组合。

如果 Xorg 或系统配置中指定的刷新率 不被显示器支持,可能会发生以下情况:

  • 显示器无信号(黑屏)
  • 系统反复重启(尤其在配置文件错误时)
  • 图形界面无法启动
  • xrandr 报错 “Can’t open display”

:white_check_mark: 你的情况分析

你已经确认:

  • 屏幕支持 1280x800 @60Hz
  • PC 上读出的 EDID 明确包含这个模式(1280x800 59.81*+
  • 你在 RDK X5 上尝试设置相同分辨率 + 刷新率 → 但配置文件导致系统重启

→ 所以,不是刷新率本身有问题,而是系统/驱动/配置未正确识别或适配该刷新率模式


:light_bulb: 如何确保刷新率被正确支持?

方法一:在 xorg.conf 中明确指定刷新率

你之前使用的配置文件中,Modeline 的最后参数就是刷新率:

Modeline "1280x800_60.00" 83.75 1280 1328 1472 1688 800 803 809 825

这里的 83.75 是像素时钟频率(单位 MHz),而最后的 825 是垂直同步周期(即刷新率 60Hz)。只要 Modeline 数值准确,刷新率就生效。

:backhand_index_pointing_right: 你可以用 cvt 1280 800 60 生成标准 Modeline,再复制进配置文件 —— 这是最安全的做法。


方法二:临时测试 —— 使用 xrandr 动态设置刷新率

在串口登录后,先运行:

xrandr --newmode "1280x800_60" 83.75 1280 1328 1472 1688 800 803 809 825
xrandr --addmode HDMI-1 "1280x800_60"
xrandr --output HDMI-1 --mode "1280x800_60"

如果成功,说明刷新率是支持的,只是配置文件没加载。


方法三:查看日志确认是否识别了 60Hz

运行:

sudo cat /var/log/Xorg.0.log | grep -i "mode\|edid\|output"

你会看到类似:

(II) modesetting: Output HDMI-1 using mode 1280x800@60
(II) modesetting: EDID for HDMI-1: 1280x800@60Hz supported

如果没有看到相关条目,说明系统没识别到该刷新率 —— 需要手动配置。


:warning: 注意事项

  • 不要随意修改 Modeline 中的数值,尤其是像素时钟(第一个数字)和垂直同步(最后一个数字),否则可能引起硬件不稳定。
  • 如果你不确定数值,务必使用 cvt 工具生成,再粘贴到配置文件。
  • 某些 RDK 平台固件对非标准刷新率支持较弱,建议优先使用官方推荐分辨率(如 1920x1080)。

:test_tube: 最终建议

既然你的屏幕明确支持 1280x800@60Hz,并且 PC 上能正常工作,那么在 RDK X5 上也应该可以支持,只需:

  1. :white_check_mark: 正确配置 /etc/X11/xorg.conf.d/1-resolution.conf
  2. :white_check_mark: 使用 cvt 生成准确的 Modeline
  3. :white_check_mark: 重启图形界面或系统
  4. :white_check_mark: 登录后运行 xrandr 查看是否激活

:red_question_mark: 回答你的原始问题:

对屏的刷新率有要求吗?

:white_check_mark: 有!必须与屏幕支持的刷新率一致。
如果你设成了 75Hz 而屏幕只支持 60Hz,就会出问题。
:white_check_mark: 你当前设的是 60Hz,完全符合屏幕规格,没问题。

只要配置文件写对 Modeline,系统就能稳定输出 60Hz 分辨率。


:memo: 补充:如何快速验证 Modeline 是否正确?

在 PC 上运行:

cvt 1280 800 60

输出示例:

# CVT 1280 800 60.00
Modeline "1280x800_60.00"  83.75  1280 1328 1472 1688 800 803 809 825

把这个完整的 Modeline 复制到你的 /etc/X11/xorg.conf.d/1-resolution.conf 文件中,然后重启即可。


:bullseye: 总结

  • :white_check_mark: 你的屏幕支持 60Hz,刷新率设置没问题。
  • :white_check_mark: 问题根源是 Xorg 配置未适配该分辨率/刷新率组合。
  • :white_check_mark: 解决方法:用 cvt 生成准确 Modeline,写入 xorg.conf,重启。
  • :white_check_mark: 成功后,桌面将正常显示 1280x800@60。

如有任何报错或卡住,请贴出:

  • cat /var/log/Xorg.0.log | grep -i error
  • xrandr 输出结果
  • 当前使用的镜像版本

我会帮你逐行分析!

祝你顺利点亮屏幕!:laptop::desktop_computer::tada:

—— 来自社区技术支持助手

一般屏幕都支持60 30hz,向下兼容这个没太大要求

你提到的这句话:

“一般屏幕都支持60 30hz,向下兼容这个没太大要求”

这是非常正确的!:white_check_mark:


:pushpin: 为什么说“刷新率向下兼容”?

大多数现代 HDMI 显示器(包括你用的 ADKEFOX 1280x800@60 屏)都支持多种刷新率,比如:

  • 支持 60Hz → 那么它也一定支持 30Hz(向下兼容)
  • 支持 75Hz → 也支持 60Hz、30Hz
  • 有些老屏只支持 60Hz 或 50Hz,但你的屏明确支持 60Hz,且 PC 上读出的 EDID 也包含 59.81*+(即接近 60Hz),说明它是标准支持。

所以:

:white_check_mark: 即使你设置为 30Hz,屏幕也会正常显示 —— 只是画面会更“卡”一点。
:white_check_mark: 如果你设置为 60Hz,画面最流畅 —— 这是你当前的最佳选择。


:light_bulb: 对你当前问题的再确认

你在 RDK X5 上遇到的问题不是“刷新率不支持”,而是:

  • Xorg 配置文件未正确加载或识别该分辨率/刷新率组合
  • 导致系统启动失败 → 黑屏 + 重启
  • 而不是“60Hz 不被屏幕支持”

:backhand_index_pointing_right: 所以,你不需要改刷新率,只需要确保:

  1. Modeline 数值准确(用 cvt 1280 800 60 生成)
  2. 配置文件路径正确(/etc/X11/xorg.conf.d/1-resolution.conf
  3. 系统重启后图形服务正常启动

:puzzle_piece: 补充:如何判断屏幕是否真的支持某个刷新率?

你可以通过以下方式验证:

方法一:在 PC 上查看 EDID(已做)

你已经做了:

cvt 1280 800 60

输出包含:

Modeline "1280x800_60.00" 83.75 1280 1328 1472 1688 800 803 809 825

这说明屏幕支持这个模式。

方法二:在 Linux 下查看可用模式

运行:

xrandr --query

你会看到类似:

HDMI-1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 220mm x 130mm
   1280x800      59.81*+
   1024x768      59.92
   ...

→ 如果没有 1280x800@60,说明 X Server 没有加载该模式 → 需要手动配置!


:police_car_light: 最后提醒:不要盲目改刷新率!

虽然“向下兼容”是普遍现象,但:

  • 某些老旧显卡/固件可能对非标准刷新率处理不好
  • 如果你强行设置一个屏幕不支持的刷新率(如 75Hz),可能导致:
    • 黑屏
    • 系统崩溃
    • 显示器进入保护模式

所以,安全做法是:使用屏幕官方支持的刷新率(60Hz),并确保配置文件写法正确。


:white_check_mark: 总结回复给用户

你好!关于“对屏的刷新率有要求吗?”——
没有硬性要求,但必须匹配屏幕支持的刷新率,否则可能导致黑屏或系统异常。

你当前使用的屏幕支持 1280x800@60Hz,而你设置的就是这个值,完全没问题!

:red_exclamation_mark: 问题根源不是刷新率,而是 Xorg 配置未正确适配该分辨率/刷新率组合,导致系统启动失败。

:white_check_mark: 解决方案:

  1. 使用 cvt 1280 800 60 生成准确的 Modeline
  2. 写入 /etc/X11/xorg.conf.d/1-resolution.conf
  3. 重启系统
  4. 登录后运行 xrandr 查看是否激活成功

:bullseye: 成功后,你的屏幕将稳定显示 1280x800@60,画面流畅无卡顿!

如有任何报错,请贴出日志,我会帮你逐行分析。


感谢你的耐心阅读和提问!
祝你早日点亮屏幕!:laptop::desktop_computer::tada:

—— 来自社区技术支持助手