Saída de vídeo para overscanning TV com gráficos Intel

2

Eu tenho uma televisão com resolução de 1366x768.
É um JVC LT-32EM49.

Quando os dispositivos são conectados a ele, ele lista as resoluções normais, como 480p, 720p, 1080p / i. Mas não lista 1366x768.

A TV remove alguns pixels nas bordas da tela ao usar entrada de 720p ou superior. TVs que overscan devem oferecer uma opção para desativar isso, mas estou muito confiante de que essa TV não permite que o usuário desabilite o overscanning. (Dispositivos como o PS3 parecem esperar e contornam esse comportamento irracional ao não colocar nada importante diretamente nas bordas da tela. Mas, com computadores, as bordas da tela são mais importantes.)

Agora, quando um computador estava conectado a essa TV com uma placa Radeon HD 4350 (via adaptador DVI-HDMI), o Windows XP Professional SP3 listava 1366x768 como uma resolução disponível (e funcionava perfeitamente). Eu suponho que isso foi uma solução alternativa no nível do sistema operacional. Esta mesma placa de vídeo pode ser feita para funcionar corretamente (ou seja, ter a tela cheia visível) com o Linux por meio de muito trabalho com XRandR e --set .

No entanto, desejo agora conectar um Dell Studio Hybrid 140G (placa de vídeo sendo gráficos Intel HD, a GMA X3100 especificamente) para esta televisão. (O cartão tem saídas DVI e HDMI)
E as placas gráficas integradas da Intel parecem não ter essa opção para lidar com televisores problemáticos e seu overscanning implacável.

Eu pesquisei muito sobre este tópico, sem sucesso. Eu suspeito que este post aparecerá como na primeira página de tais consultas no futuro próximo. xrandr --set overscan não está disponível para esta placa gráfica, e --scale e --transform (as soluções mais elogiadas) não corrigem o problema nesta televisão.

    
por JamesTheAwesomeDude 10.02.2015 / 01:20

1 resposta

0

Eu sinto sua dor. Eu lutei com esse mesmo problema por algumas horas antes de decidir começar a conectar diferentes valores e combinações de parâmetros no XRandR, e de repente fiquei surpreso ao ver que um dos comandos que eu havia entrado anteriormente sem sucesso tinha agora produzido o desejado resultado! Depois de mais alguns ajustes, consegui produzir um cenário repetível, que compartilharei com você:

$ xrandr --output HDMI-1 --mode 1280x720 --transform 1,0,-40,0,1,-25,0,0,1 --panning 1280x720+40+20
$ xrandr --output HDMI-1 --mode 1280x720 --fb 1200x680 --transform 1,0,-40,0,1,-25,0,0,1 --panning 1280x720+40+20

Essas duas linhas são idênticas, exceto que a segunda tem a adição do --fb 1200x680 . A segunda linha é o resultado desejado, mas só funcionou quando eu entrei após entrar na outra linha primeiro - se eu usasse a segunda linha quando vinha de uma configuração "padrão", eu ainda teria o fundo de corte e as bordas direitas.

O -40 e -25 no parâmetro transform empurram a imagem inteira para baixo e para a direita; o +40+20 no final do parâmetro panning adiciona preenchimento às bordas inferior e direita, e esses números precisam ser iguais a 1/2 da diferença entre mode e fb .

(Observe que meus números horizontais são diferentes: eu precisava de 25 pixels extras à esquerda, mas apenas 20 à direita. Independentemente das suas margens superior e esquerda em transform , você vai querer dobrar sua panning modificadores ao determinar o valor para fb .

    
por 26.09.2018 / 19:05