Существует два разных расширения X, которые обрабатывают внутреннее вращение окон. Самым базовым является RANDR, и его исходный код находится в каталоге верхнего уровня randr исходного кода X Server.
Расширение MODES, которое обеспечивает поддержку многоголовых устройств и которое предоставляет выходы и CRTC, которые вы можете видеть в результатах вызова xrandr, является вторым расширением, которое работает с вращающимися окнами. MODES можно найти в подкаталоге hw / xfree86 / mode источника X-сервера.
Если драйвер X напрямую использует RANDR, он должен обеспечивать ряд функций, позволяющих вращать RANDR и отображать окна. Если вы используете MODES, то он устанавливает себя как слой между RANDR и вашим драйвером, и вы должны дать MODES более ограниченный набор функций, и он выполняет большую часть работы.
Тем не менее, мне еще предстоит получить РЕЖИМЫ для поворота окна в драйвере X, который я пишу, возможно потому, что и RANDR, и MODES практически не документированы, и далеко не ясно, каковы их модели обработки изображений. *