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

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

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


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

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

按 Ctrl + w 查找:`
fb0_


将```
fb0_width = 0
```修改成```
fb0_width = 658

`
fb0_height = 0
修改成
fb0_height = 548


Ctrl + x 保存

sudo fex2bin ~/script.fex /boot/script.bin

wget https://raw.githubusercontent.com/harshgandhi/linuxScripts/master/devmem2.c

gcc devmem2.c

sudo mv a.out /usr/local/bin/devmem2

nano /etc/rc.local


在文件最后的```
exit 0
devmem2 0x01E00130 w 0x00c003a

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

fbset -g 658 548 658 548 32

然后重启 Enjoy~


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

screen0_output_mode = 11

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

对应的

fb0_width = 660
fb0_height = 470

如果没办法改,也能用

fbset -g 660 470 660 470 32

移动屏幕位置

devmem2 0x01E00130 w 0x0090396

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


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

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

`
/etc/rc.local

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

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

在桌面环境下可以在```
/etc/rc.local
devmem2 0x01E00130 w 0x0120048

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

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

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

我是这样配置的`
/etc/rc.local

如果你不需要图形界面:

PAL

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


图形界面:

NTSC

su sparkle -c startx&
su -c "sleep 30 && fixav"&


其中的```
/usr/local/bin/fixav
devmem2 0x01E00130 w 0x0120048
su - sparkle -c "DISPLAY=:0 xrandr --output Composite-1 --mode NTSC --scale 1.454x1.15 --panning 960x540"

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