“固件快速修改定制指南”的版本间的差异

来自弘迪在线
跳转至: 导航搜索
如何修改屏幕分辨率?
第1行: 第1行:
 
本章节介绍如何快速修改定制系统固件,涉及相关文件的修改既可通过修改源码后重新编译并打包,也可使用全志固件修改器DragonFace(可在资料光盘/开发工具中下载)直接修改打包后的固件镜像。
 
本章节介绍如何快速修改定制系统固件,涉及相关文件的修改既可通过修改源码后重新编译并打包,也可使用全志固件修改器DragonFace(可在资料光盘/开发工具中下载)直接修改打包后的固件镜像。
  
=如何修改屏幕分辨率?=
+
=通用篇=
 +
==如何修改屏幕分辨率?==
 
1. 在FEX文件中修改[lcd0]参数块;
 
1. 在FEX文件中修改[lcd0]参数块;
  
第14行: 第15行:
 
|}
 
|}
  
=如何改为仅HDMI输出,且自定义屏幕分辨率?(A64/A40i)=
+
==如何改为仅HDMI输出,且自定义屏幕分辨率?(A64/A40i)==
 
1. 在FEX文件中修改lcd_used=0;
 
1. 在FEX文件中修改lcd_used=0;
  
第45行: 第46行:
 
5. 如果遇到色彩显示不正常,可尝试修改FEX文件:hdmi_cts_compatibility=1;
 
5. 如果遇到色彩显示不正常,可尝试修改FEX文件:hdmi_cts_compatibility=1;
  
=如何修改触摸屏分辨率?=
+
==如何修改触摸屏分辨率?==
 
1. 在FEX文件中修改ctp_screen_max_x和ctp_screen_max_y;
 
1. 在FEX文件中修改ctp_screen_max_x和ctp_screen_max_y;
  
第52行: 第53行:
 
3. 如果需要交换X/Y轴,则让ctp_exchange_x_y_flag=1;
 
3. 如果需要交换X/Y轴,则让ctp_exchange_x_y_flag=1;
  
=如何旋转摄像头、支持双摄像头等?=
+
==如何旋转摄像头、支持双摄像头等?==
 
使用固件修改器修改camera.cfg文件的参数项,具体请参考《A64 Android M快速移植指南》3.6.3章节。
 
使用固件修改器修改camera.cfg文件的参数项,具体请参考《A64 Android M快速移植指南》3.6.3章节。
  
=如何让固件支持UVC摄像头?(即禁用CSI)=
+
==如何让固件支持UVC摄像头?(即禁用CSI)==
 
1. 在FEX文件中修改csi0_used=0和csi0_dev0_used=0;
 
1. 在FEX文件中修改csi0_used=0和csi0_dev0_used=0;
  
第83行: 第84行:
 
3. 在打开“相机”或者其他使用摄像头的应用前请先插好USB摄像头!
 
3. 在打开“相机”或者其他使用摄像头的应用前请先插好USB摄像头!
  
=如何向固件中添加开机自启动的APP(需具备Launcher属性)?=
+
==如何向固件中添加开机自启动的APP(需具备Launcher属性)?==
 
1. 将apk文件加入固件;
 
1. 将apk文件加入固件;
  
第92行: 第93行:
 
xxxx为指定apk的包名。包名可以只写一部分,系统会自动匹配包含此字符串的包名所对应APP并将匹配到的最后一个设为Launcher。
 
xxxx为指定apk的包名。包名可以只写一部分,系统会自动匹配包含此字符串的包名所对应APP并将匹配到的最后一个设为Launcher。
  
=如何切换以太网网卡驱动(RTL8152/SR9900)?=
+
==如何切换以太网网卡驱动(RTL8152/SR9900)?==
 
修改init.rc,找到下列代码:
 
修改init.rc,找到下列代码:
 
<p># network</p>
 
<p># network</p>
第107行: 第108行:
 
