【高级】M1/M1+强制修改HDMI输出分辨率的终极解决方案

申明:对script.bin的任何不当操作均可导致最严重的后果(包括但不限于开发板烧毁),作者与BPI官方均不负任何责任,请知悉。


也许大家已经发现了,树莓派常用的修改方法(比如修改/boot/config.txt)对BPI似乎不能起作用,修改cmdline.txt和uEnv.txt也没有用,特别是对于使用HDMI转VGA和HDM转IDVI转接头的显示器,还有一些比较老旧的显示器。
今天给大家介绍一种制修改HDMI输出分辨率的终极解决方案,按照教程一步一步来,应该是没有多大风险的。


1、安装编译sunxi-tools所需依赖

sudo apt-get install libusb-1.0-0-dev

2、从github获得sunxi-tools最新源码

git clone https://github.com/linux-sunxi/sunxi-tools.git

3、编译sunxi-tools

cd sunxi-tools
make

4、备份script.bin

sudo cp /boot/bananapi/script.bin /boot/bananapi/script.bak

5、将script.bin复制到当前目录

cp /boot/bananapi/script.bin ./

6、使用bin2fex将bin转换成fex

bin2fex ./script.bin ./script.fex

7、编辑script.fex

nano script.fex

寻找到如下部分

[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 3
screen0_output_mode = 5
screen1_output_type = 2
screen1_output_mode = 11
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 1
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
lcd0_backlight = 197
lcd1_backlight = 197
lcd0_bright = 50
lcd0_contrast = 50
lcd0_saturation = 57
lcd0_hue = 50
lcd1_bright = 50
lcd1_contrast = 50
lcd1_saturation = 57
lcd1_hue = 50

修改红色加粗参数为你想要设置的分辨率代码,不要修改其他任何参数!

A20支持下列分辨率:
HDMI/TV mode numbers:
0 480i
1 576i
2 480p
3 576p
4 720p 50Hz
5 720p 60Hz
6 1080i 50 Hz
7 1080i 60 Hz
8 1080p 24 Hz
9 1080p 50 Hz
10 1080p 60 Hz
11 PAL
12 PAL SVIDEO
14 NTSC
15 NTSC SVIDEO
17 PAL_M
18 PAL_M SVIDEO
20 PAL_NC
21 PAL_NC SVIDEO
23 1080p 24 Hz 3D
24 720p 50 Hz 3D
25 720p 60 Hz 3D
26 1360x768 60 Hz
27 1280x1024 60 Hz

按 Ctrl + x , Y ,Enter 保存并退出编辑。

8、使用fex2bin将fex转换成bin

fex2bin ./script.fex ./script.bin

9、将修改好的script.bin复制到/boot

sudo cp ./script.bin /boot/bananapi/

10、重启生效

sudo reboot

发送自BPI-M1+
相关文章:
How to do BPI-M2 Resolution

谢谢分享学习一下,config就可以更改

好高端,学习了,