Overscan sob o Armbian em um computador de placa única (baseado em H3)

3

Estou executando o Armbian em um Allwinner H3 -baseado SBC ( NanoPi M1 ):

Comovocêpodever,eletemum currículo CVBS , e é justo, depois de mexer com o bootloader script.bin (que compila dentro e fora de um .ini -like FEX com bin2fex e fex2bin ), e também figurando a ordem dos pinos para o vídeo em um conector TRRS de 3,5mm, eu consegui falar com uma daquelas TVs antigas.

Mas, logo me lembrei de uma das deficiências daquelas TVs antigas: o overscan.

Estenãoénemmesmootelevisoremqueseráutilizado,porissonãopossoconfiarquetenhaumaopção"auto-fit". Eu prefiro que o framebuffer perca algum espaço nas bordas pretas. Estou acessando via SSH.

Eu olhei para quais opções de inicialização o script.bin permite, e ele não oferece overscan, apenas configurando a resolução. Eu também olhei para xrandr , fbset e os arquivos em /sys/devices/platform/disp/graphics/fb* , mas não consigo descobrir como o overscan pode ser resolvido - eu só consegui recortar a tela para um lado. Talvez eu tenha que dizer ao ambiente de desktop ( Xfce ) para não usar o framebuffer completo? Seus docs parecem escassos. Eu não sei o que estou fazendo, na verdade.

Ao olhar para soluções para outros computadores de placa única, as soluções que eu encontro são específicas para cada placa (como o Raspberry Pi tendo uma solução específica para seu script de inicialização da Broadcom). Ao procurar por soluções Linux de uso geral, acho que a maioria das pessoas resolve isso a partir de drivers de placas gráficas específicas.

É simples descrever: Eu só não quero que toda a tela seja usada . Mas não tenho ideia de onde procurar.

Cole com dmesg .

fbset é assim:

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

Eu tentei ajustar os tempos (por exemplo, fbset -left N ), mas mesmo que ele tenha reportado a mudança (chamando fbset novamente), nada mudou - por exemplo, -xres , por outro lado, causou resultados visíveis (recorte de tela).

O módulo de exibição é tv . modinfo tv me dá:

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
    
por Camilo Martin 27.12.2016 / 03:09

1 resposta

2

Por favor, tente estes comandos:

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

xresolution é reduzido para 670, mas tudo está bem para o meu Orange Pi Zero. Talvez mude para o endereço correto de "TV ENCODER RE-SYNC PARAMETERS REGISTRO (Offset 0x130)" para o seu SoC.

    
por 18.04.2017 / 11:38