保证第一行usbnet.ko不被注释掉,剩下的需要使用哪个驱动就取消注释哪个,注意不同型号的网卡驱动只能有一个存在。
 
保证第一行usbnet.ko不被注释掉,剩下的需要使用哪个驱动就取消注释哪个,注意不同型号的网卡驱动只能有一个存在。
  
=如何开机时自动打开“停用HW叠加层”?=
+
==如何开机时自动打开“停用HW叠加层”?==
 
修改build.prop,找到下列代码:
 
修改build.prop,找到下列代码:
  
第114行: 第115行:
 
修改该值,1为打开“停用HW叠加层”选项,0为关闭。对于高分辨率显示输出开启此项后将采用GPU进行图像叠加,可解决画面抖动、撕裂等问题,但也会加重GPU负担,功耗和发热增加。
 
修改该值,1为打开“停用HW叠加层”选项,0为关闭。对于高分辨率显示输出开启此项后将采用GPU进行图像叠加,可解决画面抖动、撕裂等问题,但也会加重GPU负担,功耗和发热增加。
  
=如何开机默认竖屏显示(屏幕旋转)?=
+
==如何开机默认竖屏显示(屏幕旋转)?==
 
修改build.prop,找到下列代码:
 
修改build.prop,找到下列代码:
  
第121行: 第122行:
 
修改该值为旋转角度,可选值0,90,180,270。注意调整后开机LOGO(bootlogo.bmp)需要进行对应方向调旋转(长宽要不可超过屏幕分辨率),启动动画(bootanimation.zip)的图片需改为竖幅(不要进行旋转)。
 
修改该值为旋转角度,可选值0,90,180,270。注意调整后开机LOGO(bootlogo.bmp)需要进行对应方向调旋转(长宽要不可超过屏幕分辨率),启动动画(bootanimation.zip)的图片需改为竖幅(不要进行旋转)。
  
=如何默认隐藏状态栏或导航栏?=
+
==如何默认隐藏状态栏或导航栏?==
 
修改build.prop,找到下列代码:
 
修改build.prop,找到下列代码:
  
第127行: 第128行:
  
 
修改该值为隐藏选项,0-不隐藏,1-只隐藏状态栏,2-只隐藏导航栏,3-都隐藏。
 
修改该值为隐藏选项,0-不隐藏,1-只隐藏状态栏,2-只隐藏导航栏,3-都隐藏。
 +
 +
=A133专栏=

2022年4月16日 (六) 10:10的版本

本章节介绍如何快速修改定制系统固件,涉及相关文件的修改既可通过修改源码后重新编译并打包,也可使用全志固件修改器DragonFace(可在资料光盘/开发工具中下载)直接修改打包后的固件镜像。

通用篇

如何修改屏幕分辨率?

1. 在FEX文件中修改[lcd0]参数块;

2. 对于小于800x480分辨率的屏需要替换开机LOGO,将图片缩小到分辨率不大于液晶分辨率的尺寸;

3. 修改build.prop文件中的ro.sf.lcd_density属性,对照下表:

液晶分辨率 480x272 320x480 800x480 1024x600或更高
lcd_density 72 85 120 160

如何改为仅HDMI输出,且自定义屏幕分辨率?(A64/A40i)

1. 在FEX文件中修改lcd_used=0;

2. 在FEX文件中修改hdmi_used=1;

3. 在FEX文件中修改[disp]参数块,对照下表:

720P 1080P
screen0_output_type 3 3
screen0_output_mode 5 10
screen1_output_type 0 0
screen1_output_mode 5 10
fb0_width 1280 1920
fb0_height 720 1080

4. 在build.prop中persist.sys.hdmi_audio_enable前面添加:

persist.sys.hdmi_output_mode=5

数字代表输出模式,5为720P 60Hz,10为1080P 60Hz,注意要与FEX文件中参数匹配。

5. 如果遇到色彩显示不正常,可尝试修改FEX文件:hdmi_cts_compatibility=1;

