ºìÁªLinuxÃÅ»§
Linux°ïÖú

Linux X-windowÏÔ¿¨ÅäÖÃͨÓýâ¾ö·½·¨

·¢²¼Ê±¼ä:2006-10-14 08:29:23À´Ô´:ºìÁª×÷Õß:tiandixin
Linux X-windowÏÔ¿¨ÅäÖÃͨÓýâ¾ö·½·¨
source £¨2.2.xÄÚºËÔ­´úÂ룬Èç¹ûÒª×ÔÐбàÒëÄںˣ©£»
¡¡¡¡XFree86 Framebuffer Server£º XF86_FBDev £¨Turbo LinuxÖÐÎİ棬RedHat6.0 CD£¬ftp.xfree86.org µÈµØ·½¶¼ÄÜÕÒµ½£©£»
¡¡¡¡gcc µÈ±àÒ빤¾ß¡£
¡¡¡¡±àÒëÒ»¸öÖ§³Ö VESA frame bufferµÄÄÚºË
¡¡¡¡Èç¹ûÓÐÏֳɵÄÖ§³Ö VESA frame bufferµÄÄں˿ÉÌø¹ýÕâÒ»²½¡£Èç Madrake 6.0ÖоʹøÓÐÖ§³Ö frame bufferµÄÄںˡ£
¡¡¡¡ÅäÖÃÄں˱àÒëÑ¡Ïî
¡¡¡¡ÔÚ/usr/src/LinuxÖмüÈëmake xconfig£¨XWindowÏ£©£¬»òmake menuconfig£¨ÃüÁîÐÐÏ£©¡£Óë frame buffer deviceÓйصÄÑ¡ÏîÓУ¨ÆäÓà±àÒëÑ¡ÏîÇë²Î¿¼ÆäËü×ÊÁÏ£©£º

¡¡Code maturity level opetions
¡¡¡¡y Prompt for development and/or incomplete codes/drivers
¡¡¡¡Console drivers
¡¡¡¡y Video mode selection support
¡¡¡¡...
¡¡¡¡y Support for frame buffer devices
¡¡¡¡...
¡¡¡¡y VESA VGA graphics console
¡¡¡¡...
¡¡¡¡y Advance low level driver options
¡¡¡¡...
¡¡¡¡y 8 bpp packed pixels support
¡¡¡¡y 16 bpp packed pixels support
¡¡¡¡y 24 bpp packed pixels support
±àÒë°²×°ÄÚºË
¡¡¡¡ÒÔ rootÉí·ÝµÇ¼£¬¼üÈëÒÔÏÂÃüÁ
¡¡¡¡# cd /usr/src/linux
¡¡¡¡# make bzImage
¡¡¡¡# make modules
¡¡¡¡# make modules_install
¡¡¡¡°Ñ±àÒëºÃµÄÄں˿½µ½¡¡/bootĿ¼£¬ÎļþÃû¿É×Ô¶¨£¬È磺
¡¡¡¡# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.5-fb
¡¡¡¡½¨Á¢ frame bufferÉ豸
¡¡¡¡frame bufferÉ豸µÄ majorΪ 29£¬minor Ϊ 0£¨fb0£©£¬32£¨fb1£©¡£ . . 224£¨fb7£©¡£
¡¡¡¡´´½¨fbÉ豸£º
¡¡¡¡# mknod /dev/fb0 c 29 0
¡¡¡¡....
¡¡¡¡ÅäÖà lilo µÄÆô¶¯Ñ¡Ïî¡£
¡¡¡¡Ìí¼ÓliloÆô¶¯ÅäÖÃ
¡¡¡¡ÏÂÃæÊǵäÐ͵Älilo.confÎļþ£¨Î»ÓÚ/etcĿ¼£©£º
¡¡¡¡boot = /dev/hda2
¡¡¡¡timeout = 500
¡¡¡¡prompt
¡¡¡¡read-only
¡¡¡¡image = /boot/vmlinuz-2.2.x
¡¡¡¡label = linux
¡¡¡¡root = /dev/hda2
¡¡¡¡other = /dev/hda1
¡¡¡¡label = dos
¡¡¡¡Ìí¼ÓÒ»ÐÂÅäÖÃÐèÌí¼Ó image£¬label£¬root¼°ÅäºÏVESA frame bufferµÄ vgaµÈËÄÏ
¡¡¡¡boot = /dev/hda2
¡¡¡¡timeout = 500
¡¡¡¡prompt
¡¡¡¡read-only
¡¡¡¡image = /boot/vmlinuz-2.2.x
¡¡¡¡label = linux
¡¡¡¡root = /dev/hda2
¡¡¡¡image = /boot/vmlinuz-2.2.5-fb £¨Ð±àÒëµÄÄںˣ©
¡¡¡¡label = linuxfb £¨Æô¶¯±êºÅ£¬¿É×Ô¶¨£©
¡¡¡¡root = /dev/hda2 £¨×ÅÒ»¾ä¾ßÌå»áÓв»Í¬£¬ÕÕÄã×Ô¼ºµÄlilo.conf£©
¡¡¡¡vga = 0x314 £¨ÏÔʾģʽ£¬²ÎÕÕÏÂ±í£©
¡¡¡¡other = /dev/hda1
¡¡¡¡label = dos

