我想知道使用 xrandr 工具将屏幕旋转 90/180/270 度的功能代码/源文件?
xrandr -o 左 xrandr -o 右 xrandr -o 倒置 xrandr -o 正常
什么函数使用上述命令在 Xserver 中调用屏幕旋转?
问候,列文
哟应该检查
xrandr --output --rotate left
如果它不起作用,可能你的 X 驱动程序不支持旋转或者它被禁用。尝试
Option "RandRRotation" "True"
在屏幕部分 /etc/X11/xorg.conf 文件中
有两种不同的 X 扩展来处理窗口的内部旋转。最基本的是 RANDR,它的源代码在 X Server 源代码的顶级 randr 目录中。
MODES 扩展提供对多头设备的支持,并公开了您可以在调用 xrandr 的结果中看到的输出和 CRTC,它是第二个适用于旋转窗口的扩展。MODES 可以在 X 服务器源代码的 hw/xfree86/modes 子目录中找到。
如果 X 驱动程序直接使用 RANDR,它必须提供许多让 RANDR 旋转和显示窗口的函数。如果您使用的是 MODES,那么它将自己设置为 RANDR 和您的驱动程序之间的一个层,并且您必须为 MODES 提供更有限的一组功能,并且它可以处理大部分工作。
也就是说,我还没有真正让 MODES 在我正在编写的 X Driver 中旋转窗口,可能是因为 RANDR 和 MODES 实际上都没有记录,而且还远不清楚它们的图像处理模型是什么。
其中一个功能/usr/include/X11/extensions/Xrandr.h
——可能XRRSetScreenConfig
——使用RANDR
扩展来要求服务器配置一堆东西,包括旋转。这就是xrandr
命令行工具将使用的内容。
如果您要问实际工作是什么,这是一个更难的问题 - X 服务器,假设它支持RANDR
扩展,可能正在使用通用代码,尽管它更有可能使用非常特定于芯片组的代码,以便在何时执行实际工作渲染框架...