[RK3566-Android11] 关于2K (2560x1440)分辨率支持问题

问题描述

使用2K-2560x1440显示器,发现设置->显示->HDMI->分辨率里面只有1920x1080 1280x720 720x480。没有2560x1440分辨率显示。
根据文档我在kernel\drivers\gpu\drm\drm_edid.c中添加了2560x1440分辨率信息,如下:

/* 2560x1440@60Hz */ { DRM_MODE("2560x1440", DRM_MODE_TYPE_DRIVER, 268500, 2560, 2608,
2640, 2720, 0, 1440, 1441, 1444, 1500, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC) },

/* 128 - 2560x1440@100Hz 64:27 */
{ DRM_MODE("2560x1440", DRM_MODE_TYPE_DRIVER, 268500, 2560, 2608,
           2640, 2720, 0, 1440, 1441, 1444, 1500, 0,
           DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
      .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },

在device\rockchip\common\resolution_white.xml和device\rockchip\rk356x\rk3566_r\resolution_white.xml分辨率白名单中分别添加了对应分辨率,如下

<resolution> <!-- 2560x1440@60Hz -->
<clock>268500</clock>
<hdisplay>2560</hdisplay>
<hsync_start>2608</hsync_start>
<hsync_end>2640</hsync_end>
<htotal>2720</htotal>
<hskew>0</hskew>
<vdisplay>1440</vdisplay>
<vsync_start>1441</vsync_start>
<vsync_end>1444</vsync_end>
<vtotal>1500</vtotal>
<vscan>0</vscan>
<vrefresh>60</vrefresh>
<flags>5</flags>
<vic>128</vic>
</resolution>

加入以上修改后,重新烧录软件,设置->显示->HDMI->分辨率中还是没有2560x1440的分辨率。
此时cat /sys/class/drm/card0-HDMI-A-1/modes,edid信息中有2560x1440分辨率,如下:

130|console:/ # cat /sys/class/drm/card0-HDMI-A-1/modes
2560x1440
1920x1200
1920x1080
1920x1080
1920x1080
1920x1080i
1920x1080i
1920x1080i
1920x1080
1920x1080
1920x1080i
1680x1050
1600x900
1280x1024
1280x1024
1440x900
1152x864
1280x720
1280x720
1280x720
1280x720
1024x768
1024x768
1024x768
800x600
800x600
800x600
800x600
720x576
720x576
720x480
720x480
720x480
720x480
720x480
640x480
640x480
640x480
640x480
640x480
640x480
720x400

那么如何在设置->显示->HDMI->分辨率中增加2K-2560x1440分辨率支持呢?


解决方案:

我们只需要不编译device\rockchip\common\resolution_white.xml和device\rockchip\rk356x\rk3566_r\resolution_white.xml 这个分辨率白名单,去掉分辨率过滤功能就可以。这样所有分辨率都会显示出来。将device/rockchip/common/device.mk中与resolution_white.xml相关的代码屏蔽了就可以了。

# ifneq ($(filter atv box, $(strip $(TARGET_BOARD_PLATFORM_PRODUCT))), )
#     PRODUCT_COPY_FILES += \
#       $(LOCAL_PATH)/resolution_white.xml:/system/usr/share/resolution_white.xml \
#       $(LOCAL_PATH)/tv/permissions/privapp-permissions-tv-common.xml:system/etc/permissions/privapp-permissions-tv-common.xml
# endif
# USE_PRODUCT_RESOLUTION_WHITE := $(shell test -f $(TARGET_DEVICE_DIR)/resolution_white.xml && echo true)
# ifeq ($(strip $(USE_PRODUCT_RESOLUTION_WHITE)), true)
#   PRODUCT_COPY_FILES += \
#       $(TARGET_DEVICE_DIR)/resolution_white.xml:/system/usr/share/resolution_white.xml
# else
#   PRODUCT_COPY_FILES += \
#       $(LOCAL_PATH)/resolution_white.xml:/system/usr/share/resolution_white.xml
# endif

相关推荐

  1. [RK3566-Android11] 关于2K (2560x1440)分辨率支持问题

    2024-04-07 23:42:05       36 阅读
  2. RK3568 Ubuntu关于rootfs大小问题

    2024-04-07 23:42:05       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-07 23:42:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-07 23:42:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-07 23:42:05       87 阅读
  4. Python语言-面向对象

    2024-04-07 23:42:05       96 阅读

热门阅读

  1. PHP获取亚马逊商品详情api接口

    2024-04-07 23:42:05       40 阅读
  2. 一名顶尖的黑客高手要学些什么?

    2024-04-07 23:42:05       37 阅读
  3. OMP实现压缩感知的实现(MATLAB)

    2024-04-07 23:42:05       42 阅读
  4. git log

    2024-04-07 23:42:05       38 阅读
  5. C语言中的预处理详解

    2024-04-07 23:42:05       42 阅读
  6. 探索自然语言处理:简单而完整的学习路线指南

    2024-04-07 23:42:05       31 阅读
  7. nginx + keepalived 搭建教程

    2024-04-07 23:42:05       34 阅读
  8. Windows常用命令

    2024-04-07 23:42:05       38 阅读
  9. 基于YOLOv8的木材缺陷检测系统说明

    2024-04-07 23:42:05       36 阅读
  10. stable diffusion 预处理器解释大全,不断更新

    2024-04-07 23:42:05       41 阅读
  11. Qt Creator 设置 One Dark Pro主题

    2024-04-07 23:42:05       35 阅读