目的:
通过修改Physical size使Andriod阶段的分辨率由原来的1920x1080变成3840x2160(4k HDMI输出)。
如何改:
方法一:
找到设置物理分辨率的驱动文件,并修改后重新编译,重新烧录即可。
文件路径:frameworks/native/libs/ui/include/ui/Size.h
diff --git a/frameworks/native/libs/ui/include/ui/Size.h b/frameworks/native/libs/ui/include/ui/Size.h
index f1e825286e..d69d23f7eb 100644
--- a/frameworks/native/libs/ui/include/ui/Size.h
+++ b/frameworks/native/libs/ui/include/ui/Size.h
@@ -55,8 +55,8 @@ struct Size {
// Accessors
// ------------------------------------------------------------------------
- int32_t getWidth() const { return width; }
- int32_t getHeight() const { return height; }
+ int32_t getWidth() const { return 3840; }
+ int32_t getHeight() const { return 2160; }
template <typename T>
void setWidth(T&& v) {
两种方法都能实现下面所展示的效果,但这个方法有点bug,可能会出现鼠标只能显示在屏幕的部分区域的问题,建议使用方法二。
方法二:
在rk3568_r.mk文件里添加配置信息,然后重新编译并烧录
文件路径:device/rockchip/rk356x/rk3568_r/rk3568_r.mk
diff --git a/device/rockchip/rk356x/rk3568_r/rk3568_r.mk b/device/rockchip/rk356x/rk3568_r/rk3568_r.mk
index a3f2872859..cb876549ba 100644
--- a/device/rockchip/rk356x/rk3568_r/rk3568_r.mk
+++ b/device/rockchip/rk356x/rk3568_r/rk3568_r.mk
@@ -47,5 +47,5 @@ PRODUCT_PROPERTY_OVERRIDES += persist.bt.power.down=true
#
## 默认HMDI 为4K 60fps
#
-PRODUCT_PROPERTY_OVERRIDES += persist.vendor.resolution.main=3840x2160@60
-PRODUCT_PROPERTY_OVERRIDES += ro.config.size_override=3840,2160
+PRODUCT_PROPERTY_OVERRIDES += persist.vendor.framebuffer.main=3840x2160
+PRODUCT_PROPERTY_OVERRIDES += persist.vendor.resolution.main=3840x2160@60-3840-4016-4104-4400-2160-2168-2178-2250-5
效果:
(使用wm size命令查看Physical size值)
(HDMI屏的4k输出效果)