通过它的API(或扩展)识别X11屏幕上的分辨率是否为虚拟

时间:2012-07-30 20:41:20

标签: c linux x11

我正在使用linux上的一个已启动的应用程序,可以与不同的PC硬件一起使用(具体显示)

此应用程序应设置允许的最高分辨率的环境(get by 来自libXrandr的函数XRRSizes)。

问题是:对于某些硬件,尝试设置最高选项会创建一个虚拟桌面,即实际分辨率较小的桌面,您必须在屏幕边缘滚动鼠标才能访问所有它

有没有办法在Xlib(或其中一个兄弟姐妹)中检测到我正在使用虚拟分辨率(换句话说,重新调整大小没有按预期进行)?

对于这种情况的解决方案的提示也将受到赞赏......

谢谢

1 个答案:

答案 0 :(得分:1)

阅读本文:http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt

您需要了解“screen”,“output”和“crtc”之间的区别。您需要检查要使用的每个输出的可用模式,然后在CRTC上正确设置所需的模式,将CRTC与输出相关联,然后使屏幕大小适合您在每个输出上设置的值

请查看xrandr源代码以获取示例:http://cgit.freedesktop.org/xorg/app/xrandr/tree/xrandr.c