2

我想知道使用 xrandr 工具将屏幕旋转 90/180/270 度的功能代码/源文件?

xrandr -o 左 xrandr -o 右 xrandr -o 倒置 xrandr -o 正常

什么函数使用上述命令在 Xserver 中调用屏幕旋转?

问候,列文

4

3 回答 3

1

哟应该检查

xrandr --output --rotate left

如果它不起作用,可能你的 X 驱动程序不支持旋转或者它被禁用。尝试

Option         "RandRRotation" "True"

在屏幕部分 /etc/X11/xorg.conf 文件中

于 2011-02-17T09:56:15.797 回答
0

有两种不同的 X 扩展来处理窗口的内部旋转。最基本的是 RANDR,它的源代码在 X Server 源代码的顶级 randr 目录中。

MODES 扩展提供对多头设备的支持,并公开了您可以在调用 xrandr 的结果中看到的输出和 CRTC,它是第二个适用于旋转窗口的扩展。MODES 可以在 X 服务器源代码的 hw/xfree86/modes 子目录中找到。

如果 X 驱动程序直接使用 RANDR,它必须提供许多让 RANDR 旋转和显示窗口的函数。如果您使用的是 MODES,那么它将自己设置为 RANDR 和您的驱动程序之间的一个层,并且您必须为 MODES 提供更有限的一组功能,并且它可以处理大部分工作。

也就是说,我还没有真正让 MODES 在我正在编写的 X Driver 中旋转窗口,可能是因为 RANDR 和 MODES 实际上都没有记录,而且还远不清楚它们的图像处理模型是什么。

于 2011-06-24T14:57:19.087 回答
0

其中一个功能/usr/include/X11/extensions/Xrandr.h——可能XRRSetScreenConfig——使用RANDR扩展来要求服务器配置一堆东西,包括旋转。这就是xrandr命令行工具将使用的内容。

如果您要问实际工作是什么,这是一个更难的问题 - X 服务器,假设它支持RANDR扩展,可能正在使用通用代码,尽管它更有可能使用非常特定于芯片组的代码,以便在何时执行实际工作渲染框架...

于 2011-01-08T04:16:29.850 回答