Devido a um monitor quebrado, preciso configurar apenas a metade direita da minha tela

8

O lado esquerdo do meu monitor full hd está quebrado, para usar apenas a parte boa da resolução 1274x1080, alinhada à direita.

Um simples xrandr -s 1274x1080terá a resolução correta, mas centrado. Usar --transform 1,0,-323,0,1,0,0,0,1moverá a tela, mas não ocupará o lado direito.

Eu já tentei modelineusar o link fornecido nesta resposta , mas ele não move a tela, não importa o que eu mude.

Luis Pacheco
fonte

Respostas:

5

Você não está muito errado com essa --transformação!

O ponto é que você não apenas deseja deslocar a tela para a direita, mas também precisa encolhê-la pela metade no eixo horizontal. Para fazer isso, vamos consultar o xrandrmanual em que lemos:

- transformar a, b, c, d, e, f, g, h, i

(...)

Em outras palavras, as coordenadas do dispositivo (x 'y') do pixel transformado são:

                 x' = (ax + by + c) / w'   and
                 y' = (dx + ey + f) / w'   ,
                 with  w' = (gx + hy + i)  .

Portanto, para deslocar a saída para a direita, reduza o eixo X em 2, deixe o eixo Y como está e não realize nenhuma outra operação (rotação, inversão, etc.)

xrandr --output LVDS1 --transform 2,0,-1920,0,1,0,0,0,1

Acima, eu assumi que sua resolução normal é 1920x1080 (você mencionou full hd, e é assim que eles chamam). Obviamente, um nome de exibição alterado para o seu.

Se apenas uma pequena parte do monitor estiver quebrada (não pela metade), será necessário fazer alguns cálculos:

a = 1/(1-broken_fraction)
c = (1-a)*resolution

Portanto, se quebrado é 1/3, temos a = 1,5, c = -960:

xrandr --output LVDS1 --transform 1.5,0,-960,0,1,0,0,0,1

Obviamente, você pode alterar a resolução com o mesmo comando, caso em que pode ser necessário algum recálculo.

jimmij
fonte
É triste que você nunca tenha recebido nenhuma resposta do usuário. Muito bem, é um bom cálculo e explicação!
ReneFroger 26/08/19