拜问:如何修改显示内存的大小?
各位大师,我现在正在编写一个嵌入式linux下的图形界面,基本原理是通过framebuffer直接来显示图像。我所用的显示屏分辨率是640×480,显示屏上的linux内有装Xwindows。每一次我打开framebuffer并且映射显存时,必须将这个显存看成1024×768大小进行操作,才能够正常显示我所需要的图像。请问,有没有什么办法能够将显存大小改为640×480?谢谢!
------解决方案--------------------你设置好framebuffer的显示模式为640x480的即可。具体模式代码如下:   
     | 640x480  800x600  1024x768 1280x1024 
 ----+------------------------------------- 
 256 |  0x301    0x303    0x305    0x307 
 32k |  0x310    0x313    0x316    0x319 
 64k |  0x311    0x314    0x317    0x31A 
 16M |  0x312    0x315    0x318    0x31B   
 在grub配置文件里设置显示模式 
 比如 
 vga=0x0x311 
 设置为640x480x64k色 
------解决方案--------------------我以前在PC机上640x480没问题的,SDL也试过,都可以。   
 你不妨在PC机上先试一下,要是可以的话,那就是你们德国工程师说的了。 
------解决方案--------------------PC上肯定是可以的,只要重新配置下内核就好了,只是你的那块板子显卡是不是驱动只支持1024x768,那就没办法了
------解决方案--------------------看样子,不是linux的问题,好像是你的那个显示芯片有点问题。至于想直接修改显示芯片的寄存器好像得得到显示芯片厂商得技术支持才行。 
     我记得,原来我修改原来VIA得显卡时,他们死活不给相关得技术资料,结果我们没办法,只能自己用程序换算了。