Какой метод вращает экран в Xserver - PullRequest
1 голос
/ 15 октября 2010

Хотелось бы узнать код функции / исходный_файл, который поворачивает экран на 90/180/270 градусов с помощью инструмента xrandr?

xrandr -o осталось xrandr -о верно xrandr -o перевернутый xrandr -o нормальный

Какая функция вызывает поворот экрана в Xserver с помощью приведенных выше команд?

С уважением, Левон

Ответы [ 3 ]

0 голосов
/ 17 февраля 2011

Йо должен проверить

xrandr --output --rotate left

если он не работает, возможно, ваш драйвер X не поддерживает вращение или он отключен. Попробуйте

Option         "RandRRotation" "True"

в разделе экрана /etc/X11/xorg.conf file

0 голосов
/ 24 июня 2011

Существует два разных расширения X, которые обрабатывают внутреннее вращение окон. Самым базовым является RANDR, и его исходный код находится в каталоге верхнего уровня randr исходного кода X Server.

Расширение MODES, которое обеспечивает поддержку многоголовых устройств и которое предоставляет выходы и CRTC, которые вы можете видеть в результатах вызова xrandr, является вторым расширением, которое работает с вращающимися окнами. MODES можно найти в подкаталоге hw / xfree86 / mode источника X-сервера.

Если драйвер X напрямую использует RANDR, он должен обеспечивать ряд функций, позволяющих вращать RANDR и отображать окна. Если вы используете MODES, то он устанавливает себя как слой между RANDR и вашим драйвером, и вы должны дать MODES более ограниченный набор функций, и он выполняет большую часть работы.

Тем не менее, мне еще предстоит получить РЕЖИМЫ для поворота окна в драйвере X, который я пишу, возможно потому, что и RANDR, и MODES практически не документированы, и далеко не ясно, каковы их модели обработки изображений. *

0 голосов
/ 08 января 2011

Одна из функций в /usr/include/X11/extensions/Xrandr.h - вероятно, XRRSetScreenConfig - использует расширение RANDR, чтобы попросить сервер настроить кучу вещей, включая ротацию. Вот что бы использовал инструмент командной строки xrandr.

Если вы спрашиваете, что на самом деле работает, это более сложный вопрос - X-сервер, предполагая, что он поддерживает расширение RANDR, может использовать общий код, хотя, скорее всего, он использует очень специфичный для чипсета код, выполнять реальную работу при рендеринге фрейма ...

...