Linuxdoc Sgml/DVD-Playing-HOWTO
<!doctype linuxdoc system> <article> <title>DVD Playing HOWTO</title> <author>Nathan Rowlan, nkr@helo.org</author> <date>v0.1.7 19 May 2000 ¹ø¿ª:2000³â5¿ù28ÀÏ</date> <trans>ÇѴɱÕ(nkhahn@yahoo.com)</trans> <abstract> ¸®´ª½º¿¡¼ DVD ¿µÈ ŸÀÌÆ²À» »ó¿µÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼³¸íÀ» Æí¾ÈÇÏ°Ô µû¶óÇϱ⠹ٶõ´Ù. </abstract> <toc> <sect> ¼Ò°³<label id="¼Ò°³" > <sect1> ¸ñÀû <p> ÀÌ ¹®¼ÀÇ ¸ñÀûÀº ¸®´ª½º¿¡¼ DVD ¿µÈ ŸÀÌÆ²À» »ó¿µÇÏ´Â ¹æ¹ýÀ» ´Ü°èº°·Î ¼³¸íÇϱâ À§ÇÔÀÌ´Ù. ÃÖ´ëÇÑ ¸íÈ®ÇÏ°Ô ¼³¸íÇÏ·Á°í ÇßÁö¸¸, ¸î °¡Áö´Â È¥µ¿½º·´°Å³ª ¿À·ù°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ¿¡ ´ëÇØ ³ª¿¡°Ô ¾Ë·ÁÁÖ¸é ¼öÁ¤Çϵµ·Ï ÇϰڴÙ. ¾î¶² Áú¹®ÀÌ¶óµµ ÀÖÀ¸¸é, livid-dev ¸ÞÀϸµ ¸®½ºÆ®¿¡ °¡ÀÔÇÏ¿© livid-dev-subscribe@linuxvideo.org ·Î À̸ÞÀÏÀ» º¸³»±â ¹Ù¶õ´Ù. </p> <sect1> ¹®¼ ÃֽйöÁ¯µé <p> ÀÌ ÇÏ¿ìÅõ ¹®¼´Â html°ú tex¸¦ Æ÷ÇÔÇÏ¿© ´Ù¾çÇÑ ÇüÅ·ΠÁ¢ÇÒ ¼ö ÀÖ´Ù. ÃֽйöÁ¯ÀÇ ¹®¼´Â ³ªÀÇ »çÀÌÆ®(<url url="http://helo.org/dvd/howto/" name="http://helo.org/dvd/howto/">) ¿¡¼ ¾ðÁ¦µçÁö °¡Á®°¥ ¼ö ÀÖ´Ù. °¡±ÞÀûÀÌ¸é °¡Àå ÃֽйöÀüÀÇ ÇÏ¿ìÅõ ¹®¼¸¦ °¡Á®°¡±â¸¦ °·ÂÈ÷ ÃßõÇÑ´Ù. ¿Ö³ÄÇϸé ÀÌ ÇÏ¿ìÅõ ¹®¼´Â ±²ÀåÈ÷ ÀÚÁÖ °»½ÅµÇ±â ¶§¹®ÀÌ´Ù. </p> <sect1> ÀúÀ۱ǰú µî·Ï»óÇ¥µé <p> ÀÌ ¼³¸í¼´Â ÀüºÎ ¶Ç´Â ÀϺθ¦ ¹«·á·Î º¹Á¦ÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸, ´ÙÀ½ »çÇ×À» ÁؼöÇÏ¿©¾ß ÇÑ´Ù. </p> <p> <itemize> <item> »ó±âÀÇ ÀúÀÛ±Ç °íÁö¹®°ú ÀÌ Çã¶ô °íÁö¹®Àº ÀüºÎ ¶Ç´Â ºÎºÐ º¹Á¦ ¹®¼¿¡ ¹Ýµå½Ã Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÑ´Ù. <item> ¾î¶°ÇÑ ¹ø¿ª ¹× ¹ßÃé ÀÛ¾÷ÀÌ¶óµµ ÀúÀÚÀÇ ½ÂÀÎÀ» ¹Ýµå½Ã ¾ò¾î¾ß ¹èÆ÷ÇÒ ¼ö ÀÖ´Ù. <item> ÀÌ ¹®¼¸¦ ºÎºÐÀûÀ¸·Î ¹èÆ÷ÇÒ °æ¿ì¿¡´Â ÀÌ ÇÏ¿ìÅõ ¹®¼ ÀüºÎ¸¦ ¾ò´Â ¹æ¹ý°ú ¼³¸íÀ» ¹Ýµå½Ã Æ÷ÇÔÇÏ¿©¾ß ÇÑ´Ù. <item> ÀÌ ¹®¼ÀÇ ¾ÆÁÖ ÀÛÀº ºÎºÐÀº ºñÆò ¶Ç´Â ±âŸ ÀÛ¾÷ÀÇ ¼³¸íÀ¸·Î ÀοëµÉ ¼ö ÀÖ´Ù. ÀûÀýÇÑ ÀοëÃâó°¡ Æ÷ÇԵǾî ÀÖÀ¸¸é, Çã¶ô °íÁö¹®Àº ¾ø¾îµµ µÈ´Ù. </itemize> </p> <p> »ó±âÀÇ ±ÔÄ¢µéÀº ÇмúÀûÀÎ ¸ñÀûÀÏ °æ¿ì¿¡´Â ¿¹¿Ü°¡ Àû¿ëµÈ´Ù: ÀúÀÚ¿¡°Ô ÆíÁö½á¼ ¹®ÀÇÇϱ⠹ٶõ´Ù. ÀÌ·¯ÇÑ ±ÔÁ¦µéÀº ¿ì¸®µéÀ» ÀúÀڷμ º¸È£ÇÏ·Á´Â °ÍÀÌÁö ¹è¿ì°íÀÚ ÇÏ´Â »ç¶÷ ¶Ç´Â °¡¸£Ä¡´Â »ç¶÷µéÀ» ±ÔÁ¦ÇÏ·Á´Â °ÍÀÌ ¾Æ´Ï´Ù. ÀÌ ¹®¼¿¡ ÀÖ´Â ¸ðµç ¼Ò½º ÄÚµå( ÀÌ ¹®¼°¡ ¾²¿©Áø SGML Á¦¿Ü)´Â GNU General Public License ÇÏ¿¡ À§Ä¡ÇÑ´Ù. GNU General Public License´Â <url url="ftp://ftp.gnu.org/GNU/COPYING" name="the GNU archive"> ¿¡¼ À͸í FTP·Î ¾òÀ» ¼ö ÀÖ´Ù. </p> <sect1> °¨»çÀÇ ¸» <p> OMS ÀúÀÚµé°ú ¸¹Àº ½Ã°£°ú ³ë·ÂÀ» ÇÁ·ÎÁ§Æ®¿¡ ¹ÙÃĿ LiviD °³¹ßÀڵ鿡°Ô °¨»çÀÇ ¸»À» ÀüÇÑ´Ù. ¶ÇÇÑ ÀÌ ÇÏ¿ìÅõ ¹®¼¸¦ ´õ¿í ÁÁ°Ô ¸¸µéµµ·Ï ÀǰßÀ» º¸³»ÁØ »ç¶÷µé¿¡°Ôµµ ¿ª½Ã °¨»çÀÇ ¸»À» ÀüÇÑ´Ù. </p> <p> ÀÌ ÇÏ¿ìÅõ ¹®¼ ´ëºÎºÐÀÇ ±¸¼º ¹× Çü½ÄÀº Mark F. KomarinskiÀÇ HOWTO-HOWTO (<url url="http://www.linuxdoc.org/" name="http://www.linuxdoc.org/">) ¸¦ ÂüÁ¶ÇÏ¿´´Ù. </p> <sect1> ¹ø¿ª ¹®¼ <p> ³»°¡ Á¢¼öÇÑ ¸ðµç ¹ø¿ª¹®¼´Â <url url="http://helo.org/dvd/howto/trans/" name="http://helo.org/dvd/howto/trans/"> ¿¡ ÀúÀåÇØ ³õ¾Ò´Ù. Ȥ½Ã ÀÌ ÇÏ¿ìÅõ ¹®¼¸¦ ´Ù¸¥ ¾ð¾î·Î ¹ø¿ªÇϰíÀÚ ÇÑ´Ù¸é, nkr@helo.org ·Î À̸ÞÀÏÀ» º¸³»Áֱ⠹ٶõ´Ù. </p> <sect> ¿ä±¸»çÇ×<label id="¿ä±¸»çÇ×"> <p> ÀÌ ÇÏ¿ìÅõ ¹®¼´Â ¿©·¯ºÐÀÌ ´ÙÀ½°ú °°ÀÌ Áغñ°¡ µÇ¾îÀÖ´Ù°í ÀüÁ¦ÇÑ´Ù: <itemize> <item> Linux > v2.2.0 <item> XFree86 3.3.X <item> Linux¿¡¼ Áö¿øµÇ´Â DVD-ROM/RAM/RW µå¶óÀ̹ö <item> bash °ú ¿µ¾î(±¹¾î)¿¡ ´ëÇÑ ÀûÀýÇÑ Áö½Ä <item> ÇÙ°øÇÐ ¼®»çÇÐÀ§(??) </itemize> <p> <sect> ÆÄÀϵé<label id="ÆÄÀϵé" > <p> ¿ì¼± ¹«¾ùº¸´Ùµµ MTRR(Memory Type Range Register)°ú DVD ioctlÀ» Áö¿øÇÏ´Â Ä¿³ÎÀ» ±¸ÇØ¾ß ÇÑ´Ù. MTRRÀº Ä¿³Î 2.2.11 ÀÌÈÄ ¹öÀü¿¡´Â Æ÷ÇÔ(³»°¡ Ʋ·È´Ù¸é ÁöÀûÇØ Áֱ⠹ٶ÷)µÇ¾î ÀÖÀ¸¹Ç·Î, DVD ioctlÀ» ¾ò±â À§Çؼ´Â ¿©·¯ºÐÀÇ Ä¿³ÎÀ» ¾÷µ¥ÀÌÆ®ÇÒ Çʿ䰡 ÀÖÀ»Áöµµ ¸ð¸¥´Ù. µÎ °¡Áö ¹æ¹ýÀÌ Àִµ¥, °³¹ß ¹öÀü Ä¿³Î(v2.3.x)À» ´Ù¿î·Îµå ¹Þ°Å³ª, ¾ÈÁ¤µÈ ¹èÆ÷ ¹öÀü(v2.2.x)À¸·Î ÆÐÄ¡ÇÏ´Â ¹æ¹ýÀÌ´Ù. ÆÐÄ¡ ÆÄÀÏÀº <url url="http://www.kernel.dk/" name="http://www.kernel.dk/">¿¡¼, Ä¿³Î ÆÄÀÏÀº <url url="ftp://ftp.kernel.org" name="ftp://ftp.kernel.org/">ÀÇ ¿©·¯ ¹Ì·¯ »çÀÌÆ®¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. </p> <p> ´ÙÀ½À¸·Î, LiViD À¯Æ¿¸®Æ¼ ÆÄÀϵéÀÌ ÇÊ¿äÇÏ´Ù. ´ÙÀ½°ú °°ÀÌ µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ´Ù: </p> <p> <itemize> <item> CVS¿¡¼ LiViD À¯Æ¿¸®Æ¼ ÆÄÀϵéÀ» ±¸ÇÑ´Ù. ÀÌ·¸°ÔÇÏ¸é °³¹ßÀÚµéÀÌ ¾÷µ¥ÀÌÆ®ÇÒ ¶§¸¶´Ù ¹Ù·Î ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ´Ù(À̰ÍÀ» ÃßõÇÑ´Ù). </itemize> </p> <p> <verb> ´ÙÀ½°ú °°ÀÌ ½©¸í·ÉÀ» »ç¿ëÇØ¼ À¯Æ¿¸®Æ¼ ÆÄÀϵéÀ» ±¸ÇÑ´Ù: # mkdir ~/livid # cd ~/livid # export CVSROOT=:pserver:anonymous@cvs.linuxvideo.org:/cvs/livid # cvs login (Logging in to anonymous@cvs.linuxvideo.org) CVS password: anonymousÀÇ ÆÐ½º¿öµå´Â ¾ø´Ù. ±×³É ¿£ÅÍ۸¸ ´©¸¥´Ù. # cvs -z3 co -P nist ac3dec oms mpeg2dec ÇØ´ç µð·ºÅ丮·Î ÆÄÀϵéÀÌ ¸ðµÎ ´Ù¿î·Îµå µÉ°ÍÀÌ´Ù. </verb> </p> <p> <itemize> <item> ¸¸ÀÏ ÀÌ CVS°¡ ¸¶À½¿¡ ¾Èµç´Ù¸é(±«Â¥±º!), ÃÖ½ÅÀÇ LiviD¸¦ ´Ù¿î·Îµå ¹ÞÀ¸¸é µÈ´Ù. ´Ü, ÇÊ¿ä·Î ÇÏ´Â ÆÄÀÏ ¿Ü¿¡ ´Ù¸¥ °Íµéµµ ¼¯¿©ÀÖ´Ù. ±×·¯³ª ÀÌÀ¯¾ß ¾î¶»µç CVS¸¦ »ç¿ëÇϱⰡ ±×·¸°Ô ½È´Ù¸é ´Ï ¸¾´ë·Î Çϼ¼¿ä. </itemize> </p> <p> <verb> ´ÙÀ½ »çÀÌÆ®¿¡¼ ãÀ» ¼ö ÀÖ´Ù: http://linuxvideo.org/developer/data/livid.tar.gz </verb> </p> <sect> ¼³Ä¡<label id="¼³Ä¡"> <sect1> Ä¿³Î <p> ¸¸ÀÏ ¿©·¯ºÐÀÌ °³¹ß ¹öÀü Ä¿³Î(2.3.x)À» °¡Áö°í ÀÖÀ¸¸é, ÀÌ¹Ì DVD Ioctl Áö¿øÀÌ °¡´ÉÇÑ °ÍÀ̹ǷÎ, MTRR Áö¿øÀÌ Ä¿³Î ±¸¼º ÆÄÀÏ¿¡ µé¾îÀÖÀ½À» È®ÀÎÇÏ¸é µÈ´Ù. ±×¸®°í ³ª¼ ´Ã»ó ÇϵíÀÌ Ä¿³Î ÄÄÆÄÀϰú ¼³Ä¡¸¦ ÇÏ¸é µÈ´Ù. </p> <p> ±âÁ¸ÀÇ Ä¿³ÎÀ» ÆÐÄ¡ÇÏ°í ½ÍÀ¸¸é, ´ÙÀ½ »çÀÌÆ®·Î °£´Ù. <verb> http://www.kernel.dk/ </verb> ±×¸®°í ±âÁ¸ Ä¿³Î¿¡ ¸Â´Â ÀûÀýÇÑ ÆÐÄ¡¸¦ ´Ù¿î·Îµå ÇÑ´Ù. </p> <p> ¸¸ÀÏ ¿©·¯ºÐÀÇ Ä¿³ÎÀ» ¼³Ä¡Çϰí, ÆÐÄ¡ÇÏ´Â ¹æ¹ýÀ» ¸ð¸¥´Ù¸é ´ÙÀ½ÀÇ ÇÏ¿ìÅõ ¹®¼¸¦ ¹Ýµå½Ã Àо±â ¹Ù¶õ´Ù: <verb> http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.html </verb> </p> <sect1> LiViD À¯Æ¿¸®Æ¼µé <p> LiViD À¯Æ¿¸®Æ¼¸¦ ¼³Ä¡ÇÏ·Á¸é, ¿©·¯ºÐ ½Ã½ºÅÛÀÇ /etc/ld.so.conf ÆÄÀϾȿ¡ /usr/local/libµîÀÇ °æ·Î°¡ ±â·ÏµÇ¾îÀÖÀ½À» ¹Ýµå½Ã È®ÀÎÇÒ Çʿ䰡 ÀÖ´Ù. ´ÙÀ½ÀÇ °úÁ¤À» µû¶óÇϸé, ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ LiViD À¯Æ¿¸®Æ¼¸¦ ÄÄÆÄÀÏ ¹× ¼³Ä¡ÇÏ°Ô µÉ °ÍÀÌ´Ù. ¸¸ÀÏ ¹®Á¦°¡ ¹ß»ýÇϸé "¹®Á¦Á¡µé"À» ÂüÁ¶Çϱ⠹ٶõ´Ù. </p> <p> <verb> ac3dec: # cd ~/livid/ac3dec # ./configure # make # make install oms: # cd ~/livid/oms # ./autogen.sh # ./configure # make # make install mpeg2dec: # cd ~/livid/mpeg2dec # ./autogen.sh # make # make install </verb> </p> <p> ÀÌÁ¦ ÇʼöÀûÀÎ LiViD À¯Æ¿¸®Æ¼µéÀÌ ¼³Ä¡µÇ¾îÀÖÀ» °ÍÀÌ´Ù. oms´Â DVD µ¥ÀÌÅ͸¦ Àü¼ÛÇϱâÀ§ÇÑ ¸î°¡Áö Ưº°ÇÑ fifo ÆÄÀÌÇÁµéÀ» ÇÊ¿ä·Î ÇÑ´Ù. ÀÌ ÆÄÀÌÇÁµéÀº ´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î ¸¸µé ¼ö ÀÖ´Ù(´Ü, ±âÁ¸¿¡ ¾øÀ» °æ¿ì¿¡¸¸): </p> <p> <verb> # mkfifo /tmp/video # mkfifo /tmp/audio </verb> </p> <p> ¸¶Áö¸·À¸·Î ÇÑ °¡Áö°¡ ´õ ³²¾ÆÀÖ´Ù. oms´Â /dev/dvd°¡ ¿©·¯ºÐÀÇ DVD µå¶óÀ̺갡 Á¸ÀçÇÏ´Â °÷(¿¹¸¦µé¸é, /dev/hdb1 ¶Ç´Â /dev/scd0)¿¡ ½Éº¼ ¸µÅ©µÇ¾î ÀÖÀ» °ÍÀ» ÇÊ¿ä·Î ÇÑ´Ù. ¸¸ÀÏ DVD µå¶óÀ̺갡 /dev/cdrom¿¡ µÇ¾îÀÖÀ¸¸é, ´ÙÀ½°ú °°ÀÌ ½Éº¼ ¸µÅ©¸¦ ¸¸µé¾î ÁØ´Ù: </p> <p> <verb> # ln -s /dev/cdrom /dev/dvd </verb> </p> <p> ÀϹÝÀûÀ¸·Î ½Éº¼ ¸µÅ©¸¦ ¶Ç ´Ù¸¥ ½Éº¼ ¸µÅ©·Î ¸¸µéÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù. ¿Ö³ÄÇϸé, ÀÌ·¸°Ô ÇÏ¸é ºÒÇÊ¿äÇÑ ÀÔÃâ·ÂÀ» ºÎ°úÇϱ⠶§¹®ÀÌ´Ù. /dev/cdromÀ» DVD µå¶óÀ̺갡 À§Ä¡ÇÑ Á¤È®ÇÑ µð¹ÙÀ̽º·Î ´ëÄ¡Çϵµ·Ï ÇÑ´Ù. </p> <sect> Àç»ýÇϱâ<label id="Àç»ýÇϱâ"> <p> DVD¸¦ Àç»ýÇÏ·Á¸é 16ºñÆ® Ä÷¯ ¸ðµå¿¡¼ X-Window°¡ ÇÊ¿äÇÏ´Ù. µå¶óÀ̺꿡 DVD ŸÀÌÆ²À» ³Ö°í ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» ÁØ´Ù: </p> <p> <verb> # ac3dec /tmp/audio& mpeg2dec /tmp/video& oms </verb> </p> <p> ¸ðµÎ Á¦´ë·Î µ¿ÀÛÇÑ´Ù¸é, DVDDB¿¡¼ µð½ºÅ© À̸§À» º¼ °ÍÀÎÁö¸¦ ¹°¾îº¸´Â ¹®ÀÚ¿ÀÌ ³ªÅ¸³¯ °ÍÀÌ´Ù. '¿¹'¶ó°í ´äÇÏ´Â °ÍÀÌ ¾ÈÀüÇÏ´Ù. ±×¸®°í³ª¼, oms ÆÐ³ÎÀÌ ÆË¾÷ȸéÀ¸·Î ³ªÅ¸³¯ °ÍÀÌ´Ù. Play¹öưÀ» ´©¸£¸é ºñµð¿À À©µµ¿ì°¡ ³ªÅ¸³ª°í Àç»ýÀÌ ½ÃÀ۵ȴÙ. </p> <sect> ±× ¹Û¿¡<label id="±× ¹Û¿¡"> <p> <sect1> MTRR ¼³Á¤Çϱâ <p> <verb> ** Matrox ºñµð¿À Ä«µå¸¦ °®°í ÀÖ´Â »ç¶÷µéÀº º¼ °Í ** matroxfb¸¦ Ä¿³Î¿¡ ÄÄÆÄÀÏÇß´Ù¸é, ¾Æ¸¶µµ MTRRµéÀÌ ÀÌ¹Ì ¼³Ä¡µÇ¾îÀÖÀ» °ÍÀÌ´Ù. ±×·¸´Ù¸é ÀÌ ÀåÀ» °Ç³Ê¶Ù¾îµµ ¹«¹æÇÒ °ÍÀ¸·Î º»´Ù. </verb> </p> <p> MTRRÀ» ¼³Á¤ÇÔÀ¸·Î½á °æ¿ì¿¡ µû¶ó ºñµð¿À ¼º´ÉÀÌ »ó´çÈ÷ ÁÁ¾ÆÁú ¼ö ÀÖ´Ù. µû¶ó¼ ¼³Á¤ Çϱ⸦ ±Ç°íÇÑ´Ù. ¸ÕÀú, ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» Á༠¿©·¯ºÐÀÇ Ä¿³ÎÀÌ MTRR Áö¿øÀ» Æ÷ÇÔÇϰí ÀÖ´ÂÁö¸¦ È®ÀÎÇÒ Çʿ䰡 ÀÖ´Ù: </p> <p> <verb> # ls /proc/mtrr </verb> </p> <p> ¸¸ÀÏ /proc/mtrr°ú °°Àº °ÍÀÌ ¾ø´Ù°í Çϸé, ¿©·¯ºÐÀÇ Ä¿³ÎÀ» MTRR Áö¿ø°ú ÇÔ²² ´Ù½Ã ÄÄÆÄÀÏ ÇÒ Çʿ䰡 ÀÖ´Ù(ÀÌ´Â Ä¿³Î ÄÄÆÄÀÏ menuconfig¾ÈÀÇ "Processor type and features"¿¡ ÀÖ´Ù). </p> <p> ÀÏ´Ü MTRRÀÌ Á¦´ë·Î µ¿ÀÛÇϰí ÀÖÀ½À» È®ÀÎÇßÀ¸¸é, ¿©·¯ºÐÀÇ ºñµð¿À Ä«µåÀÇ ±âº» ¸Þ¸ð¸® ÁÖ¼Ò¿Í ºñµð¿À ·¥ÀÇ Å©±â°¡ ¾ó¸¶Àΰ¡¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. À̸¦ ¾Ë¾Æº¸´Â °¡Àå ¼Õ½¬¿î ¹æ¹ýÀº X-Window°¡ ½ÇÇàÇÒ ¶§ ÅØ½ºÆ® ȸéÀ¸·Î Ãâ·ÂÇÏ´Â Á¤º¸¸¦ º¸´Â °ÍÀÌ´Ù. ÀÌ ÅØ½ºÆ® ȸé Ãâ·Â Á¤º¸´Â ´ëºÎºÐ ¸ð´ÏÅÍ È¸éÀ§·Î ½ºÅ©·ÑµÇ¾î º¸ÀÌÁö ¾Ê°Ô µÇ°Å³ª ´Ù¸¥ tty·Î ȸé ÀüȯÀÌ ÀϾ¸é¼ »ç¶óÁ® ¹ö¸®±â ¶§¹®¿¡, ÀÌ X-Window Ãâ·ÂÁ¤º¸¸¦ ÆÄÀÏ(xoutput)·Î ¸®Å¸ÀÌ·º¼ÇÇØ¼ ÀúÀåÇÏ¸é µÈ´Ù. ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» ÁØ´Ù: </p> <p> <verb> # startx 2> xoutput </verb> </p> <p> ¿ì¸®°¡ ÇÊ¿äÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Â ÇàÀº xouput ÆÄÀÏÀÇ Áß°£ Âë¿¡ ÀÖÀ» °ÍÀÌ´Ù. ´ÙÀ½°ú °°Àº ÇàÀ» ã¾Æ º»´Ù: </p> <p> <verb> (--) SVGA: PCI: NVidia Riva TNT2 rev 17, Memory @ 0xee000000, 0xe2000000 </verb> </p> <p> ÀÏ´Ü xouput ÆÄÀÏ¿¡¼ ÇØ´ç À§Ä¡¸¦ ã¾ÒÀ¸¸é ÇàÀÇ ³¡ ºÎºÐ¿¡ ÀÖ´Â ¸Þ¸ð¸® ÁÖ¼Ò¸¦ Á¾ÀÌ¿¡ Àû¾îµÐ´Ù. ÀÌ ¿¹¿¡¼´Â 0xe2000000 ÀÌ´Ù. ¿©·¯ºÐÀÇ Çϵå¿þ¾î »ç¾ç¿¡ µû¶ó º¹¼ö°³ÀÇ ¸Þ¸ð¸® ÁÖ¼Ò°¡ ÀÖÀ» ¼öµµ, ¶Ç´Â ¾øÀ» ¼öµµ ÀÖÀ¸´Ï±î, Á» ´Ù¸£°Ô ³ªÅ¸³ª´õ¶óµµ °ÆÁ¤ÇÏÁö ¾Ê¾Æµµ µÈ´Ù. ¸Þ¸ð¸® ÁÖ¼Ò¸¦ Àû¾úÀ¸¸é xoutput ÆÄÀÏÀº Áö¿öµµ µÈ´Ù. </p> <p> ´ÙÀ½À¸·Î »õ MTRR¸¦ ¸¸µéµµ·Ï ÇÑ´Ù. À̸¦ ¸¸µé·Á¸é ¿©·¯ºÐÀÇ ºñµð¿À Ä«µåÀÇ ºñµð¿À ·¥ÀÇ Å©±â¸¦ 16Áø¼ö°ªÀ¸·Î ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. ´ÙÀ½À» ÂüÁ¶ÇÑ´Ù: </p> <p> <verb> 4MB -- 0x400000 8MB -- 0x800000 16MB -- 0x1000000 32MB -- 0x2000000 </verb> </p> <p> ´ÙÀ½°ú °°ÀÌ MTRR¸¦ Ãß°¡ÇÑ´Ù: </p> <p> <verb> # echo "base=0xe2000000 size=0x2000000 type=write-combining" >| /proc/mtrr </verb> </p> <p> ´Ü, À§ÀÇ "0xe2000000"¿Í "0x2000000" ºÎºÐÀ» ¿©·¯ºÐÀÇ ºñµð¿À Ä«µåÀÇ ±âº» ¸Þ¸ð¸® ÁÖ¼Ò¿Í ºñµð¿À ·¥ÀÇ Å©±âÀÇ °ªÀ¸·Î ¹Ù²ã¼ Àû¾îÁØ´Ù. </p> <p> ÀÌÁ¦ MTRRÀÌ ¼³Á¤µÇ¾ú´Ù, ´ÙÀ½°ú °°ÀÌ È®ÀÎÇØ º»´Ù: </p> <p> <verb> # cat /proc/mtrr </verb> </p> <p> ±×·¯¸é ´ÙÀ½°ú ºñ½ÁÇÑ °á°ú¸¦ º¸°Ô µÉ °ÍÀÌ´Ù: </p> <p> <verb> reg00: base=0x00000000 ( 0MB), size= 128MB: write-back, count=1 reg01: base=0xe2000000 (3616MB), size= 32MB: write-combining, count=1 </verb> </p> <p> Çѹø ´õ, ¼ýÀÚ°ªµéÀÌ ¾Æ¸¶µµ À̰Ͱú ´Ù¸¦Áöµµ ¸ð¸¥´Ù. °ÆÁ¤ÇÏÁö ¾Ê¾Æµµ µÈ´Ù. </p> <sect> ¹®Á¦Á¡µé<label id="¹®Á¦Á¡µé"> <sect1> ½ÇÇà ¿À·ùµé<label id="½ÇÇà ¿À·ùµé"> <p> ´ÙÀ½Àº Áö±Ý±îÁö ¾Ë·ÁÁø ¸î °¡Áö ½ÇÇà ½Ã ¿À·ù(µé)ÀÌ´Ù. </p> <sect2> Illegal Instruction Error <p> ¸¸ÀÏ ºñ-ÀÎÅÚ °è¿ÀÇ Ä¨(ƯÈ÷ K6) »ç¿ëÀÚ°¡ mpeg2video¸¦ ½ÇÇàÇÏ¿´À» ¶§ ÀÌ·¯ÇÑ ¿À·ù°¡ ¹ß»ýÇß´Ù¸é, nist/configure.in ÆÄÀÏÀÇ 129¹ø Çà°ú 130¹ø Çà ÁÖ¸ñÇÑ´Ù. ´ÙÀ½°ú °°À» °ÍÀÌ´Ù: </p> <p> <verb> CFLAGS="$CFLAGS -DHAVE_MMX -DLINUX -march=i686 -fschedule-insns2 -malign-doub CXXFLAGS="$CXXFLAGS -DHAVE_MMX -DLINUX -march=i686 -fschedule-insns2 -malign- </verb> </p> <p> ¾çÂÊ Çà¿¡ ÀÖ´Â "-march=i686"¸¦ "-march=i586"·Î ¸ðµÎ ´ëüÇϰí, ÀçÄÄÆÄÀÏ ¹× À缳ġ ÇÑ´Ù. </p> <sect1> ÄÄÆÄÀÏ ¿À·ùµé<label id="ÄÄÆÄÀÏ ¿À·ùµé"> <p> ´ÙÀ½Àº ÀϹÝÀûÀÎ ÄÄÆÄÀÏ ½Ã ¿À·ùµéÀÌ´Ù. </p> <sect2> `dvd_struct' undeclared... <p> ÀÌ À¯Æ¿¸®Æ¼ ÆÄÀϵéÀ» ÄÄÆÄÀÏÇÒ ¶§, »ç¶÷µéÀÌ °¡Àå ºó¹øÇÏ°Ô °Þ°ÔµÇ´Â ¹®Á¦´Â oms°¡ Ä¿³Î Çì´õÆÄÀϵéÀ» ÀÌ»óÇÑ ´Ù¸¥ °÷¿¡¼ ã±â ¶§¹®¿¡ ºñ·ÔµÈ´Ù. oms´Â ±âº»ÀûÀ¸·Î /usr/include/[linux|asm]¿¡ ÀÖ´Â Çì´õÆÄÀϵéÀ» »ç¿ëÇÏÁö¸¸, À̵é Çì´õÆÄÀϵéÀº ¾ÈÁ¤Ä¿³Î ¹öÁ¯¿¡¼³ª º¼ ¼ö ÀÖ´Â °ÍÀÌ´Ù. µû¶ó¼ ¿©·¯ºÐµéÀÌ Á¤»óÀûÀÎ ÇÁ·Î±×·¥À» °ËÆÄÀÏÇÒ ¶§, ¾ÈÁ¤¹öÁ¯ÀÇ ÇìÅÍÆÄÀϵéÀÌ »ç¿ëµÈ´Ù. oms´Â ºñ¾ÈÁ¤¹öÁ¯(¶Ç´Â ÆÐÄ¡¹öÁ¯)ÀÇ Ä¿³Î Æä´õÆÄÀϵéÀ» ÇÊ¿ä·ÎÇÑ´Ù. µû¶ó¼ oms°¡ ÄÄÆÄÀÏÀ» ½ÃµµÇÒ ¶§, ¸¹Àº ¸ðµâµéÀÌ Á¤ÀǵǾîÀÖÁö ¸øÇϰí, °á±¹Àº ÄÄÆÄÀÏ ¿À·ù°¡ ³ª¿À°Ô µÇ´Â °ÍÀÌ´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâÀ§ÇÑ °¡Àå ÁÁÀº ¹æ¹ýÀº omsÀÇ MakefileÀ» ¼öÁ¤ÇÏ¿© -I/usr/src/linux/include¸¦ CFLAGS¿Í CXXFLAGS¸¦ °¡¸®Å°°Ô ÇØÁØ´Ù.(ÀÌ Á¤º¸¸¦ ÁֽŠAdam Powell¿¡°Ô °¨»ç¸¦ µå¸°´Ù) </p> <p> <verb> ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» Áà¼ ÇØ°áÇÑ´Ù: # mkdir /usr/include/old # mv /usr/include/linux /usr/include/old/linux # mv /usr/include/asm /usr/include/old/asm # mv /usr/include/scsi /usr/include/old/scsi # ln -s /usr/src/linux/include/linux /usr/include/linux # ln -s /usr/src/linux/include/scsi /usr/include/scsi # ln -s /usr/src/linux/include/asm /usr/include/asm </verb> </p> <sect2> can't determine absolute dir of '../../../../src/plugin/codec/mpeg2dec/.libs' <p> ¶Ç ´Ù¸¥ ÀϹÝÀûÀÎ ¿À·ù´Â oms/src/plugin/codec/mpeg2dec/.libs µð·ºÅ丮¿¡ ÀÖ´Ù. ¸î °¡Áö ÀÌÀ¯·Î ÀÎÇÏ¿© ÀÌ µð·ºÅ丮´Â Á¸ÀçÇÏÁö ¾Ê°Ô µÇ´Âµ¥, ÀÌ´Â ÄÄÆÄÀÏ¿¡ ÇÊ¿äÇÏ´Ù. À̸¦ ÇØ°áÇϱâ À§Çؼ´Â ´ÜÁö ÀÌ µð·ºÅ丮¸¦ ¸¸µé¾îÁÖ¸é µÈ´Ù: </p> <p> <verb> # mkdir src/plugin/codec/mpeg2dec/.libs </verb> </p> <sect1> ¾ÈµÇ´Â ±â´Éµé<label id="¾ÈµÇ´Â ±â´Éµé"> <p> ¿ø·¡ ÀǵµµÈ ´ë·Î µÇ¾î¾ß Çϴµ¥, ÇöÀç ¾ÈµÇ´Â ±â´Éµé: <itemize> <item> Á¦´ë·Î µ¿ÀÛÇÏ´Â Àå(chapter) °Ë»ö ¹öưÀÌ Çϳªµµ ¾øÀ½(Ãæµ¹). <item> Çѹø Á¤ÁöµÇ¸é, ´Ù½Ã ½ÃÀÛÇÏÁö ¸øÇÏ´Â °æÇâÀÌ ÀÖÀ½(Ãæµ¹). <item> ¿Àµð¿À/ºñµð¿À°¡ ¸Å Ãʸ¶´Ù °Ç³Ê¶Ù´Â Çö»ó µî. <item> mpeg2dec»ç¿ë ½Ã °¢ ÀåÀÇ ÁøÀԺκп¡¼ ÇöÀúÇÑ °¨¼âÇö»ó(slowdown). <item> °¡²û ¾¿ ac3dec°¡ Á¦´ë·Î Á¾·áµÇÁö ¾Ê¾Æ¼ "killall ac3dec"¸¦ »ç¿ëÇØ¾ß¸¸ Á¾·áµÇ´Â Çö»ó. </itemize> </p> <sect1> ±×¹ÛÀÇ ¿À·ùµé<label id="±×¹ÛÀÇ ¿À·ùµé"> <p> ¸¸ÀÏ ¿©·¯ºÐµéÀÌ °æÇèÇÑ ¿À·ùµéÀÌ À̰÷ ¸ñ·Ï¿¡ ¾ø´Ù¸é, ÇöÀçÀÇ CVS Äڵ忡 ¹ö±×°¡ Á¸ÀçÇÑ´Ù°í ºÁ¾ß ÇÒ °ÍÀÌ´Ù. ÃÖ»óÀÇ ¹æ¹ýÀº ¸î Àϰ£ ±â´Ù·Áº¸°í, CVS·ÎºÎÅÍ ¾÷µ¥ÀÌÆ®ÇÏ´Â °ÍÀÌ´Ù. ¿©·¯ºÐÀÇ Áú¹®À» ¹ÞÀ» ¼ö ÀÖ´Â ¸ÞÀϸµ ¸®½ºÆ®°¡ ÁغñµÇ¾îÀÖ´Ù. livid-dev-subscribe@linuxvideo.org·Î ºó ¸ÞÀÏÀ» º¸³»¸é °¡ÀÔÇÒ ¼ö ÀÖ´Ù. </p> <sect> ÇÒ Àϵé<label id="ÇÒ Àϵé"> <p> <itemize> <item> Matrox Ä«µå¸¦ ¼ÒÀ¯Çϰí ÀÖ´Â »ç¶÷µé·ÎºÎÅÍ ¼º´ÉÀ» Çâ»ó½ÃŲ Á¤º¸¸¦ ¹Þ´Â °Í <item> Makefile ¿É¼Çµé (HAVE_MMX, HAVE_3Dnow µî) <item> mpeg2dec¿¡¼ÀÇ -march=k6 <item> ¸î °¡Áö ½¬¿î MTRR Ãß°¡(framebuffer) <item> ´ëºÎºÐÀÇ µå¶óÀ̺꿡 Áö¿ªÄÚµå ¼³Á¤: www.linuxtv.org/dvd </itemize> </p> </article> |
If you make a mistake you right it immediately to the best of your ability. |