i810 with XFree86 4.x HOWTO Toby Russell May 2001 Revision History Revision 1.1 2001-05-09 Revised by: tr Revision 1.0 2001-05-01 Revised by: tr Initial release. ±Ì HOWTO ÅÍAJ[l 2.2.18 Æ 2.4.x ÌÁÊÈ@\ðgÁÄAIntel Ì i810 OtBbN`bvZbgãÅ XFree86 4.x ð®ì³¹éû@ðྠµÜ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª Table of Contents 1. ͶßÉ 2. ìÆÜÅ 2.1. X4.x ÌüèÆCXg[ 2.2. kernel 2.2.18 © 2.4.x (mknod ÆagpgartÜÞ) ÌüèÆRpC 2.3. XF86Config ð³ÁÆ¢¶é 3. Ó« 1. ͶßÉ ±Ì¶ÉÍAñíɾmÈÚIª èÜ·| Intel Ì i810 OtBbN` bvZbg (Èã "i810") ãÅ X 𮩷ÌɸsµÄ¢élÌè¯ð· é±ÆÅ·B±êÍSÒ (Å·) ÉæÁÄ©êAåƵļÌSÒB ªg¤±Æðzèµ½àÌÅ·BÒÍAæèXLÌ él̯ÉÈÁ½ Æ·¯ÎìÔŵå¤BȨAÍ i810 ª XFree86 3.3.6 Å®ì·é±Æð mÁĢܷªAÂlIÉͻ̹ðÊÁĢܹñBÌo±ÍAÉ XFree86 4.0 (Èã "X4.x") ÆJ[l 2.2.18 yÑ 2.4.x ÅpÅ«é i810/agpgart T|[g©çéàÌÅ·B»êä¦ÉA±Ì HOWTO Í»Ìð @â豫ÉæègÞ¾¯Å·BÈãÌèø«Í 2.4.x ÌRpCÉí¹ Ä©êĢܷªAèͯlÈÌÅA\ª 2.4.0 Éu«©¦é±ÆªÅ« Ü·Bgj[EuU̾ŷªAªðgÁľ³¢B»µÄAKvƳê éÏXðc¬·é½ßAREADME ðÇñž³¢B ±Ìèª@\·é±ÆðmÁÄ¢éÆÍ¢¦A±±ÉL^µ½±ÆÍAÙÆ ñÇ©gÌsípÈû@Åðµ½àe¾Æ¢¤±Æð¹ËÎÈèܹ ñB½ªÈºÌèæèÄøÊIÈû@ðmÁÄ¢élÍ«ÁƢܷB ൻ¤ÈçA»êð`¦Äàç¦éÆðµ¢Å·BOÉGê½æ¤ÉAIntel ªfUCµ½hCo (·Èí¿ XFCom_i810_1.2-3 Æ I810Gtt-0.2-4) ð ¹p·é±ÆÅAi810 Í XFree86 3.3.6 ÅÍ®ìµÜ·ªALinux Ì« Æ¢¤ÖSÌÊÅA»µÄà¿ëñK¸µà Intel Ì\tgEFAðg¤Kv ªÈ¢Æ¢¤±ÆðméãÅA±±ÉÚൽû@ð¨©ßµÜ·B±ê¾Æ Intel ÌhCoÍsvÅ·B ÅãÉAȺÌÓ̾tŶð÷ßè½¢Æv¢Ü·|±Ì HOWTO ª èø«Ìî{ZbgƩȳêAä¦ÉÖA·éS README ¶ðüèµÄÇ ³êé׫¾Æv¢Ü·BȺÌLqÍAǤzð½ÜµµÄÝÄà Ô IÈàÌÅÍ èܹñµAÈÆàSÒÉÍAOLÌ README ¶ ªKvÅ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 2. ìÆÜÅ Ó: ȺÌìÆÍSÄAroot ƵÄOCµÄsÈÁľ³¢B ±±ÉÀ×½ÔÉ]¤KvÌÈ¢ÊXÌXe[Wª 3  èÜ· (©RÉz µÄ¾³¢)B»ÌXe[WÆÍ| E X4.x ÌüèÆCXg[ E kernel 2.2.18 © 2.4.x ÌüèÆRpC (mknod agpgart ÖWàÜ Þ) E XF86Config ð³ÁÆ¢¶é ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 2.1. X4.x ÌüèÆCXg[ ÅÌXe[WÍà¿ëñA¨»ç i810 Å XFree86 3.3.6 𮩻¤Æµ ĸsµ½A é¢Í¨»ç X4.x ª i810 ðT|[gµÄé±Æð·¢½ ±ÆàȳÊÉ XF86Config t@CÆÆÁÝ ÁÄ¢éA»¤¢¤lÞ ¯Ìèø«ÆµÄXg³êĢ龯ŷB±êçÌw¦ðLp¾Æv¤Ù ÆñÇÌlÍùÉ X4.x ð[hµÄ¢éàÌÆv¢Ü·BÇÒÌÙÆñÇÍ ±Ìªðòιéŵå¤BÆà êAàµméKvª éÈçAX4.x ͱ ± (ftp://ftp.xfree86.org/pub/XFree86/4.0/binaries) ©çüè·é±Æª Å«Ü·B ½¾µAªÞµáçÉiñÅ_E[h·éOÉAÅÉ X4.x XC[gÌ ÇÌo[Wª©ªÌVXeÉKµÄ¢é©m©ßËÎÈèܹñBÅ· ÌÅA (Xinstall.sh) ª étH_Ì©ç) PÆÅ_E[hµÄÀs µÄ¾³¢ (Xinstall.sh ª étH_Ì©ç) | sh Xinstall.sh -check XNvgÌÊÍAãLÌ URL à̳µ¢tH_ð¦·Åµå¤B»±© çVXeÉKµ½t@Cð_E[hÅ«Ü·B î{IÈCXg[̽ßA»µÄ_E[hÔðȽßÉà¾µÄ ¨«Ü·ÆAáOÈȺÌà̪âÎKvÉÈèÜ· (¼ÌàÌÍIvV Å èAªv¤ÉACXg[ßöÅÜÜêÄ¢éÆAsÓâ¢n³ ̽ßɱƪ«¢ûüÖü©¤Â\«ª¦Ü·)B extract[.exe] Xdoc.tgz Xvar.tgz Xbin.tgz Xfenc.tgz Xxserv.tgz Xlib.tgz Xfnts.tgz Xmod.tgz Xman.tgz Xetc.tgz ±êÅAÇÌt@CÌZbgª©ªÌVXeÉKµÄ¢é©ªèܵ½B æÉiñÅÇÌXC[gÅà_E[hÅ«Ü·B»ê©çA(V½É_E [hµ½t@CÌ étH_©ç) ȺÌR}hÅCXg[µÄ ¾³¢| sh Xinstall.sh ±±ÜÅ¿áñƵĢêÎASÄÍ~ÉiÞŵå¤B¢Â©¿âð³ êéŵ太A±êÉÍæèà README t@CÌûªæèæà¾/ñ µÄêÜ·B½©úÒµ½ÊèÉ®©È¢à̪ éÈçA«Á¿èÆnÇ ·é׫AÍé©ÉÚµ¢OqÌ README t@C𨷷ߵܷBSÒ çµAÍ_E[hâCXg[ARpCͨë©gCÉs ½ßÉÈð§ÂOÅ·ç readme ðÇÝÜ·B®SÉí©é±ÆÍ è¦È¢ ÌÅ·B ±êÅA±ÌXe[WÍI¹Å·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 2.2. kernel 2.2.18 © 2.4.x (mknod ÆagpgartÜÞ) ÌüèÆRpC Ç¿çÌ kernel ÅàA±± (ftp://ftp.kernel.com) ©çüè·é±ÆªÅ «Ü·BRAREADME ÆÄÎêé çäét@Cð»ÌÉÇñž³¢ (2.4.x kernel É®µÄ¢é README ¶ÉÍA\[XðDZÉð·é© É¢ÄdvÈLª èÜ·BYê¸ÉÇñž³¢)Bkernel \[Xt @Cð /usr/src/kernels ÉÛ¶µAª linuxnewbie ÌL (àµÌw ¦ªí©èɯêαêðQƵľ³¢B½¾µA2.2.x kernel ÀèÅ ·) Åwñ¾ÈºÌRpCèðÀsµÄ¾³¢BLÍA±ÌAh X (http://www.linuxnewbie.org/nhf/intel/compiling/kernel_update.html) Å©é±ÆªÅ«Ü·Bà¿ëñAܾ³k³êÄ¢é kernel Ìu«êÍ {ÍDZÅà\¢Ü¹ñB½¾êÂdvÈÌÍAÖÈêÅð·éAÆ ¢¤±ÆÅ·B»ê¶áAR}hðſܵå¤| tar -xzvf /usr/src/kernels/linux-2.4.x.tar.gz é¢Íæè³k¦ÌÇ¢ bz2 Åð_E[hµ½ÌÈçA bzcat /usr/src/kernels/linux-2.4.x.tar.bz2 | tar xv »êÅÍA½ªN«Ä¢éÌ©AæÊÌoÍðæ©Ä¾³¢BIíÁ½ç AVµ¢ linux tH_ªÅ«Ä¢é͸ŷB ¢¢Åµå¤AÅÍVµ¢fBNgÉÚ®µÜ·| cd linux »µÄAKØÉRpCðͶßľ³¢ccB make config é¢ÍÞµë make menuconfig make xconfig Æ¢¤Iðà éÉÍ èÜ·ªAܾ X ÍÁĢܹñ B³àÈαêðÇñÅé͸ª èܹñBÅ·©çAg¤±ÆÍÅ«Ü ¹ñB±ñÈs®SÈâèûű̱ÆÉGêéÌÍCp¸©µ¢ÌÅ·ªA make oldconfig Æ¢¤Ìà èÜ·BÅ·ªAÌÂÐÌÉA±êÉ ¢Ä̾yð©Â¯é±ÆÍūܹñŵ½B¢¸êɹæAͱ±ÅÍ ±êÉ¢ÄGêܹñBൠȽªsÖÉvÁÄA»êðg¢½¯êÎA »ÌßöÍ make menuconfig ÉæéàÌÆñíÉÄ¢éÆmMµÄ¢Ü·B ³ÄAÍeLXgx[XÌ kernel RpCð 3 ñÙÇs¢ (make config)A»êª@½É·ÈªèËÁÄ¢é©mèܵ½BÍ make menuconfig ðãíèÉg¤Ì𨷷ߵܷB±êÍAncurses Ì[hð v·é¾¯ (X Ísv) ÅAkernel ÄRpCð«ê¢ÈOÏÅs¤±Æ ªÅ«éŵå¤BÍ Red Hat 6.1 ÌJX^CXg[Å ncurses ð üêÄܵ½ªA±Ì_ÅͱÌIðªÅ«é±Æð®SÉYêĢܵ½ BêûA ȽÌfBXgr [VÌ CD ÉÍ rpm `®Å ncurses ª éÆv¢Ü·ÌÅAൠmake menuconfig ª½¾G[ðÔ·ÈçA ncurses Ì rpm ðCXg[µÄà¤êxâÁÄÝľ³¢B BÁLÌâèðð·é½ßÉ make ÌßöÅêÔÓ¡Ì éXe[WÍ| E OàÁÄ (nCCg³êÄ¢éêÔÅÌIðÅ return ðµA» ÌÊ»êéBêÌTuIvVðIÔ±ÆÅ) EXPERIMENTAL ðIÔ± ÆA E î{IvV̺ÌûÖ¢ÁÄALN^foCXÉüèA "/dev/ agpgart (AGP) support" (ãÌw¦É]Á½êÌÝo»µÜ·) ðIð µÜ· ( "M" ÅÍÈÄ "*" Å)B»ê©çA E "/dev/agpgart (AGP) support" (JèԵܷªAW [ "M" ÅÍÈ Ä kernel ÖÌÃIÈgÝ±Ý "*" ƵÄAÅ·) ÌKØÈTuIvV AÂÜè "I810/I810 dc100I810e support" ðIðµÜ·B Ó: ãÌà¾ÍAÇÒª make menuconfig ðÀsµ½±ÆðzèµÄ¨ èA»êð make ªãíèÉÀs³ê½óµÉÎïéÉÍA½ªð ÐËéKvª éŵå¤BÆÍ¢¦AÙñ̵ŷB (±êçÌ@\ðW [ƵÄ[h·éûªæè_I¾ÆwE³êܵ ½BÆ¢¤ÌàA±êçÍ startx ªÀs³êéÜÅÍKvƳêÈ¢©çÅ ·BÍܾu[_uW [Ìû@vðµÄ¢Ü¹ñµAeXgµ ½ãÅ HOWTO ̱ÌZNVðÇL·éÆv¢Ü·Bª±±ÅÃIÈâè û𨷷߷éÌÍA±ÌßöðeXgo[WÌ 2.4.x kernel ÅÀs µAÃIÈ[hªæèÀSÅÀèµ½û@Å éÆv¦é©çÅ·B¡ÅÍ 2.4.x Íö®É[X³êĨèAW [ͽªæèÜÆàÉÈÁÄ¢ éŵå¤BÍA»êªÇñÈóµÈÌ©LÚ·éÂàèÅ·B (±Ì±Æ É¢ÄAHeron Ordonez ɴӵܷ) SÄI¹µÄ\ªÉ¿Â¢½çA±Ìæ¤ÉµÜ·| make dep make clean (not violently necessary but does no harm) make bzImage (takes a while, this bit) make modules make modules_install ÅÍA/boot fBNgð©ÄÝܵå¤B¨»çASystem.map Æ¢¤ System.map-[kernel o[W] ÖÌV{bNNÆAvmlinuz Æ¢¤ vmlinuz-[kernel o[W] ÖÌV{bNNª éÆv¢Ü·B± ÌzuÍSÄÅÍȢŷª½ÌfBXg (ó:fBXgr [V ) ÅÊpµÜ·Bvmlinuz ð / É éÌÉASystem.map Í /boot É éæ ¤Èà̪ éÆv¢Ü·BÇñÈP[XÅ êAªðgÁıêçÌw¦ð »êɤæ¤ÉKpµÄ¾³¢BÅ·©çAî{IÉÍA±Ìæ¤ÉµÄ V{bNNðí·éKvª èÜ·| rm System.map rm vmlinuz »ê©çu¼OðÏXµÂÂÀÍ¡ìÁ½t@CÅã«·évJ[lÖ At@CÖÌVµ¢V{bNNð쬷éKvª èÜ·B»êÉ Í±Ìæ¤ÉµÜ· (i386 ÌRs [^ðgÁÄ¢éÆ¢¤OñÅ) | cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.x ln -s /boot/vmlinuz-2.4.x /boot/vmlinuz cp /usr/src/linux/System.map /boot/System.map-2.4.x ln -s /boot/System.map-2.4.x /boot/System.map Tip: ൠ/boot É¢éÈçAâÎpXðg¤KvÍ èܹñBµ©µ AßxÉpS[¢«iÅAâÎpXðg¤ÌÅ êÎAV{bNt@ CÉàÁÆ·¢¼OðgÁľ³¢BÀÛAª{IÉAÅáÀÆµÄ ÍAvmlinuz Æ¢¤¼OÌJ[lðêÂÆA¼ÌSÄðo[WÔ Å¼t¯ ( é¢ÍPÉ»êçðÌÄéÆ©I)AÊÌJ[lðN®µ½ ¢ÍA¼OðüꩦéÌÅ·B é¢ÍAeJ[lÉƩ̼Oð ¯A»ê¼êÉ /etc/lilo.confÌGgðpÓ·é±ÆàÅ«Ü·B ÇÒæÅ·B ÉA/etc/lilo.conf ðÒWµÈÄÍÈèܹñB image=/boot/vmlinuz label=[what-ever-you-want-that-is-relevant-easy-to-type-and-remember] read-only root=/dev/hda[n] lilo.conf ÌÒWªÏñ¾çA±¤µÜ·| /sbin/lilo ±¤µÄAVNÅsJsJÌAVµ¢ Linux kernel ̱Æð lilo ªmèÜ ·BÅȯêÎ (ͱêðo±µÜµ½)AVµ¢J[lÅÍN®·é±Æ ªÅ«Ü¹ñBÀÉÔ²¯È±ÆÉÈèÜ·BÅͱêÌãÅA[ÄzµÄA ÄN®µÄ¾³¢BVµ¢J[lðIñ¾çAwðgñŶÁÆ©çèÜ ·B³N®·é͸ŷBN®µ½çµÎ©è©êܵå¤B½¾µA »êŪðçêÄÍ¢¯Ü¹ñBÆ¢¤ÌàA±Ìæ¤ÉµÄAPÅÍ é¯êÇàdvÈAagpgart W [ð mknod ·éÆ¢¤è±«ªKv¾© çÅ·| cd /dev mknod agpgart c 10 175 î{IÉͱêÅAi810 `bvZbgÆ X T[o𠽩àuÆèàÂvæ ¤ÈAñíÉ{¿IÈ (X ͱêȵÅÍèܹñ) LN^foCXª 쬳êÜ·B (Heron Ordonez ̨©°Åͱ±Åp𩩸ɷÝܵ ½)B©ÈèZpIÉ¢ë¢ë éƱëÅ·ªA±Ìà¾Å¨ÙµÄ¾³¢ B ±êÅA±ÌXe[WÍIíèÅ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 2.3. XF86Config ð³ÁÆ¢¶é ÍA©Èè±ÌìÆðsȢܵ½B23 ñ౯ĸs·êÎAåÏ·Á½ çµÄ¤ñ´èÅ·Bºðåɵľ¢Ü·ªAÓµÄAµÁ©èÆ}j Ay[WðÇñž³¢(R}hvvgÅ man XF86Config ðÀs µÜ·)BܸÅÉASseØÈ xf86config (¬¶ÌÜÜÅI) ðÀs µÄAx[XÆÈé XF86Config t@C𶬷éæ¤É¨··ßµÜ·B ±êÍA¼Ìc[¾ÆAÌo±ÅÍ X4.x ÆÍÝ·«ÌÈ¢ XF86Config t@C𶬷éݽ¢¾©çÅ·B xf86config Ì¿âÉ´ÁƦĢ ÁÄAJ[hÌÚÜŽçA»±ÉIÔ׫IðÍ èܹñÌÅA½ àIÎȢž³¢BãÙÇAî{Ìt@Cð쬵½ãÅAKvÈvf ðÇÁµÜ·BÅÍAÂ\ÈÀèÌ¿âÉSĦI¦½çAt@Cð /etc /X11/XF86Config ƵÄZ[uµÄ¾³¢B ³ÄAÅãÉAdvÈÇÁÚͱêçÅSÄÅ·| Section "Device" Identifier "i810" Driver "i810" VideoRam "4096" ±êÍAGraphics Device ZNVÉ}ü³êËÎÈèܹñB¢¸êɹ æADÝÅù¶Ì "Device" ZNVðÒW·é±ÆàÅ«é͸ŷB» ê©çÍAX ̽ßÉ i810 ðè`·éÌÉA"Device" tB[hð©Â¯é xÉ "i810" Æü͵Ģ«Ü·BáƵÄAÌ XF86Config ©çêgÌZ NVðÜßĢܷBÅ«êÎAÌÓ}·éƱ몾mÉÈê΢¢ ÌÅ·ª| Section "Device" Identifier "i810" Driver "i810" VideoRam "4096" Section "Screen" Identifier "Screen 1" Device "i810" Monitor "Highscreen 17inch" DefaultColorDepth 24 SubSection "Display" Depth 8 Modes "1024x768" EndSubSection SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection SubSection "Display" Depth 32 Modes "1024x768" EndSubSection EndSection ¡¢ Warning ¥§ ªAX ÖÌIvVÆµÄ "1024x768" ÌÝ^¦Ä¢ÄAftHgÌ F[xð 24 bit ɵĢé̪í©éÆv¢Ü·ªA±êÍAª±Ìû @ðDÞ©çÅ·BÁ¦ÄAi810 ÍÌ 17" j^ÅÍA»ÌðxÆF [xŽⷮìµÄêÜ·B21" Ìj^ÅǤ®©Íªèܹñ BÀ±·êÎí©éŵå¤B ¤£ ¤ñ´èµÈªçà¤êx¾ÁĨ«Ü·ªAª±±Å^¦é±ÆªÅ«é æè®SÉ XF86Config t@CÌi]ðð·éÌÍA}j Ay[W (ãLQÆ) ðµÁ©èÇÞ±ÆÅȵưé±ÆªÅ«Ü·B±ê©ç«ÁÆ ¶·éÅ ë¤A±±ÅÍGêçêĢȢ çäéâèðð·é©Ý ª~µ¢ÈçA±êÍ{ÉdvȱÆÅ·B ±êÅ®¹Å·BÅÍAXF86Config ðÛ¶µÄA±êðÀsµÜ·| startx ®¢½Í¸Å·BÌêÍ®«Üµ½BK¹ÉÈê½Æv¢Ü·B¤Ü¢ ©È¢æ¤Åµ½çA<trussl@hotmail.com> ÅÆAðÆêÎA请é æ¤w͵ܷB tL: ±êÍA±ÌZNVÖÌ¢íÎÇLÌæ¤ÈàÌÅ·ªAðÉ §ÂÆv¢Ü·BÍ±Ì HOWTO Ì XF86Config ªð±IÉÀsµÄ ¢éA³³¢ÈâèÉÔ©èܵ½B»êÍAÇÝ͵½àÌÌ®S ÉÍðµÄ¢È©Á½Ai810 Æ X4.x ªobt@g£ ( é¢Í»Ì¯ Þ) ÌàÆÅÍASÄÌðxÅ®ìµÈ¢±ÆÉÖ·éé`¶Éæéà Ìŵ½BÆà êAͱ̱ÆÉ¢ÄðÆçÈ©Á½ÌÅA© ªªÇñ¾àÌð³mÉÍv¢¾¹Ü¹ñBͱêÉ¢ÄÚñâèÆ µ©o¦Ä¢È¢ÌÅAmMðàÁľ¦éÌͱ꾯ŷ| XF86Config t@CÌÅÉAȺÌߪKvÆÈèÜ·B # This loads the DBE extension module Load "dbe" # Double buffer extension # This loads the miscellaneous extensions module, and disables # initialisation of the XFree86-DGA extension within that module. SubSection "extmod" Option "omit xfree86-dga" # don't initialise the DGA extension EndSubSection Å·©çAൠX ª "shape extender" â "shape extension" É墀 ÌG[ðo·æ¤ÈçA¨»ç XF86Config t@CÉãÌߪ¯ Ä¢éÆvÁÄæ¢Åµå¤B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3. Ó« i810 Æ X4.x ÌâèðC³·éû@ðmé±ÆÍAVal Henson Æ¢¤æBÌ wͪȯêÎȵ¦Ü¹ñŵ½BÞÍAÌìÆðw±µAÅÌ_Å 2.4.0 kernel Ìgpð©ßÄêܵ½B»ê©çA±ÌüùÅɨ¢ÄÍA Heron Ordonez ÉàÓÓðq×½¢Æv¢Ü·BÞ©çÍA±±Åªêà ¾µ½±Æ (»µÄääÍ«Á¿èྵ½¢ÆvÁÄ¢é±Æ) É¢ ÄÌâèÌwEðó¯Üµ½BCurtis Stone ͪ 2.4.0 kernel ÅÌÝg¦ éÆvÁÄ¢½@\ª 2.2.18 Åàg¦éƳ¦Äêܵ½BÞÉà´Óð B»ê©çA2.4.x J[lÍ /usr/src/linux ÅðµÄÍ¢¯È¢Æ³¦ Äê½ Cameron kerr Éà¶`ª èÜ·B±ÌwEª éÜÅAÍ 2.4.x Åͬ÷µÄ¢È©Á½ÌÅ·ªAYtÌ README ðÇñÅA·Èí¿ ©gÌèø«É]Áij¦¢êÎA¬÷µÄ¢½Åµå¤B ±¤¢¤É±Ì(óF´ÓÌ)ßöð±¯Ä¢éÆAêúÅ±Ì HOWTO ê Ôå«¢ZNVÉÈÁĵܢܷB±ÌßöÍJ©êĨèA(à¿ëñ JȾt¢ÅI) ÇñÈRgà½}Å·B