|
ÒªÏÔʾÖÐÎÄ£¬Ê×ÏÈҪʹ¿ØÖÆÌ¨½øÈëͼÐÎ״̬¡£zhconĿǰ֧³ÖFrameBuffer,libggi,vgaÈýÖÖͼÐÎÇý¶¯¡£
FrameBuffer£¬¿ÉÒÔÒë×÷¡°Ö¡»º³å¡±£¬ÓÐʱ¼ò³ÆÎªfbdrv£¬»ùÓÚfbdrvµÄconsoleÒ²±»³ÆÖ®Îªfbcon¡£ÕâÊÇÒ»ÖÖ¶ÀÁ¢ÓÚÓ²¼þµÄ³éÏóͼÐÎÉ豸¡£FrameBufferµÄÓŵãÔÚÓÚÆä¸ß¶ÈµÄ¿ÉÒÆÖ²ÐÔ¡¢Ò×ʹÓÃÐÔ¡¢Îȶ¨ÐÔ¡£Ê¹ÓÃLinuxÄں˵ÄFrameBufferÇý¶¯£¨vesafb£©£¬¿ÉÒÔÇáËÉÖ§³Öµ½1024X768X32bppÒÔÉϵķֱçÂÊ¡£¶øÇÒĿǰ¿ÉµÃµ½µÄ¾ø´ó¶àÊýlinux°æ±¾Ëù·¢ÐеÄÄÚºËÖУ¬ÒѾԤ±àÒëÁËFrameBufferÖ§³Ö£¬Í¨³£²»ÐèÒªÖØÐ±àÒëÄں˾ͿÉÒÔʹÓá£ËùÒÔFrameBufferÒ²ÊÇzhconÍÆ¼öʹÓõÄÇý¶¯·½Ê½¡£
½øÈëFrameBuffer¿ÉÒÔ¼òµ¥µØÔÚϵͳÆô¶¯Ê±Ïòkernel´«ËÍvga=mode-numberµÄ²ÎÊýÀ´¼¤»îFrameBufferÉ豸£¬È磺
lilo:linux vga=305
½«»áÆô¶¯1024x768x8bppģʽ¡£
| É«²Ê |
640x400 |
640x480 |
800x600 |
1024x768 |
1280x1024 |
1600x1200 |
| 4bits |
? |
? |
0x302 |
? |
? |
? |
| 8bits |
0x300 |
0x301 |
0x303 |
0x305 |
0x307 |
0x31C |
| 15bits |
? |
0x310 |
0x313 |
0x316 |
0x319 |
0x31D |
| 16bits |
? |
0x311 |
0x314 |
0x317 |
0x31A |
0x31E |
| 24bits |
? |
0x312 |
0x315 |
0x318 |
0x31B |
0x31F |
| 32bits |
? |
? |
? |
? |
? |
? |
Ҫʹlinuxȱʡ½øÈëFrameBuffer£¬¿ÉÒÔÐÞ¸Ä/etc/lilo.conf£¬¼ÓÈëÒ»ÏÂÓï¾ä£º
vga=0x303
Í˳ö±à¼£¬Ö´ÐУº
lilo -v
ÖØÐÂÆô¶¯linux£¬¿ÉÒÔʹÆä½øÈë800x600µÄ256ɫģʽ¡£
libggi£¬libggiÊÇÒ»¸ö¿çƽ̨µÄ»æÍ¼¿â¡£ÔÚLinuxÉÏ£¬libggiÊÇͨ¹ýµ÷ÓÃFrameBuffer»òsvgalibÀ´Íê³ÉͼÐβÙ×÷µÄ£¬¿ÉÄÜËÙ¶ÈËٶȱȽÏÂý¡£µ«ÔÚijЩ²»Ö§³ÖFrameBuffer»òÊÇvgaµÄϵͳÉÏʹÓÃlibggiÈÔÈ»ÊÇÒ»ÖÖ²»´íµÄÑ¡Ôñ¡£
ҪʹÓÃlibggi£¬ÐèÒªÉèÖÃGGI_DISPLAY»·¾³±äÁ¿£¬ÀýÈ磺
ÔÚ.bash_profileÖмÓÈëexport GGI_DISPLAY=display-fbdev:-noinput
½«Ê¹ÓÃlibggiÌṩµÄ½Ó¿ÚÀ´Íê³ÉͼÐÎÊä³ö£¨Ê¹ÓÃFrameBuffer£©¡£¸üÏêϸµÄÐÅÏ¢Çë²ÎÔÄlibggiµÄÎĵµ¡£
vga£¬Èç¹ûÄúµÄÄں˲¢Ã»ÓбàÒë½ø¶ÔFrameBufferµÄÖ§³Ö£¬ÄÇô¿ÉÒÔʹÓÃÄÚ½¨µÄvgaÇý¶¯À´Ê¹ÏÔÄ¿¹¤×÷ÔÚ640x480x16É«µÄģʽÏ¡£ÒòΪvgaÇý¶¯ÊÇÖ±½Ó¶ÔÏÔ¿¨ÉϵļĴæÆ÷²Ù×÷£¬ËùÒÔÕâÖÖ·½Ê½µÄÒÆÖ²ÐԺܲËÙ¶ÈÒ²±È½ÏÂý¡£
ϵͳÆô¶¯Ê±»á°´ÒÔÏÂ˳ÐòÀ´Ñ¡ÔñͼÐÎÇý¶¯£ºlibggi£¨Èç¹ûÉèÖÃÁË»·¾³±äÁ¿GGI_DISPLAY£©,framebuffer,vga.
|