【问题标题】:What method rotates screen in Xserver什么方法在Xserver中旋转屏幕
【发布时间】:2010-10-15 06:45:29
【问题描述】:

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

xrandr -o 左 xrandr -o 对 xrandr -o 反转 xrandr -o 正常

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

问候, 莱文

【问题讨论】:

    标签: xlib xserver


    【解决方案1】:

    你应该检查一下

    xrandr --output --rotate left
    

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

    Option         "RandRRotation" "True"
    

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-13
          相关资源
          最近更新 更多