3

Я бегу Armbian по принципу Allwinner H3 -На SBC (NanoPi M1):

НаноПи М1

Как вы можете видеть, у него есть CVBS , и достаточно справедливый, после небольшого изменения в файле boot.ader script.bin (который компилируется в .ini подобный формат FEX с bin2fex и fex2bin), а также выясняет порядок контактов для видео на 3,5-мм TRRS-разъеме, я понял это на одном из этих старых телевизоров.

Но мне вскоре напомнили об одном из недостатков этих старых телевизоров: сверхсканирование.

тв фото

Это даже не тот телевизор, на котором он будет использоваться, поэтому я не могу доверять тому, чтобы у него была какая-либо опция «автоподгонки». Я бы предпочел, чтобы фреймбуфер занимал место на черных границах. Я получаю к нему доступ через SSH.

Я смотрел на то, какие параметры загрузки позволяет script.bin , и он не предлагает пересканирование, просто устанавливая разрешение. Я также посмотрел на xrandr , fbset и файлы в /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 , с другой стороны, вызвало видимые результаты (экран вырезка).

Модуль дисплея - tv . modinfo 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 ответ1

2

Пожалуйста, попробуйте эти команды:

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

xresolution уменьшен до 670, но для моего Orange Pi Zero все в порядке. Возможно, измените правильный адрес «РЕГИСТРАЦИЯ ПАРАМЕТРОВ ПЕРЕДАЧИ СИНХРОНИЗАЦИИ ТЕЛЕВИЗОРА (Смещение 0x130)» для вашего SoC.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .