- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要以编程方式获取显示器的刷新率。
当我在命令行输入xrandr(1.4.1,opensuse 13)时,我得到:
Screen 0: minimum 8 x 8, current 1920 x 1200, maximum 16384 x 16384
VGA-0 disconnected primary (normal left inverted right x axis y axis)
DVI-D-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
1920x1200 60.0*+
1920x1080 60.0
1680x1050 60.0
1600x1200 60.0
1280x1024 60.0
1280x960 60.0
1024x768 60.0
800x600 60.3
640x480 59.9
HDMI-0 disconnected (normal left inverted right x axis y axis)
此结果由 nvidia-settings -q RefreshRate 等确认。
可是……当我运行以下代码(来源:https://github.com/raboof/xrandr/blob/master/xrandr.c)时,使用 g++ 4.8.1(使用 -lX11 -lXext -lXrandr)编译:
int nsize;
int nrate;
short *rates;
XRRScreenSize *sizes;
Display *dpy = XOpenDisplay(NULL);
Window root = DefaultRootWindow(dpy);
XRRScreenConfiguration *conf = XRRGetScreenInfo(dpy, root);
printf ("Current rate: %d\n",XRRConfigCurrentRate(conf));
sizes = XRRConfigSizes(conf, &nsize);
printf(" SZ: Pixels Refresh\n");
for (int i = 0; i < nsize; i++) {
printf("%-2d %5d x %-5d", i, sizes[i].width, sizes[i].height);
rates = XRRConfigRates(conf, i, &nrate);
if (nrate)
printf(" ");
for (int j = 0; j < nrate; j++)
printf("%-4d", rates[j]);
printf("\n");
}
XRRFreeScreenConfigInfo(conf);
我得到:
Current rate: 50
SZ: Pixels Refresh
0 1920 x 1200 50
1 1920 x 1080 51
2 1680 x 1050 52
3 1600 x 1200 53
4 1280 x 1024 54
5 1280 x 960 55
6 1024 x 768 56
7 800 x 600 57
8 640 x 480 58
9 1440 x 900 59
10 1366 x 768 60
11 1280 x 800 61
12 1280 x 720 62
为什么我会得到这个结果?我做错了什么?
该软件使用 OpenGL 和 GLEW。这有什么影响吗?我们确实调用了 glXQueryDrawable(dpy, drawable, GLX_SWAP_INTERVAL_EXT, &val) 但之后,我认为这不会有任何影响。
最佳答案
我找到了答案:
如果 XRandR 服务器支持协议(protocol)的 1.2 版,则需要使用适当的函数(我计划通过从 https://github.com/raboof/xrandr/blob/master/xrandr.c 复制代码片段来实现,其中 has_1_2/strong> 是真的)。
我在问题中的代码使用协议(protocol) 1.1 版的函数,因此仅返回元模式。
作为简单的检查,我尝试了以下两个命令:
xrandr --q1
xrandr --q12
。
事实上,第一个给我的结果与我以编程方式获得的结果相同。
学分转到http://www.ogre3d.org/forums/viewtopic.php?f=4&t=65010&start=200
关于c++ - 命令行 XRandR 和自己的代码之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37995551/
我正在编写一个跨平台库,它提供对窗口系统 (Win32/Cocoa/X11/Wayland) 的低级别访问。现在我正在努力获取有关已连接显示器的信息。我的“屏幕信息”实用程序使用我当前的双显示器设置写
所以,我正在尝试通过 HDMI 端口将 NES mini 连接到我在 linux mint 20 上运行的笔记本电脑。我正在使用 $ xrandr --output HDMI-1但它似乎没有任何效果。
我试图找到所有显示器及其坐标(宽度 w ,高度 h ,x 原点/top-left-most x 和 y 原点/top-left-most y )并且正在使用它代码,它在某些系统上运行良好。但在其他系统
我有一台装有 NVIDIA GT555M GPU 的笔记本电脑(华硕 N55SF),安装了 Elementary OS(基于 Ubuntu)。 我安装了带有 NVIDIA 驱动程序的 Bumblebe
我需要在 Ubuntu 上的 Qt 应用程序中获得显示支持的分辨率。我通过 QProcess 运行 xrandr 命令并在以下 View 中接收显示分辨率: Screen 0: minimum 320
我经常使用我的笔记本进行教学,投影仪上全屏显示。随着投影仪越来越好,我经常发现投影仪分辨率比我的 LCD 屏幕提供的分辨率更高或不同(过去我只使用 1024x768)。 我现在想做的是使用外部显示器的
我有一个小脚本,我需要每天手动执行它以将刷新率设置为 120Hz。这是脚本的内容: #!/bin/bash xrandr --output HDMI-1 --mode 1920x1080 --rat
我需要以编程方式获取显示器的刷新率。 当我在命令行输入xrandr(1.4.1,opensuse 13)时,我得到: Screen 0: minimum 8 x 8, current 1920 x 1
我需要从 xrandr 获取信息到我的软件中。假设这就是我从 xrandr -q 输出的内容: Screen 0: minimum 8 x 8, current 1920 x 1968, maximu
我正在使用 Python 3.8 linux 安装在远程桌面 (VNC) 上运行基于 PySide2 的 Python GUI,但遇到了一些问题。 GUI 确实确实弹出并且看起来可操作,但是,命令提示
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我正在运行 Ubuntu,我想获得连接显示器的数量、它们的当前分辨率,如果可能的话,它们之间的相对位置。因为我不喜欢解析 xrandr 的控制台输出——至少在我不需要的时候不喜欢——我想用 Pytho
我使用带有笔记本电脑和分辨率为 1600x900 的外部屏幕的 Ubuntu 14.04。在原始安装中,分辨率限制为 1024x768。所以我配置了一个在使用 xrandr 启动时自动运行的脚本: #
我使用配备 4k 显示屏的 Dell XPS 15 9550 和 ubuntu 作为操作系统。我需要使用 Matlab,但我(一如既往)遇到了 HighDPI 问题。目前我使用的是r2017a版本的M
我正在尝试使用键绑定(bind)在 Ubuntu14.04 中打开和关闭屏幕监视器。 我尝试了以下 shell 脚本: #!/bin/sh output=$(xrandr | grep ' conne
在我的设备上使用 xrandr 选择分辨率时,我不断收到一条错误消息,指出“配置 crtc 0 失败:” (缩短)选择显示并运行后的 xrandr 输出 $ xrandr Screen 0: mini
我有以下脚本(/home/vitidn/Downloads/adjust_contrast.sh)来调整显示对比度: #!/bin/sh export DISPLAY=":0" echo "adjus
我的系统规范: **Intel i7-8700k (Coffe-lake),Mother board : ROG(Maximus X Hero) OS :Ubuntu-Gnome 16.04** 我用
我有一台 ThinkPad X1 Yoga(第 2 代),在运行 Ubuntu 17.04 时,我可以像这样更改亮度: $ xrandr --output eDP-1 --brightness .7
我是一名优秀的程序员,十分优秀!