什么方法在Xserver中旋转屏幕

时间:2010-10-15 06:45:30

标签: xlib xserver

我想知道使用xrandr工具将屏幕旋转90/180/270度的functioncode / source_file?

xrandr -o left xrandr -o对 xrandr -o倒置 xrandr -o normal

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

此致 列翁

3 个答案:

答案 0 :(得分:0)

/usr/include/X11/extensions/Xrandr.h中的一个函数 - 可能是XRRSetScreenConfig - 使用RANDR扩展名来请求服务器配置一堆内容,包括轮换。这就是xrandr命令行工具将使用的内容。

如果您在询问实际工作是什么,这是一个更难的问题 - 假设它支持RANDR扩展,X服务​​器可能正在使用通用代码,但更可能是使用特定于芯片组的代码代码,在渲染帧时进行实际工作......

答案 1 :(得分:0)

哟应该检查

xrandr --output --rotate left

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

Option         "RandRRotation" "True"
屏幕部分/etc/X11/xorg.conf文件中的

答案 2 :(得分:0)

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

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

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

那就是说,我还没有真正让MODES在我正在编写的X驱动程序中旋转一个窗口,可能是因为RANDR和MODES几乎都没有记录,而且它们的图像处理模型还不清楚。