如何修改触摸屏分辨率?

1. 在FEX文件中修改ctp_screen_max_x和ctp_screen_max_y;

2. 如果需要对调X轴,则让ctp_revert_x_flag=1;同理Y轴对调让ctp_revert_y_flag=1;

3. 如果需要交换X/Y轴,则让ctp_exchange_x_y_flag=1;

如何旋转摄像头、支持双摄像头等?

使用固件修改器修改camera.cfg文件的参数项,具体请参考《A64 Android M快速移植指南》3.6.3章节。

如何让固件支持UVC摄像头?(即禁用CSI)

1. 在FEX文件中修改csi0_used=0和csi0_dev0_used=0;

2. 修改init.rc文件,将下列代码块屏蔽:

# csi module

insmod /system/vendor/modules/videobuf2-core.ko

insmod /system/vendor/modules/videobuf2-memops.ko

insmod /system/vendor/modules/videobuf2-dma-contig.ko

insmod /system/vendor/modules/vfe_io.ko

insmod /system/vendor/modules/ov5640.ko

insmod /system/vendor/modules/vfe_v4l2.ko

即在每行第一个字母前增加#,如下:

# csi module

#insmod /system/vendor/modules/videobuf2-core.ko

#insmod /system/vendor/modules/videobuf2-memops.ko

#insmod /system/vendor/modules/videobuf2-dma-contig.ko

#insmod /system/vendor/modules/vfe_io.ko

#insmod /system/vendor/modules/ov5640.ko

#insmod /system/vendor/modules/vfe_v4l2.ko

3. 在打开“相机”或者其他使用摄像头的应用前请先插好USB摄像头!

如何向固件中添加开机自启动的APP(需具备Launcher属性)?

1. 将apk文件加入固件;

2. 修改build.prop,在persist.sys.hdmi_audio_enable=0后添加如下两行:

ro.sw.defaultlauncherpackage=xxxxxxxx

xxxx为指定apk的包名。包名可以只写一部分,系统会自动匹配包含此字符串的包名所对应APP并将匹配到的最后一个设为Launcher。

如何切换以太网网卡驱动(RTL8152/SR9900)?

修改init.rc,找到下列代码:

# network

insmod /system/vendor/modules/usbnet.ko

#insmod /system/vendor/modules/asix.ko

#insmod /system/vendor/modules/qf9700.ko

#insmod /system/vendor/modules/mcs7830.ko

#insmod /system/vendor/modules/rtl8150.ko

#insmod /system/vendor/modules/r8152.ko

#insmod /system/vendor/modules/cdc_ether.ko

#insmod /system/vendor/modules/smsc75xx.ko

#insmod /system/vendor/modules/smsc95xx.ko

insmod /system/vendor/modules/sr9900.ko

保证第一行usbnet.ko不被注释掉,剩下的需要使用哪个驱动就取消注释哪个,注意不同型号的网卡驱动只能有一个存在。

如何开机时自动打开“停用HW叠加层”?

修改build.prop,找到下列代码:

ro.debug.disable_hwc=1

修改该值,1为打开“停用HW叠加层”选项,0为关闭。对于高分辨率显示输出开启此项后将采用GPU进行图像叠加,可解决画面抖动、撕裂等问题,但也会加重GPU负担,功耗和发热增加。

如何开机默认竖屏显示(屏幕旋转)?

修改build.prop,找到下列代码:

persist.sys.ui_rotation=0

修改该值为旋转角度,可选值0,90,180,270。注意调整后开机LOGO(bootlogo.bmp)需要进行对应方向调旋转(长宽要不可超过屏幕分辨率),启动动画(bootanimation.zip)的图片需改为竖幅(不要进行旋转)。

如何默认隐藏状态栏或导航栏?

修改build.prop,找到下列代码:

persist.sys.nobar=0

修改该值为隐藏选项,0-不隐藏,1-只隐藏状态栏,2-只隐藏导航栏,3-都隐藏。

A133专栏