¡¡¡¡Linux_kernel_mode_number = VESA_mode_number + 0x200
¡¡¡¡640x480 800x600 1024x768 1280x1024
¡¡¡¡256 0x301 0x303 0x305 0x307
¡¡¡¡32k 0x310 0x313 0x316 0x319
¡¡¡¡64k 0x311 0x314 0x317 0x31A
¡¡¡¡16M 0x312 0x315 0x318 0x31B
¸üÐÂÆô¶¯³ÌÐò£¬ ÔËÐÐlilo£¬ÖØÆô£¬³öÏÖ lilo£º ʱ¼üÈëlinuxfb £¨»ò×Ô¶¨µÄ±êºÅ£©¡£ÕâʱÈç¹ûlinuxÇл»³ÉͼÐÎģʽ£¬²¢ÓÐһСÆó¶ìlogo³öÏÖ£¬ÄǾʹ󹦸æ³ÉÒ»°ë¡£ÅäÖÃframe buffer Server £¬Îª frame buffer ServerÅäÖÃScreen .²ÎÕÕ XF86Config £¨Î»ÓÚ/etc/X11¡¢/usr/X11R6/lib£©ÖÐ vga16µÄÅäÖá£
¡¡¡¡ÀýÈ磺
¡¡¡¡Section "Screen"
¡¡¡¡Driver "vga16"
¡¡¡¡Device "My Video Card"
¡¡¡¡Monitor "MAG XJ500T"
¡¡¡¡Subsection "Display"
¡¡¡¡Modes "640x480" "800x600"
¡¡¡¡ViewPort 0 0
¡¡¡¡EndSubsection
¡¡¡¡EndSection¡¡
¡¡¡¡¸Ä¶¯Driver£¬ Modes£¬ DepthÈýÏÆäÓàÕÕ³­£º
Section "Screen"
¡¡¡¡Driver "fbdev"
¡¡¡¡Device "My Video Card"
¡¡¡¡Monitor "MAG XJ500T"
¡¡¡¡Subsection "Display"
¡¡¡¡Depth 16 (É«²ÊÉî¶È£¬±ØÐëÓëÇ°ÃæËùÑ¡µÄÏÔʾģʽµÄÉ«²ÊÉî¶ÈÒ»Ö£¬±ØÐë!)
¡¡¡¡Modes "default"
¡¡¡¡ViewPort 0 0
¡¡¡¡EndSubsection
¡¡¡¡EndSection
¡¡¡¡ÈÃX Ö¸Ïò XF86_FBDev £¬°Ñ XF86_FBDevÎļþ¿½µ½ /usr/X11R6/binĿ¼¡£
ÔÚ /usr/X11R6/binºÍ /etc/X11Àï¶¼ÓÐÒ»¸öÎļþÃûΪ X µÄÎļþ£¬ËüÆäʵÊÇÒ»¸öÀàËÆWindowsµÄ¿ì½Ý·½Ê½µÄ¶«Î÷£¬ËüÖ¸ÏòÒ»¸öʵ¼ÊµÄ X ServerÎļþ£¬ÈçXF86_VGA16.startx ½Å±¾µ÷Óà X Æô¶¯ Server¶ø²»¹Ü¾ßÌåÊÇÄĸö Server.Òò´Ë£¬Ò»¶¨Òª°ÑÉÏÃæÁ½¸öĿ¼ÖÐµÄ X ¶¼Ö¸Ïò XF86_FBDev£¬²»Í¬°æ±¾¿ÉÄܵ÷ÓÃÆäÖÐÈÎÒâÒ»¸ö¡£
¡¡¡¡¾ßÌå·½·¨ÊǸÄÃû£¨»òɾ³ý£©Ô­À´µÄ X£º
¡¡¡¡cd /etc/X11
¡¡¡¡mv X X.bat
¡¡¡¡È»ºó°Ñ X Ö¸Ïò XF86_FBDev£º
¡¡¡¡ln -snf /usr/X11R6/bin/XF86_FBDev X
¡¡¡¡Èç¹ûÒ»ÇÐ˳Àû£¬Õâʱstartx£¬¾Í»á¡­¡­ good luck£¡
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