DVD Playing HOWTO ¹ø¿ª:2000³â5¿ù28ÀÏ
Nathan Rowlan, nkr@helo.org
v0.1.7 19 May 2000
ÇѴɱÕ(nkhahn@yahoo.com)
¸®´ª½º¿¡¼ DVD ¿µÈ ŸÀÌƲÀ» »ó¿µÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼³¸íÀ» Æí¾ÈÇÏ°Ô
µû¶óÇϱ⠹ٶõ´Ù.
______________________________________________________________________
¸ñÂ÷
1. ¼Ò°³AID CDATA ¼Ò°³(LABEL)LABEL
1.1 ¸ñÀû
1.2 ¹®¼ ÃֽŠ¹öÁ¯µé
1.3 ÀúÀ۱ǰú µî·Ï»óÇ¥µé
1.4 °¨»çÀÇ ¸»
1.5 ¹ø¿ª ¹®¼
2. ¿ä±¸»çÇ×AID CDATA ¿ä±¸»çÇ×(LABEL)LABEL
3. ÆÄÀϵéAID CDATA ÆÄÀϵé(LABEL)LABEL
4. ¼³Ä¡AID CDATA ¼³Ä¡(LABEL)LABEL
4.1 Ä¿³Î
4.2 LiViD À¯Æ¿¸®Æ¼µé
5. Àç»ýÇϱâAID CDATA Àç»ýÇϱâ(LABEL)LABEL
6. ±× ¹Û¿¡AID CDATA ±× ¹Û¿¡(LABEL)LABEL
6.1 MTRR ¼³Á¤Çϱâ
7. ¹®Á¦Á¡µéAID CDATA ¹®Á¦Á¡µé(LABEL)LABEL
7.1 ½ÇÇà ¿À·ùµéAID CDATA ½ÇÇà ¿À·ùµé(LABEL)LABEL
7.1.1 Illegal Instruction Error
7.2 ÄÄÆÄÀÏ ¿À·ùµéAID CDATA ÄÄÆÄÀÏ ¿À·ùµé(LABEL)LABEL
7.2.1 `dvd_struct' undeclared...
7.2.2 can't determine absolute dir of '../../../../src/plugin/codec/mpeg2dec/.libs'
7.3 ¾ÈµÇ´Â ±â´ÉµéAID CDATA ¾ÈµÇ´Â ±â´Éµé(LABEL)LABEL
7.4 ±×¹ÛÀÇ ¿À·ùµéAID CDATA ±×¹ÛÀÇ ¿À·ùµé(LABEL)LABEL
8. ÇÒ ÀϵéAID CDATA ÇÒ Àϵé(LABEL)LABEL
______________________________________________________________________
1. ¼Ò°³
1.1. ¸ñÀû
ÀÌ ¹®¼ÀÇ ¸ñÀûÀº ¸®´ª½º¿¡¼ DVD ¿µÈ ŸÀÌƲÀ» »ó¿µÇÏ´Â ¹æ¹ýÀ» ´Ü°èº°·Î
¼³¸íÇϱâ À§ÇÔÀÌ´Ù. ÃÖ´ëÇÑ ¸íÈ®ÇÏ°Ô ¼³¸íÇÏ·Á°í ÇßÁö¸¸, ¸î °¡Áö´Â
È¥µ¿½º·´°Å³ª ¿À·ù°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ¿¡ ´ëÇØ ³ª¿¡°Ô ¾Ë·ÁÁÖ¸é ¼öÁ¤Çϵµ·Ï
ÇÏ°Ú´Ù. ¾î¶² Áú¹®ÀÌ¶óµµ ÀÖÀ¸¸é, livid-dev ¸ÞÀϸµ ¸®½ºÆ®¿¡ °¡ÀÔÇÏ¿©
livid-dev-subscribe@linuxvideo.org ·Î À̸ÞÀÏÀ» º¸³»±â ¹Ù¶õ´Ù.
1.2. ¹®¼ ÃֽŠ¹öÁ¯µé
ÀÌ ÇÏ¿ìÅõ ¹®¼´Â html°ú tex¸¦ Æ÷ÇÔÇÏ¿© ´Ù¾çÇÑ ÇüÅ·ΠÁ¢ÇÒ ¼ö ÀÖ´Ù.
ÃֽŠ¹öÁ¯ÀÇ ¹®¼´Â ³ªÀÇ »çÀÌÆ®(http://helo.org/dvd/howto/
) ¿¡¼ ¾ðÁ¦µçÁö °¡Á®°¥ ¼ö ÀÖ´Ù.
°¡±ÞÀûÀÌ¸é °¡Àå ÃֽŠ¹öÀüÀÇ ÇÏ¿ìÅõ ¹®¼¸¦ °¡Á®°¡±â¸¦ °·ÂÈ÷ ÃßõÇÑ´Ù.
¿Ö³ÄÇϸé ÀÌ ÇÏ¿ìÅõ ¹®¼´Â ±²ÀåÈ÷ ÀÚÁÖ °»½ÅµÇ±â ¶§¹®ÀÌ´Ù.
1.3. ÀúÀ۱ǰú µî·Ï»óÇ¥µé
ÀÌ ¼³¸í¼´Â ÀüºÎ ¶Ç´Â ÀϺθ¦ ¹«·á·Î º¹Á¦ÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸, ´ÙÀ½ »çÇ×À»
ÁؼöÇÏ¿©¾ß ÇÑ´Ù.
o »ó±âÀÇ ÀúÀÛ±Ç °íÁö¹®°ú ÀÌ Çã¶ô °íÁö¹®Àº ÀüºÎ ¶Ç´Â ºÎºÐ º¹Á¦ ¹®¼¿¡
¹Ýµå½Ã Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÑ´Ù.
o ¾î¶°ÇÑ ¹ø¿ª ¹× ¹ßÃé ÀÛ¾÷ÀÌ¶óµµ ÀúÀÚÀÇ ½ÂÀÎÀ» ¹Ýµå½Ã ¾ò¾î¾ß ¹èÆ÷ÇÒ
¼ö ÀÖ´Ù.
o ÀÌ ¹®¼¸¦ ºÎºÐÀûÀ¸·Î ¹èÆ÷ÇÒ °æ¿ì¿¡´Â ÀÌ ÇÏ¿ìÅõ ¹®¼ ÀüºÎ¸¦ ¾ò´Â
¹æ¹ý°ú ¼³¸íÀ» ¹Ýµå½Ã Æ÷ÇÔÇÏ¿©¾ß ÇÑ´Ù.
o ÀÌ ¹®¼ÀÇ ¾ÆÁÖ ÀÛÀº ºÎºÐÀº ºñÆò ¶Ç´Â ±âŸ ÀÛ¾÷ÀÇ ¼³¸íÀ¸·Î ÀοëµÉ ¼ö
ÀÖ´Ù. ÀûÀýÇÑ ÀοëÃâó°¡ Æ÷ÇԵǾî ÀÖÀ¸¸é, Çã¶ô °íÁö¹®Àº ¾ø¾îµµ µÈ´Ù.
»ó±âÀÇ ±ÔÄ¢µéÀº ÇмúÀûÀÎ ¸ñÀûÀÏ °æ¿ì¿¡´Â ¿¹¿Ü°¡ Àû¿ëµÈ´Ù: ÀúÀÚ¿¡°Ô
ÆíÁö½á¼ ¹®ÀÇÇϱ⠹ٶõ´Ù. ÀÌ·¯ÇÑ ±ÔÁ¦µéÀº ¿ì¸®µéÀ» ÀúÀڷμ º¸È£ÇÏ·Á´Â
°ÍÀÌÁö ¹è¿ì°íÀÚ ÇÏ´Â »ç¶÷ ¶Ç´Â °¡¸£Ä¡´Â »ç¶÷µéÀ» ±ÔÁ¦ÇÏ·Á´Â °ÍÀÌ
¾Æ´Ï´Ù. ÀÌ ¹®¼¿¡ ÀÖ´Â ¸ðµç ¼Ò½º ÄÚµå( ÀÌ ¹®¼°¡ ¾²¿©Áø SGML Á¦¿Ü)´Â
GNU General Public License ÇÏ¿¡ À§Ä¡ÇÑ´Ù. GNU General Public License´Â
the GNU archive ¿¡¼ À͸í FTP·Î ¾òÀ»
¼ö ÀÖ´Ù.
1.4. °¨»çÀÇ ¸»
OMS ÀúÀÚµé°ú ¸¹Àº ½Ã°£°ú ³ë·ÂÀ» ÇÁ·ÎÁ§Æ®¿¡ ¹ÙÃÄ¿Â LiviD °³¹ßÀڵ鿡°Ô
°¨»çÀÇ ¸»À» ÀüÇÑ´Ù. ¶ÇÇÑ ÀÌ ÇÏ¿ìÅõ ¹®¼¸¦ ´õ¿í ÁÁ°Ô ¸¸µéµµ·Ï ÀÇ°ßÀ»
º¸³»ÁØ »ç¶÷µé¿¡°Ôµµ ¿ª½Ã °¨»çÀÇ ¸»À» ÀüÇÑ´Ù.
ÀÌ ÇÏ¿ìÅõ ¹®¼ ´ëºÎºÐÀÇ ±¸¼º ¹× Çü½ÄÀº Mark F. KomarinskiÀÇ HOWTO-
HOWTO (http://www.linuxdoc.org/ ) ¸¦
ÂüÁ¶ÇÏ¿´´Ù.
1.5. ¹ø¿ª ¹®¼
³»°¡ Á¢¼öÇÑ ¸ðµç ¹ø¿ª¹®¼´Â http://helo.org/dvd/howto/trans/
¿¡ ÀúÀåÇØ ³õ¾Ò´Ù. Ȥ½Ã ÀÌ ÇÏ¿ìÅõ
¹®¼¸¦ ´Ù¸¥ ¾ð¾î·Î ¹ø¿ªÇÏ°íÀÚ ÇÑ´Ù¸é, nkr@helo.org ·Î À̸ÞÀÏÀ»
º¸³»Áֱ⠹ٶõ´Ù.
2. ¿ä±¸»çÇ×
ÀÌ ÇÏ¿ìÅõ ¹®¼´Â ¿©·¯ºÐÀÌ ´ÙÀ½°ú °°ÀÌ Áغñ°¡ µÇ¾îÀÖ´Ù°í ÀüÁ¦ÇÑ´Ù:
o Linux > v2.2.0
o XFree86 3.3.X
o Linux¿¡¼ Áö¿øµÇ´Â DVD-ROM/RAM/RW µå¶óÀ̹ö
o bash °ú ¿µ¾î(±¹¾î)¿¡ ´ëÇÑ ÀûÀýÇÑ Áö½Ä
o ÇÙ°øÇÐ ¼®»çÇÐÀ§(??)
3. ÆÄÀϵé
¿ì¼± ¹«¾ùº¸´Ùµµ MTRR(Memory Type Range Register)°ú DVD ioctlÀ»
Áö¿øÇÏ´Â Ä¿³ÎÀ» ±¸ÇØ¾ß ÇÑ´Ù. MTRRÀº Ä¿³Î 2.2.11 ÀÌÈÄ ¹öÀü¿¡´Â
Æ÷ÇÔ(³»°¡ Ʋ·È´Ù¸é ÁöÀûÇØ Áֱ⠹ٶ÷)µÇ¾î ÀÖÀ¸¹Ç·Î, DVD ioctlÀ» ¾ò±â
À§Çؼ´Â ¿©·¯ºÐÀÇ Ä¿³ÎÀ» ¾÷µ¥ÀÌÆ®ÇÒ ÇÊ¿ä°¡ ÀÖÀ»Áöµµ ¸ð¸¥´Ù. µÎ °¡Áö
¹æ¹ýÀÌ Àִµ¥, °³¹ß ¹öÀü Ä¿³Î(v2.3.x)À» ´Ù¿î·Îµå ¹Þ°Å³ª, ¾ÈÁ¤µÈ ¹èÆ÷
¹öÀü(v2.2.x)À¸·Î ÆÐÄ¡ÇÏ´Â ¹æ¹ýÀÌ´Ù. ÆÐÄ¡ ÆÄÀÏÀº http://www.kernel.dk/
¿¡¼, Ä¿³Î ÆÄÀÏÀº ftp://ftp.kernel.org/
ÀÇ ¿©·¯ ¹Ì·¯ »çÀÌÆ®¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù.
´ÙÀ½À¸·Î, LiViD À¯Æ¿¸®Æ¼ ÆÄÀϵéÀÌ ÇÊ¿äÇÏ´Ù. ´ÙÀ½°ú °°ÀÌ µÎ °¡Áö ¹æ¹ýÀÌ
ÀÖ´Ù:
o CVS¿¡¼ LiViD À¯Æ¿¸®Æ¼ ÆÄÀϵéÀ» ±¸ÇÑ´Ù. ÀÌ·¸°ÔÇÏ¸é °³¹ßÀÚµéÀÌ
¾÷µ¥ÀÌÆ®ÇÒ ¶§¸¶´Ù ¹Ù·Î ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ´Ù(ÀÌ°ÍÀ»
ÃßõÇÑ´Ù).
´ÙÀ½°ú °°ÀÌ ½©¸í·ÉÀ» »ç¿ëÇؼ À¯Æ¿¸®Æ¼ ÆÄÀϵéÀ» ±¸ÇÑ´Ù:
# 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
ÇØ´ç µð·ºÅ丮·Î ÆÄÀϵéÀÌ ¸ðµÎ ´Ù¿î·Îµå µÉ°ÍÀÌ´Ù.
o ¸¸ÀÏ ÀÌ CVS°¡ ¸¶À½¿¡ ¾Èµç´Ù¸é(±«Â¥±º!), ÃÖ½ÅÀÇ LiviD¸¦ ´Ù¿î·Îµå
¹ÞÀ¸¸é µÈ´Ù. ´Ü, ÇÊ¿ä·Î ÇÏ´Â ÆÄÀÏ ¿Ü¿¡ ´Ù¸¥ °Íµéµµ ¼¯¿©ÀÖ´Ù.
±×·¯³ª ÀÌÀ¯¾ß ¾î¶»µç CVS¸¦ »ç¿ëÇϱⰡ ±×·¸°Ô ½È´Ù¸é ´Ï ¸¾´ë·Î
Çϼ¼¿ä.
´ÙÀ½ »çÀÌÆ®¿¡¼ ãÀ» ¼ö ÀÖ´Ù:
http://linuxvideo.org/developer/data/livid.tar.gz
4. ¼³Ä¡
4.1. Ä¿³Î
¸¸ÀÏ ¿©·¯ºÐÀÌ °³¹ß ¹öÀü Ä¿³Î(2.3.x)À» °¡Áö°í ÀÖÀ¸¸é, ÀÌ¹Ì DVD Ioctl
Áö¿øÀÌ °¡´ÉÇÑ °ÍÀ̹ǷÎ, MTRR Áö¿øÀÌ Ä¿³Î ±¸¼º ÆÄÀÏ¿¡ µé¾îÀÖÀ½À»
È®ÀÎÇÏ¸é µÈ´Ù. ±×¸®°í ³ª¼ ´Ã»ó ÇϵíÀÌ Ä¿³Î ÄÄÆÄÀÏ°ú ¼³Ä¡¸¦ ÇÏ¸é µÈ´Ù.
±âÁ¸ÀÇ Ä¿³ÎÀ» ÆÐÄ¡ÇÏ°í ½ÍÀ¸¸é, ´ÙÀ½ »çÀÌÆ®·Î °£´Ù.
http://www.kernel.dk/
±×¸®°í ±âÁ¸ Ä¿³Î¿¡ ¸Â´Â ÀûÀýÇÑ ÆÐÄ¡¸¦ ´Ù¿î·Îµå ÇÑ´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÇ Ä¿³ÎÀ» ¼³Ä¡ÇÏ°í, ÆÐÄ¡ÇÏ´Â ¹æ¹ýÀ» ¸ð¸¥´Ù¸é ´ÙÀ½ÀÇ ÇÏ¿ìÅõ
¹®¼¸¦ ¹Ýµå½Ã Àо±â ¹Ù¶õ´Ù:
http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.html
4.2. LiViD À¯Æ¿¸®Æ¼µé
LiViD À¯Æ¿¸®Æ¼¸¦ ¼³Ä¡ÇÏ·Á¸é, ¿©·¯ºÐ ½Ã½ºÅÛÀÇ /etc/ld.so.conf ÆÄÀϾȿ¡
/usr/local/libµîÀÇ °æ·Î°¡ ±â·ÏµÇ¾îÀÖÀ½À» ¹Ýµå½Ã È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
´ÙÀ½ÀÇ °úÁ¤À» µû¶óÇϸé, ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ LiViD À¯Æ¿¸®Æ¼¸¦ ÄÄÆÄÀÏ ¹×
¼³Ä¡ÇÏ°Ô µÉ °ÍÀÌ´Ù. ¸¸ÀÏ ¹®Á¦°¡ ¹ß»ýÇϸé "¹®Á¦Á¡µé"À» ÂüÁ¶Çϱ⠹ٶõ´Ù.
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
ÀÌÁ¦ ÇʼöÀûÀÎ LiViD À¯Æ¿¸®Æ¼µéÀÌ ¼³Ä¡µÇ¾îÀÖÀ» °ÍÀÌ´Ù. oms´Â DVD
µ¥ÀÌÅ͸¦ Àü¼ÛÇϱâÀ§ÇÑ ¸î°¡Áö Ưº°ÇÑ fifo ÆÄÀÌÇÁµéÀ» ÇÊ¿ä·Î ÇÑ´Ù. ÀÌ
ÆÄÀÌÇÁµéÀº ´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î ¸¸µé ¼ö ÀÖ´Ù(´Ü, ±âÁ¸¿¡ ¾øÀ» °æ¿ì¿¡¸¸):
# mkfifo /tmp/video
# mkfifo /tmp/audio
¸¶Áö¸·À¸·Î ÇÑ °¡Áö°¡ ´õ ³²¾ÆÀÖ´Ù. oms´Â /dev/dvd°¡ ¿©·¯ºÐÀÇ DVD
µå¶óÀ̺갡 Á¸ÀçÇÏ´Â °÷(¿¹¸¦µé¸é, /dev/hdb1 ¶Ç´Â /dev/scd0)¿¡ ½Éº¼
¸µÅ©µÇ¾î ÀÖÀ» °ÍÀ» ÇÊ¿ä·Î ÇÑ´Ù. ¸¸ÀÏ DVD µå¶óÀ̺갡 /dev/cdrom¿¡
µÇ¾îÀÖÀ¸¸é, ´ÙÀ½°ú °°ÀÌ ½Éº¼ ¸µÅ©¸¦ ¸¸µé¾î ÁØ´Ù:
# ln -s /dev/cdrom /dev/dvd
ÀϹÝÀûÀ¸·Î ½Éº¼ ¸µÅ©¸¦ ¶Ç ´Ù¸¥ ½Éº¼ ¸µÅ©·Î ¸¸µéÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù.
¿Ö³ÄÇϸé, ÀÌ·¸°Ô ÇÏ¸é ºÒÇÊ¿äÇÑ ÀÔÃâ·ÂÀ» ºÎ°úÇϱ⠶§¹®ÀÌ´Ù.
/dev/cdromÀ» DVD µå¶óÀ̺갡 À§Ä¡ÇÑ Á¤È®ÇÑ µð¹ÙÀ̽º·Î ´ëÄ¡Çϵµ·Ï ÇÑ´Ù.
5. Àç»ýÇϱâ
DVD¸¦ Àç»ýÇÏ·Á¸é 16ºñÆ® Ä÷¯ ¸ðµå¿¡¼ X-Window°¡ ÇÊ¿äÇÏ´Ù. µå¶óÀ̺꿡
DVD ŸÀÌƲÀ» ³Ö°í ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» ÁØ´Ù:
# ac3dec /tmp/audio& mpeg2dec /tmp/video& oms
¸ðµÎ Á¦´ë·Î µ¿ÀÛÇÑ´Ù¸é, DVDDB¿¡¼ µð½ºÅ© À̸§À» º¼ °ÍÀÎÁö¸¦ ¹°¾îº¸´Â
¹®ÀÚ¿ÀÌ ³ªÅ¸³¯ °ÍÀÌ´Ù. '¿¹'¶ó°í ´äÇÏ´Â °ÍÀÌ ¾ÈÀüÇÏ´Ù. ±×¸®°í³ª¼,
oms ÆгÎÀÌ Æ˾÷ȸéÀ¸·Î ³ªÅ¸³¯ °ÍÀÌ´Ù. Play¹öÆ°À» ´©¸£¸é ºñµð¿À
À©µµ¿ì°¡ ³ªÅ¸³ª°í Àç»ýÀÌ ½ÃÀ۵ȴÙ.
6. ±× ¹Û¿¡
6.1. MTRR ¼³Á¤Çϱâ
** Matrox ºñµð¿À Ä«µå¸¦ °®°í ÀÖ´Â »ç¶÷µéÀº º¼ °Í **
matroxfb¸¦ Ä¿³Î¿¡ ÄÄÆÄÀÏÇß´Ù¸é, ¾Æ¸¶µµ MTRRµéÀÌ
ÀÌ¹Ì ¼³Ä¡µÇ¾îÀÖÀ» °ÍÀÌ´Ù. ±×·¸´Ù¸é ÀÌ ÀåÀ»
°Ç³Ê¶Ù¾îµµ ¹«¹æÇÒ °ÍÀ¸·Î º»´Ù.
MTRRÀ» ¼³Á¤ÇÔÀ¸·Î½á °æ¿ì¿¡ µû¶ó ºñµð¿À ¼º´ÉÀÌ »ó´çÈ÷ ÁÁ¾ÆÁú ¼ö ÀÖ´Ù.
µû¶ó¼ ¼³Á¤ Çϱ⸦ ±Ç°íÇÑ´Ù. ¸ÕÀú, ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» Á༠¿©·¯ºÐÀÇ
Ä¿³ÎÀÌ MTRR Áö¿øÀ» Æ÷ÇÔÇÏ°í ÀÖ´ÂÁö¸¦ È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ´Ù:
# ls /proc/mtrr
¸¸ÀÏ /proc/mtrr°ú °°Àº °ÍÀÌ ¾ø´Ù°í Çϸé, ¿©·¯ºÐÀÇ Ä¿³ÎÀ» MTRR Áö¿ø°ú
ÇÔ²² ´Ù½Ã ÄÄÆÄÀÏ ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù(ÀÌ´Â Ä¿³Î ÄÄÆÄÀÏ menuconfig¾ÈÀÇ
"Processor type and features"¿¡ ÀÖ´Ù).
ÀÏ´Ü MTRRÀÌ Á¦´ë·Î µ¿ÀÛÇÏ°í ÀÖÀ½À» È®ÀÎÇßÀ¸¸é, ¿©·¯ºÐÀÇ ºñµð¿À Ä«µåÀÇ
±âº» ¸Þ¸ð¸® ÁÖ¼Ò¿Í ºñµð¿À ·¥ÀÇ Å©±â°¡ ¾ó¸¶Àΰ¡¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù.
À̸¦ ¾Ë¾Æº¸´Â °¡Àå ¼Õ½¬¿î ¹æ¹ýÀº X-Window°¡ ½ÇÇàÇÒ ¶§ ÅؽºÆ® ȸéÀ¸·Î
Ãâ·ÂÇÏ´Â Á¤º¸¸¦ º¸´Â °ÍÀÌ´Ù. ÀÌ ÅؽºÆ® ȸé Ãâ·Â Á¤º¸´Â ´ëºÎºÐ ¸ð´ÏÅÍ
ȸéÀ§·Î ½ºÅ©·ÑµÇ¾î º¸ÀÌÁö ¾Ê°Ô µÇ°Å³ª ´Ù¸¥ tty·Î ȸé ÀüȯÀÌ
ÀϾ¸é¼ »ç¶óÁ® ¹ö¸®±â ¶§¹®¿¡, ÀÌ X-Window Ãâ·ÂÁ¤º¸¸¦
ÆÄÀÏ(xoutput)·Î ¸®Å¸ÀÌ·º¼ÇÇؼ ÀúÀåÇÏ¸é µÈ´Ù. ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» ÁØ´Ù:
# startx 2> xoutput
¿ì¸®°¡ ÇÊ¿äÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Â ÇàÀº xouput ÆÄÀÏÀÇ Áß°£ Âë¿¡ ÀÖÀ»
°ÍÀÌ´Ù. ´ÙÀ½°ú °°Àº ÇàÀ» ã¾Æ º»´Ù:
(--) SVGA: PCI: NVidia Riva TNT2 rev 17, Memory @ 0xee000000, 0xe2000000
ÀÏ´Ü xouput ÆÄÀÏ¿¡¼ ÇØ´ç À§Ä¡¸¦ ã¾ÒÀ¸¸é ÇàÀÇ ³¡ ºÎºÐ¿¡ ÀÖ´Â ¸Þ¸ð¸®
ÁÖ¼Ò¸¦ Á¾ÀÌ¿¡ Àû¾îµÐ´Ù. ÀÌ ¿¹¿¡¼´Â 0xe2000000 ÀÌ´Ù. ¿©·¯ºÐÀÇ
Çϵå¿þ¾î »ç¾ç¿¡ µû¶ó º¹¼ö°³ÀÇ ¸Þ¸ð¸® ÁÖ¼Ò°¡ ÀÖÀ» ¼öµµ, ¶Ç´Â ¾øÀ» ¼öµµ
ÀÖÀ¸´Ï±î, Á» ´Ù¸£°Ô ³ªÅ¸³ª´õ¶óµµ °ÆÁ¤ÇÏÁö ¾Ê¾Æµµ µÈ´Ù. ¸Þ¸ð¸® ÁÖ¼Ò¸¦
Àû¾úÀ¸¸é xoutput ÆÄÀÏÀº Áö¿öµµ µÈ´Ù.
´ÙÀ½À¸·Î »õ MTRR¸¦ ¸¸µéµµ·Ï ÇÑ´Ù. À̸¦ ¸¸µé·Á¸é ¿©·¯ºÐÀÇ ºñµð¿À Ä«µåÀÇ
ºñµð¿À ·¥ÀÇ Å©±â¸¦ 16Áø¼ö°ªÀ¸·Î ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. ´ÙÀ½À» ÂüÁ¶ÇÑ´Ù:
4MB -- 0x400000
8MB -- 0x800000
16MB -- 0x1000000
32MB -- 0x2000000
´ÙÀ½°ú °°ÀÌ MTRR¸¦ Ãß°¡ÇÑ´Ù:
# echo "base=0xe2000000 size=0x2000000 type=write-combining" >| /proc/mtrr
´Ü, À§ÀÇ "0xe2000000"¿Í "0x2000000" ºÎºÐÀ» ¿©·¯ºÐÀÇ ºñµð¿À Ä«µåÀÇ ±âº»
¸Þ¸ð¸® ÁÖ¼Ò¿Í ºñµð¿À ·¥ÀÇ Å©±âÀÇ °ªÀ¸·Î ¹Ù²ã¼ Àû¾îÁØ´Ù.
ÀÌÁ¦ MTRRÀÌ ¼³Á¤µÇ¾ú´Ù, ´ÙÀ½°ú °°ÀÌ È®ÀÎÇØ º»´Ù:
# cat /proc/mtrr
±×·¯¸é ´ÙÀ½°ú ºñ½ÁÇÑ °á°ú¸¦ º¸°Ô µÉ °ÍÀÌ´Ù:
reg00: base=0x00000000 ( 0MB), size= 128MB: write-back, count=1
reg01: base=0xe2000000 (3616MB), size= 32MB: write-combining, count=1
Çѹø ´õ, ¼ýÀÚ°ªµéÀÌ ¾Æ¸¶µµ ÀÌ°Í°ú ´Ù¸¦Áöµµ ¸ð¸¥´Ù. °ÆÁ¤ÇÏÁö ¾Ê¾Æµµ
µÈ´Ù.
7. ¹®Á¦Á¡µé
7.1. ½ÇÇà ¿À·ùµé
´ÙÀ½Àº Áö±Ý±îÁö ¾Ë·ÁÁø ¸î °¡Áö ½ÇÇà ½Ã ¿À·ù(µé)ÀÌ´Ù.
7.1.1. Illegal Instruction Error
¸¸ÀÏ ºñ-ÀÎÅÚ °è¿ÀÇ Ä¨(ƯÈ÷ K6) »ç¿ëÀÚ°¡ mpeg2video¸¦ ½ÇÇàÇÏ¿´À» ¶§
ÀÌ·¯ÇÑ ¿À·ù°¡ ¹ß»ýÇß´Ù¸é, nist/configure.in ÆÄÀÏÀÇ 129¹ø Çà°ú 130¹ø Çà
ÁÖ¸ñÇÑ´Ù. ´ÙÀ½°ú °°À» °ÍÀÌ´Ù:
CFLAGS="$CFLAGS -DHAVE_MMX -DLINUX -march=i686 -fschedule-insns2 -malign-doub
CXXFLAGS="$CXXFLAGS -DHAVE_MMX -DLINUX -march=i686 -fschedule-insns2 -malign-
¾çÂÊ Çà¿¡ ÀÖ´Â "-march=i686"¸¦ "-march=i586"·Î ¸ðµÎ ´ëüÇÏ°í, ÀçÄÄÆÄÀÏ
¹× À缳ġ ÇÑ´Ù.
7.2. ÄÄÆÄÀÏ ¿À·ùµé
´ÙÀ½Àº ÀϹÝÀûÀÎ ÄÄÆÄÀÏ ½Ã ¿À·ùµéÀÌ´Ù.
7.2.1. `dvd_struct' undeclared...
ÀÌ À¯Æ¿¸®Æ¼ ÆÄÀϵéÀ» ÄÄÆÄÀÏÇÒ ¶§, »ç¶÷µéÀÌ °¡Àå ºó¹øÇÏ°Ô °Þ°ÔµÇ´Â
¹®Á¦´Â oms°¡ Ä¿³Î Çì´õÆÄÀϵéÀ» ÀÌ»óÇÑ ´Ù¸¥ °÷¿¡¼ ã±â ¶§¹®¿¡
ºñ·ÔµÈ´Ù. oms´Â ±âº»ÀûÀ¸·Î /usr/include/[linux|asm]¿¡ ÀÖ´Â
Çì´õÆÄÀϵéÀ» »ç¿ëÇÏÁö¸¸, À̵é Çì´õÆÄÀϵéÀº ¾ÈÁ¤Ä¿³Î ¹öÁ¯¿¡¼³ª º¼ ¼ö
ÀÖ´Â °ÍÀÌ´Ù. µû¶ó¼ ¿©·¯ºÐµéÀÌ Á¤»óÀûÀÎ ÇÁ·Î±×·¥À» °ËÆÄÀÏÇÒ ¶§,
¾ÈÁ¤¹öÁ¯ÀÇ ÇìÅÍÆÄÀϵéÀÌ »ç¿ëµÈ´Ù. oms´Â ºñ¾ÈÁ¤¹öÁ¯(¶Ç´Â ÆÐÄ¡¹öÁ¯)ÀÇ
Ä¿³Î Æä´õÆÄÀϵéÀ» ÇÊ¿ä·ÎÇÑ´Ù. µû¶ó¼ oms°¡ ÄÄÆÄÀÏÀ» ½ÃµµÇÒ ¶§, ¸¹Àº
¸ðµâµéÀÌ Á¤ÀǵǾîÀÖÁö ¸øÇÏ°í, °á±¹Àº ÄÄÆÄÀÏ ¿À·ù°¡ ³ª¿À°Ô µÇ´Â °ÍÀÌ´Ù.
ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâÀ§ÇÑ °¡Àå ÁÁÀº ¹æ¹ýÀº omsÀÇ MakefileÀ» ¼öÁ¤ÇÏ¿©
-I/usr/src/linux/include¸¦ CFLAGS¿Í CXXFLAGS¸¦ °¡¸®Å°°Ô ÇØÁØ´Ù.(ÀÌ
Á¤º¸¸¦ ÁֽŠAdam Powell¿¡°Ô °¨»ç¸¦ µå¸°´Ù)
´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» Á༠ÇØ°áÇÑ´Ù:
# 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
7.2.2. can't determine absolute dir of '../../../../src/plu
gin/codec/mpeg2dec/.libs'
¶Ç ´Ù¸¥ ÀϹÝÀûÀÎ ¿À·ù´Â oms/src/plugin/codec/mpeg2dec/.libs µð·ºÅ丮¿¡
ÀÖ´Ù. ¸î °¡Áö ÀÌÀ¯·Î ÀÎÇÏ¿© ÀÌ µð·ºÅ丮´Â Á¸ÀçÇÏÁö ¾Ê°Ô µÇ´Âµ¥, ÀÌ´Â
ÄÄÆÄÀÏ¿¡ ÇÊ¿äÇÏ´Ù. À̸¦ ÇØ°áÇϱâ À§Çؼ´Â ´ÜÁö ÀÌ µð·ºÅ丮¸¦
¸¸µé¾îÁÖ¸é µÈ´Ù:
# mkdir src/plugin/codec/mpeg2dec/.libs
7.3. ¾ÈµÇ´Â ±â´Éµé
¿ø·¡ ÀǵµµÈ ´ë·Î µÇ¾î¾ß Çϴµ¥, ÇöÀç ¾ÈµÇ´Â ±â´Éµé:
o Á¦´ë·Î µ¿ÀÛÇÏ´Â Àå(chapter) °Ë»ö ¹öÆ°ÀÌ Çϳªµµ ¾øÀ½(Ãæµ¹).
o Çѹø Á¤ÁöµÇ¸é, ´Ù½Ã ½ÃÀÛÇÏÁö ¸øÇÏ´Â °æÇâÀÌ ÀÖÀ½(Ãæµ¹).
o ¿Àµð¿À/ºñµð¿À°¡ ¸Å Ãʸ¶´Ù °Ç³Ê¶Ù´Â Çö»ó µî.
o mpeg2dec»ç¿ë ½Ã °¢ ÀåÀÇ ÁøÀԺκп¡¼ ÇöÀúÇÑ °¨¼âÇö»ó(slowdown).
o °¡²û ¾¿ ac3dec°¡ Á¦´ë·Î Á¾·áµÇÁö ¾Ê¾Æ¼ "killall ac3dec"¸¦
»ç¿ëÇؾ߸¸ Á¾·áµÇ´Â Çö»ó.
7.4. ±×¹ÛÀÇ ¿À·ùµé
¸¸ÀÏ ¿©·¯ºÐµéÀÌ °æÇèÇÑ ¿À·ùµéÀÌ ÀÌ°÷ ¸ñ·Ï¿¡ ¾ø´Ù¸é, ÇöÀçÀÇ CVS Äڵ忡
¹ö±×°¡ Á¸ÀçÇÑ´Ù°í ºÁ¾ß ÇÒ °ÍÀÌ´Ù. ÃÖ»óÀÇ ¹æ¹ýÀº ¸î ÀÏ°£ ±â´Ù·Áº¸°í,
CVS·ÎºÎÅÍ ¾÷µ¥ÀÌÆ®ÇÏ´Â °ÍÀÌ´Ù. ¿©·¯ºÐÀÇ Áú¹®À» ¹ÞÀ» ¼ö ÀÖ´Â ¸ÞÀϸµ
¸®½ºÆ®°¡ ÁغñµÇ¾îÀÖ´Ù. livid-dev-subscribe@linuxvideo.org·Î ºó ¸ÞÀÏÀ»
º¸³»¸é °¡ÀÔÇÒ ¼ö ÀÖ´Ù.
8. ÇÒ Àϵé
o Matrox Ä«µå¸¦ ¼ÒÀ¯ÇÏ°í ÀÖ´Â »ç¶÷µé·ÎºÎÅÍ ¼º´ÉÀ» Çâ»ó½ÃŲ Á¤º¸¸¦
¹Þ´Â °Í
o Makefile ¿É¼Çµé (HAVE_MMX, HAVE_3Dnow µî)
o mpeg2dec¿¡¼ÀÇ -march=k6
o ¸î °¡Áö ½¬¿î MTRR Ãß°¡(framebuffer)
o ´ëºÎºÐÀÇ µå¶óÀ̺꿡 Áö¿ªÄÚµå ¼³Á¤: www.linuxtv.org/dvd