单板计算机(基于H3)上 Armbian 下的过扫描

单板计算机(基于H3)上 Armbian 下的过扫描

我在跑安比安全志H3-基于新加坡基督教学院NanoPi M1):

NanoPi M1

正如你所见,它有一个复合视频信号经过对 bootloader的脚本(编译时包含和不包含.ini类似FEX 格式bin2fex 和 fex2bin),同时弄清楚了 3.5 毫米 TRRS 插孔上视频的引脚顺序,我让它与其中一台旧电视进行通讯。

但是,我很快就想到了那些旧电视的一个缺点:过扫描。

电视照片

这甚至不是要使用的电视,所以我不能相信它有任何“自动调整”选项。我宁愿让帧缓冲区在黑色边框上浪费一些空间。我通过 SSH 访问它。

我查看了允许的启动选项script.bin,它不提供过扫描,只提供设置分辨率的功能。我还查看了xrandrfbset中的文件/sys/devices/platform/disp/graphics/fb*,但我似乎无法弄清楚如何解决过扫描问题 - 我只设法将屏幕剪裁到一侧。也许我必须告诉桌面环境(Xfce)不使用完整的帧缓冲区?他们的文档显得稀少。我真的不知道自己在做什么。

在寻找其他单板计算机的解决方案时,我发现的解决方案是针对每个单板的(例如 Raspberry Pi 有一个针对其 Broadcom 启动脚本的解决方案)。通过寻找通用 Linux 解决方案,我发现大多数人都是从特定的显卡驱动程序来解决问题的。

描述起来很简单:我只是不想使用整个屏幕。但我不知道该看哪儿。


粘贴dmesg

fbset看起来像这样:

mode "720x480"
    geometry 720 480 720 480 16
    timings 0 0 0 0 0 0 0
    rgba 5/11,6/5,5/0,0/24
endmode

我尝试过调整时间(例如fbset -left N),但即使它确实报告了更改(通过再次调用),也没有任何变化 -另一方面fbset,更改例如会导致可见的结果(屏幕剪辑)。-xres

显示模块是tvmodinfo tv给我:

filename:       /lib/modules/3.4.112-sun8i/kernel/drivers/video/sunxi/disp2/tv/tv.ko
alias:          platform:tv
license:        GPL
description:    tv driver
author:         zengqi
depends:
intree:         Y
vermagic:       3.4.112-sun8i SMP preempt mod_unload modversions ARMv7 p2v8

答案1

请尝试以下命令:

devmem2 0x01E00130 w 0xF0050398
devmem2 0x01E00130 w 0x30050398
fbset -xres 670 -vxres 670

xresolution 降低到 670,但我的 Orange Pi Zero 一切正常。也许可以更改为您的 SoC 的“TV ENCODER RE-SYNC PARAMETERS REGISTER(偏移量 0x130)”的正确地址。

相关内容