我正在尝试使用 FBIOPUT_VSCREENINFO 更改屏幕配置,但我不知道如何计算:
__u32 pixclock; /* pixel clock in ps (pico seconds) */
__u32 left_margin; /* time from sync to picture */
__u32 right_margin; /* time from picture to sync */
__u32 upper_margin; /* time from sync to picture */
__u32 lower_margin;
__u32 hsync_len; /* length of horizontal sync */
__u32 vsync_len;
(参见:http://lxr.free-electrons.com/source/include/linux/fb.h#L245) 对于来自给定模式行的 fb_var_screeninfo 结构。我尝试了以下各种替代方案:
http://www.arachnoid.com/modelines/index.html
但我从来没有得到值
http://lkml.indiana.edu/hypermail/linux/kernel/9902.0/1388.html
我猜pixclock可以用KHZ2PICOS来计算,剩下的我好像不太对。 用我的猜测尝试 ioctl 失败。
提前致谢。
最佳答案
这两个链接有助于确定数字:
http://www.scribd.com/doc/78015736/Creat-LINUX-Games-Programming-Tutorial-1#page=333
http://casper.berkeley.edu/svn/trunk/roach/sw/linux/Documentation/fb/cyblafb/fb.modes
但似乎 framebuffer 设备不允许我设置视频模式。
关于c++ - FBIOPUT_VSCREENINFO 和模式行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530874/