2 Stimmen

Welche Methode dreht den Bildschirm im Xserver?

Ich möchte gerne wissen, welche Funktion/Quelldatei den Bildschirm um 90/180/270 Grad mit dem xrandr-Werkzeug dreht?

xrandr -o left xrandr -o right xrandr -o inverted xrandr -o normal

Welche Funktion ruft die Bildschirmrotation im Xserver mit den obigen Befehlen auf?

Mit freundlichen Grüßen, Levon

1voto

maxrodrigo Punkte 1280

Du solltest überprüfen

xrandr --output --rotate left

wenn es nicht funktioniert, unterstützt Ihr X-Treiber möglicherweise keine Drehung oder es ist deaktiviert. Versuchen Sie

Option         "RandRRotation" "True"

im Screen-Abschnitt der Datei /etc/X11/xorg.conf

0voto

eichin Punkte 185

Eine der Funktionen in /usr/include/X11/extensions/Xrandr.h - wahrscheinlich XRRSetScreenConfig - verwendet die RANDR-Erweiterung, um den Server um die Konfiguration von vielen Dingen einschließlich der Rotation zu bitten. Das ist, was das Befehlszeilentool xrandr verwenden würde.

Wenn Sie fragen, was tatsächlich die Arbeit erledigt, ist das eine schwierigere Frage - der X-Server, vorausgesetzt er unterstützt die RANDR-Erweiterung, verwendet möglicherweise generischen Code, obwohl es wahrscheinlicher ist, dass er sehr chipsetspezifischen Code verwendet, um die tatsächliche Arbeit beim Rendern des Frames zu erledigen...

0voto

swestrup Punkte 4061

Es gibt zwei verschiedene X-Erweiterungen, die die interne Rotation von Fenstern behandeln. Die grundlegendste ist RANDR und ihr Quellcode befindet sich im obersten Verzeichnis randr des X Server-Quellcodes.

Die MODES-Erweiterung, die Unterstützung für mehrköpfige Geräte bietet und die Ausgänge und CRTCs freigibt, die in den Ergebnissen von xrandr aufgeführt sind, ist die zweite Erweiterung, die mit der Rotation von Fenstern arbeitet. MODES befindet sich im Unterverzeichnis hw/xfree86/modes des X-Server-Quellcodes.

Wenn ein X-Treiber RANDR direkt verwendet, muss er eine Reihe von Funktionen bereitstellen, die es RANDR ermöglichen, Fenster zu drehen und anzuzeigen. Wenn Sie MODES verwenden, setzt es sich als Schicht zwischen RANDR und Ihrem Treiber und Sie müssen MODES einen eingeschränkteren Satz von Funktionen zur Verfügung stellen und es übernimmt einen Großteil der Arbeit.

Dennoch ist es mir bisher nicht gelungen, MODES tatsächlich ein Fenster im X-Treiber, den ich schreibe, zu drehen, wahrscheinlich weil sowohl RANDR als auch MODES praktisch undokumentiert sind und es weitgehend unklar ist, was ihre Bildverarbeitungsmodelle sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X