<!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>
