Você não está muito errado com essa --transform
açã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 xrandr
manual 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.