我正在开发一个可与不同 PC 硬件一起使用的 Linux 上的应用程序(具体显示)
此应用程序应将环境设置为允许的最高分辨率(通过函数 XRRSizes 从 libXrandr 获取)。
问题是:对于某些硬件,尝试设置为最高选项会创建一个虚拟桌面,即实际分辨率较小的桌面,您必须在屏幕边缘滚动鼠标才能访问所有内容。
有没有办法在 Xlib(或其中一个兄弟姐妹)中检测我正在使用虚拟分辨率(换句话说,重新调整大小没有按预期进行)?
对于这种情况的解决方法的提示也将不胜感激......
谢谢
阅读: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