ÏÔʾÇý¶¯£ºframebuffer (×î¿ì), VGA (Âý), libggi (Âý).
FrameBuffer£¬¿ÉÒÔÒë×÷¡°Ö¡»º³å¡±£¬ÓÐʱ¼ò³ÆΪfbdrv£¬»ùÓÚfbdrvµÄconsoleÒ²±»³Æ֮Ϊfbcon¡£ÕâÊÇÒ»ÖÖ¶ÀÁ¢ÓÚÓ²¼þµÄ³éÏóͼÐÎÉ豸¡£ FrameBufferµÄÓŵãÔÚÓÚÆä¸ß¶ÈµÄ¿ÉÒÆÖ²ÐÔ¡¢Ò×ʹÓÃÐÔ¡¢Îȶ¨ÐÔ¡£Ê¹ÓÃLinuxÄں˵ÄFrameBufferÇý¶¯£¨vesafb£©£¬¿ÉÒÔÇáËÉÖ§³Öµ½1024X768X32bppÒÔÉϵķֱçÂÊ¡£¶øÇÒÄ¿Ç°¿ÉµÃµ½µÄ¾ø´ó¶àÊýlinux°æ±¾Ëù·¢ÐеÄÄÚºËÖУ¬ÒѾԤ±àÒëÁËFrameBufferÖ§³Ö£¬Í¨³£²»ÐèÒªÖØбàÒëÄں˾ͿÉÒÔʹÓá£ËùÒÔFrameBufferÒ²ÊÇzhconÍƼöʹÓõÄÇý¶¯·½Ê½¡£
½øÈëFrameBuffer¿ÉÒÔ¼òµ¥µØÔÚϵͳÆô¶¯Ê±Ïòkernel´«ËÍvga=mode-numberµÄ²ÎÊýÀ´¼¤»îFrameBufferÉ豸£¬È磺
[code]lilo:linux vga=305[/code]
½«»áÆô¶¯1024x768x8bppģʽ¡£
[table=98%][tr][td][align=center]É«²Ê[/align][/td][td][align=center]640x400[/align][/td][td][align=center]640x480[/align][/td][td][align=center]800x600[/align][/td][td][align=center]1024x768[/align][/td][td][align=center]1280x1024[/align][/td][td][align=center]1600x1200[/align][/td][/tr][tr][td][align=center]4bits[/align][/td][td][align=center]?[/align][/td][td][align=center]?[/align][/td][td][align=center]0x302[/align][/td][td][align=center]?[/align][/td][td][align=center]?[/align][/td][td][align=center]?[/align][/td][/tr][tr][td][align=center]8bits[/align][/td][td][align=center]0x300[/align][/td][td][align=center]0x301[/align][/td][td][align=center]0x303[/align][/td][td][align=center]0x305[/align][/td][td][align=center]0x307[/align][/td][td][align=center]0x31C[/align][/td][/tr][tr][td][align=center]15bits[/align][/td][td][align=center]?[/align][/td][td][align=center]0x310[/align][/td][td][align=center]0x313[/align][/td][td][align=center]0x316[/align][/td][td][align=center]0x319[/align][/td][td][align=center]0x31D[/align][/td][/tr][tr][td][align=center]16bits[/align][/td][td][align=center]?[/align][/td][td][align=center]0x311[/align][/td][td][align=center]0x314[/align][/td][td][align=center]0x317[/align][/td][td][align=center]0x31A[/align][/td][td][align=center]0x31E[/align][/td][/tr][tr][td][align=center]24bits[/align][/td][td][align=center]?[/align][/td][td][align=center]0x312[/align][/td][td][align=center]0x315[/align][/td][td][align=center][s0x318[/align][/td][td][align=center]0x31B[/align][/td][td][align=center]0x31F[/align][/td][/tr][tr][td][align=center]32bits[/align][/td][td][align=center]?[/align][/td][td][align=center]?[/align][/td][td][align=center]?[/align][/td][td][align=center]?[/align][/td][td][align=center]?[/align][/td][td][align=center]?[/align][/td][/tr][/table]
Ҫʹlinuxȱʡ½øÈëFrameBuffer£¬¿ÉÒÔÐÞ¸Ä/etc/lilo.conf£¬¼ÓÈëÒ»ÏÂÓï¾ä£º
[code]vga=0x303[/code]
Í˳ö±à¼£¬Ö´ÐУº
[code]lilo -v[/code]
ÖØÐÂÆô¶¯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.
sbso ÓÚ 2010-10-04 13:35:08·¢±í:
¶¥Ò»¸ö£¬Â¥Ö÷½²µÄ²»´í¡£