En raison d'un moniteur cassé, je dois configurer uniquement la moitié droite de mon écran

8

Le côté gauche de mon moniteur Full HD est cassé, afin de n'utiliser que la bonne partie de la résolution 1274x1080, alignée à droite.

Un simple xrandr -s 1274x1080obtiendra la bonne résolution, mais centré. L'utilisation --transform 1,0,-323,0,1,0,0,0,1déplacera l'écran mais n'occupera pas le côté droit.

J'ai déjà essayé de jouer avec modelinele lien donné dans cette réponse , mais ça ne bouge pas l'écran quoi que je change.

Luis Pacheco
la source

Réponses:

5

Vous n'êtes pas loin de vous tromper avec cette --transformation!

Le fait est que non seulement vous voulez déplacer l'écran vers la droite, mais vous devez également le réduire de moitié dans l'axe horizontal. Pour ce faire, nous renvoyons au xrandrmanuel où nous lisons:

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

(...)

En d'autres termes, les coordonnées de l'appareil (x 'y') du pixel transformé sont:

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

Par conséquent, pour déplacer la sortie vers la droite, réduire l'échelle X de 2, laisser l' axe Y tel quel et ne pas effectuer d'autres opérations (rotation, inversion, etc.), il faut le faire

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

Ci-dessus, j'ai supposé que votre résolution normale est de 1920 x 1080 (vous avez mentionné le Full HD, et c'est ainsi qu'ils l'appellent). Évidemment, changez le nom d'affichage en le vôtre.

Si seule une petite partie du moniteur est cassée (pas la moitié), vous devez effectuer un calcul:

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

donc si cassé est 1/3, nous avons a = 1,5, c = -960:

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

Bien sûr, vous pouvez changer la résolution avec la même commande, auquel cas un nouveau calcul peut être nécessaire.

jimmij
la source
C'est triste que vous n'ayez jamais reçu de réponse de l'utilisateur. Bravo, c'est un joli calcul et une belle explication!
ReneFroger