Aufgrund eines defekten Monitors muss ich nur die rechte Hälfte meines Bildschirms einrichten

8

Die linke Seite meines Full-HD-Monitors ist defekt, um nur den guten Teil zu verwenden, muss die Auflösung 1274x1080nach rechts ausgerichtet sein.

Eine einfache xrandr -s 1274x1080wird die richtige Auflösung erhalten, aber zentriert. Mit --transform 1,0,-323,0,1,0,0,0,1wird der Bildschirm verschoben, jedoch nicht die rechte Seite belegt.

Ich habe bereits versucht, mit modelinedem in dieser Antwort angegebenen Link zu spielen , aber er bewegt den Bildschirm nicht, egal was ich ändere.

Luis Pacheco
quelle

Antworten:

5

Sie sind nicht weit falsch mit dieser --transformAtion!

Der Punkt ist, dass Sie den Bildschirm nicht nur nach rechts verschieben möchten, sondern ihn auch in der horizontalen Achse um die Hälfte verkleinern müssen. xrandrLesen Sie dazu das Handbuch, in dem wir lesen:

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

(...)

Mit anderen Worten sind die Gerätekoordinaten (x 'y') des transformierten Pixels:

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

Um die Ausgabe nach rechts zu verschieben, verkleinern Sie die X- Achse um 2, lassen Sie die Y- Achse unverändert und führen Sie keine anderen Operationen (Drehung, Inversion usw.) aus, die Sie ausführen sollten

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

Oben habe ich angenommen, dass Ihre normale Auflösung 1920x1080 ist (Sie haben Full HD erwähnt, und so nennen sie es). Offensichtlich ändern Sie den Anzeigenamen in Ihren.

Wenn nur ein kleiner Teil des Monitors defekt ist (nicht die Hälfte), müssen Sie einige Berechnungen durchführen:

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

Wenn also gebrochen 1/3 ist, haben wir a = 1,5, c = -960:

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

Natürlich können Sie die Auflösung mit demselben Befehl ändern. In diesem Fall ist möglicherweise eine Neuberechnung erforderlich.

jimmij
quelle
Es ist traurig, dass Sie nie eine Antwort vom Benutzer erhalten haben. Gut gemacht, es ist eine schöne Berechnung und Erklärung!
ReneFroger