文章
2018/5/23
修复全志开发板AV输出Overscan问题
2018-05-23
无标签

之前买了一个Orange Pi Zero,现在是我的智能音响

因为只有av输出没有hdmi,在av日常显示超出范围的情况下,全志居然没有Overscan这种设置

然后研究了一下有了这个教程(调了一晚上)


全志有个叫script.bin和树莓派的config.txt类似,不过这个文件明显不能用编辑器打开的

bin2fex /boot/script.bin ~/script.fex
Terminal window
nano ~/script.fex

按 Ctrl + w 查找 fb0_

将 fb0_width = 0 修改成 fb0_width = 658

将 fb0_height = 0 修改成 fb0_height = 548

Ctrl + x 保存

Terminal window
sudo fex2bin ~/script.fex /boot/script.bin
Terminal window
wget https://raw.githubusercontent.com/harshgandhi/linuxScripts/master/devmem2.c
Terminal window
gcc devmem2.c
Terminal window
sudo mv a.out /usr/local/bin/devmem2
Terminal window
nano /etc/rc.local

在文件最后的 exit 0 之前加入

Terminal window
devmem2 0x01E00130 w 0x00c003a

如果不能使用以上方法来修改,也可以用:

Terminal window
fbset -g 658 548 658 548 32

然后重启 Enjoy~


发现NTSC在宽屏设备下显示挺不错的…比PAL下的设置要好

screen0_output_mode = 11

这里11是PAL,改成14就是NTSC了

对应的

fb0_width = 660
fb0_height = 470

如果没办法改,也能用

Terminal window
fbset -g 660 470 660 470 32

移动屏幕位置

Terminal window
devmem2 0x01E00130 w 0x0090396

这和上面的配置差不多…只是修改了一些数值


最近换了新的armbain系统,内核是4.14.x的,没有视频输出,Google翻了一下找到一个h3-tve的模块,然后把内核提取出来换掉boot里面的(记得替换那三个软连接),我并不知道怎么在字符界面把输出改成NTSC,PAL虽然分辨率大但是彩边比较严重,NTSC就很清晰。

内核下载: armbain-4.14.21-kernel.zip

在 /etc/rc.local 中添加:

Terminal window
devmem2 0x01E00130 w 0x0170048
fbset -g 658 548 658 548 32

修正在PAL下的显示大小和位置

在桌面环境下可以在 /etc/rc.local 中添加:

Terminal window
devmem2 0x01E00130 w 0x0120048

在图形界面的开机启动(Startup)中添加

Terminal window
DISPLAY=:0 xrandr --output Composite-1 --mode NTSC --scale 1.454x1.15 --panning 960x540

来修正位置和修改为NTSC(可以差值更高的分辨率,但是真的挺卡的)

我是这样配置的 /etc/rc.local 如果你不需要图形界面:

Terminal window
# PAL
devmem2 0x01E00130 w 0x0170048
fbset -g 658 548 658 548 32

图形界面:

Terminal window
# NTSC
su sparkle -c startx&
su -c "sleep 30 && fixav"&

其中的 /usr/local/bin/fixav

Terminal window
devmem2 0x01E00130 w 0x0120048
su - sparkle -c "DISPLAY=:0 xrandr --output Composite-1 --mode NTSC --scale 1.454x1.15 --panning 960x540"

国产的东西文档总是写的不清不楚的…

如果咩咩的文章对您有帮助,您可以 请我喝牛奶