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.