在Linux下以编程方式更改屏幕分辨率而不使用监视器
Change screen resolution without monitor programmatically under Linux?
我正在编写一个GUI程序,该程序将在OS(CentOS 6.6
)引导时执行。
分辨率配置是在GUI程序的init
部分中编程的,我现在的解决方案是使用xrandr
获取监视器的分辨率集,解析结果并将其设置为其中一个候选者,您可以稍后在GUI程序中的Preferences
部分中选择其中一个。但是如果没有插入显示器,xrandr
就不能工作,对吧?
如果我没有在盒子里插入显示器,那意味着我不知道一个显示器能提供什么分辨率设置(至少不知道xrandr
),所以现在我想要的是,如果我打开电脑,GUI程序就会执行,稍后插入显示器后,我可以看到GUI程序已经加载在显示器中。
我的意思是,如果没有插入监视器,我希望在GUI程序初始化部分使用一些命令或API来修复分辨率(例如1152x864 75.0Hz
)?
有人知道可用的commands
或APIs
吗?
我没有在有/没有监视器的情况下尝试过,但应该可以在没有连接xrandr
的显示器的情况下"prime"输出。
xrandr --newmode "1024x768_2" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
定义一个新的、固定的模式,因为我们不能在没有连接监视器的情况下使用EDID(确保名称是唯一的)。此外,请确保您定义了任何可想象显示器都能显示的模式(这几乎将您限制在小分辨率VESA兼容模式,否则您可能会损坏旧的固定频率显示器)。
xrandr --addmode <output device> 1024x768_2
将此模式分配给图形卡输出
xrandr --output <output device> 1024x768_2
以启用此输出。
将其设置为主显示
xrandr --primary <output device>
相关文章:
- 使用分辨率定理用Z3证明
- Alt+Enter 在 Win32 应用中,管理大小调整和分辨率
- Opencv 恢复到比我设置的更高的分辨率
- 在Windows(C++)中使用USB相机拍摄高分辨率照片
- C/C++ 位数组分辨率转换算法
- Windows 和 Linux 之间的相对路径分辨率差异?
- 如何在C++中为高分辨率时钟声明变量?
- 给定数字的浮点分辨率
- 用于C++代码的 API 监视器类型定义 (XML)
- 过载分辨率和用户定义的转换
- QScreen geometry()api为分辨率2736 x 1824和2560 x 1600提供了错误的值
- 在没有NtSetTimerResolution的Windows上提高计时器分辨率(高分辨率)
- 获取可能的屏幕分辨率列表
- std::array<const T, n> vs std::array<T, n> 过载分辨率
- 将单个字符串/字符输入串行监视器
- 如何在 Windows 10 上检测辅助监视器的本机屏幕分辨率或缩放因子
- 在Linux下以编程方式更改屏幕分辨率而不使用监视器
- 当插入第二个监视器时,全屏Direct3D9设备仅以本机分辨率显示
- Qt 4.8调整窗口全分辨率监视器
- 在c++中改变副监视器的屏幕分辨率