调整VMware中Linux虚拟机屏幕分辨率

调整VMware中Linux虚拟机屏幕分辨率,第1张

在VMware中安装Linux虚拟机后,屏幕分辨率通常默认设置为800x600,并且不能通过“屏幕分辨率首选项”窗口(系统->首选项->屏幕分辨率)进行设置。一般情况下,用户可以通过安装VMware Tools来解决这个问题,不过方法也并非只此一种: X服务器重启后,用户就可以通过“屏幕分辨率首选项”窗口调整Linux虚拟机屏幕分辨率了。实验环境为:windows SP3 + VMware Workstation 7.0.1 + CentOS 5.4,其他系统应该大同小异。 原文出处: http://www.cnblogs.com/dengke/archive/2010/02/13/1668078.html

1.打开/dev/fbX

fp = open ("/dev/fb0",O_RDWR)

2.获取可变参数,固定参数

ioctl(fp,FBIOGET_VSCREENINFO,&vinfo)  可变参数

ioctl(fp,FBIOGET_FSCREENINFO,&finfo)  固定参数

3.内存映射(mmap)

screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8

/*这就是把fp所指的文件中从开始到 screensize 大小的内容给映射出来,得到一个指向这块空间的指针*/

fbp =(unsigned char *) mmap (0, screensize,

PROT_READ | PROT_WRITE,

MAP_SHARED, fp,0)

4.使用映射后的地址对屏进行 *** 作。

使用上面得到的 fbp 指针来 *** 作显示缓冲区了。

把lcd看成是一块内存,使用mmap函数把它的缓冲区映射到进程空间中,然后通过映射后的地址直接 *** 作驱动中的显示缓冲区,往这块缓冲写数据,lcd就会按数值转换成相应颜色显示在LCD屏上。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8365355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存