; TeX output 2003.04.04:1532 _2~?ՁZݺI q q ecss2074DwmVDfPlayingHOWTO
cG1
ecrm1000NathanU Rowlan,nkr@helo.org,V*ertaaldU doGor:qEllenBokhorstv0.1.85juni2000&6
ecss1000EenU (hopGelijk)eenvoudigtevolgenuitlegoverDVDmovieplaybackonderLinux.(&Lt$ ff ff ecbx1440Inhoudsopgacve]f
ecbx10001In>troQductie}82ؼ1.1%Goal鍍.荍.................................................w21.2%NieuweU versies;.荍...........................................w21.3%CopyrightsU enHandelsmerkeni.荍...................................w21.4%MetU dankaan.荍............................................w21.5%V*ertalingenQC.荍.............................................w22BenoQdigdhedensL33Bestanden34Installatie44.1%Kernel.荍................................................w44.2%LiViDU Utility'sJ.荍...........................................w45AfspQelenqc56Extra's^56.1%MTRR'sU instellenYw.荍..........................................w57Problemen377.1%F*outenU tijdensdeuitvoGering獍.荍....................................w7%7.1.1EIllegalU InstructionError)ō.荍..................................w77.2%F*outmeldingenU tijdensdecompilatieq.荍...............................w7%7.2.1E`dvd_struct'U undeclared...j).荍.................................w7%7.2.2Ecan'tU determineabsolutedirof'../../../../src/plugin/coGdec/mpeg2dec/.libs'
.荍.....w77.3%NietU werkendezaken6K.荍........................................w87.4%AndereU fouten .荍............................................w88NogtedoQenW8 *_2~? G1.8In>troQductieY̹2ՁV1Inctropductie荍!N ecbx12001.1GoalMHetnydoGelhiervqanistevoorzieninstap-voor-stapinstructiesomDVDnslmsonderLinuxaftespGelen.Ikzal
probGerenˁzoduidelijkmogelijktezijn,maaralsietsverwarrendˁofonjuistis,laatmeditdanalsjeblieftwetenwantFdanzalikhetcorrigeren.lAlsjevragenhebt,IkunjejeinschrijvenFopdelivid-devmailinglistdoGorhetverzendenU vqaneenlegeemailnaarlivid-dev-subscribGe@linuxvideo.org.#Í1.2NieuweversiesDezehowtoisinveelformatenbGeschikbaar,πwaaronderhtmlentex.2DenieuwsteversiekqanaltijdwordenopgehaaldvqanafmijnsiteopHЃ
ecti1000http://helo.or}/g/dvd/howto/qL
ectt1000.1XHetisvanharteaanltebGevelendatjedemeestrecenteversieophaalt,)aangeziendezehowtotamelijkvqaakwordtbijgewerkt.#Í1.3CopyrightsenHandelsmerkenDezehandleidingmaggeheelofgedeeltelijkwordengereproGduceerd,wzonderdatervoGormoetwordenbetaald,onderworpGenU aandevolgendebGeperkingen:ؼ
!",
cmsy10 Deu;copyrightmeldinghierbGovenendezepGermissievermeldingmoGetvolledigopallegeheleofgedeeltelijke kopienU bGehoudenblijven. EenU eventuelevertalingofafgeleidewerkmoGetdoordeauteurzijngoedgekeurdvoGordistributie. Alșjeditwerkstukgedeeltelijkdistribueert,moGeteninstructiesvoGorhetverkrijgenvqandegeheleversie
vqanU dezehandleidingwordenopgenomen,eneenmiddelvoGorhetverkrijgenvqaneenvolledigeversie. KleinedelenmogenwordengereproGduceerdalsillustratiesvoGorvoGorbeschouwingenofcitateninandere werkenU zonderdezepGermissievermeldingalsdejuisteeervollevermeldingwordtgegeven.ؼUitzonderingenopdezeregelskunnenvoGoracademischedoGeleindenwordentoGegestaan:Schrijfdeauteuren%vraagerom.DezebGeperkingen%zijnhieromonsalsauteurstebGeschermen,&nietomjulliealsleerlingenenlerarentebGeperken.Enigebroncode(deSGMLOterzijdewaarinditdocumentwerdgeschreven)inditdoGcumentisgeplaatstonderhetGNUGeneralPublicLicense,*beschikbaarviaanonymousFTPvqanafhetGNUar}/chiefU .#Í1.4MetdankaanMMetr`dankaandeauteursvqanomsenderestvandeLiViDrXontwikkelaars,ydier`hetpro 0jectveelvanhuntijdenRwerkhebbGengeschonken,enoGokdeindividuendiemefeedbackgaventerverbGeteringvqandezeHOWTO.ؼV*eeli.vqandelayouti.vandezeHOWTOi)werdi.verkregenvqandeHOWTO-HOWTO,geschrevendoGorMarkF.Komarinski.qHetU istevindenophttp://www.linuxdo}/c.org/U .1.5VertalingenMAlle+vertalingendieikvqanditdoGcumentontvqanggaannaarhttp://helo.or}/g/dvd/howto/trans/+.blAlsjedezehowtograagzouwillenvertalen,$-emailmedanalsjeblieftviankr@helo.org. 5_2~? G2.8BenoQdigdhedenq3ՁV2Benopdigdheden:InU dezeHOWTOwordtervqanuitgegaandatjeinhetbGezitbentvqan:ؼ LinuxU
b>
cmmi10>v2.2.0 XF*ree86U 3.3.X EenU DVD-ROM/RAM/RWdriveondersteundonderLinux(demeestewordenondersteund) EenU bGehoorlijkekennisvqanbashendeEngelsetaal EenU master'sdegreeinNuclearEngineering(3BestandenJeLmoGetervoorzorgendatjeeenkernelhebtmetMTRRL(hieroverlatermeer)enondersteuningvoGorDVD
ioGctl.OndanksdatMTRR'ssindsversie2.2.11zijnopgenomen(corrigeermealsditnietklopt),yzaljewaarschijnlijkjekernelbijmoGetenwerkenomDVDOioGctlsteverkrijgen.T
ErzijntweemanierenomditvqarkentjevKtewassen,~jekuntfeenontwikkelaarskerneldownloaden(v2.3.x),~feenpatchtoGepassenopeenstabiele\kernel(v2.2.x),^depatcheszijntevindenophttp://www.kernel.dk/,^endeU kernelistevindenopjefavorietemirrorofftp://ftp.kernel.or}/g/.ؼV*ervolgensU hebjedeLiViDutility'snoGdig.qHierzijntweemanierenvoGor:ؼ Haal/deLiViD utility'sopviaCVS,zoGdatjehetkqanbijwerkenzoalsbijgewerktdoGordeontwikkelaars (aanU tebGevelen).$Met?devolgendeopdrachtenwordenzeopgehaald:$#?mkdir~/livid$#?cd~/livid$#?exportCVSROOT=:pserver:anonymous@cvs.linuxvideo.org:/cvs/livid$#?cvslogin$(Inloggen?alsanonymous@cvs.linuxvideo.org)$CVS?password:$Er?isgeenwachtwoordvooranonymous,drukgewoonopenter.$#?cvs-z3co-Pac3decomsmpeg2decmgadvd$De?bestandenzoudenmoetenwordengedownloadindejuistedirectory's. AlsjeCVSnietprettigvindt(freak!),dkunjedemeestrecentetarballvqanLiViD'snachtsdownloaden. HierinzitmeerdanjenoGdighebt,mmaaralsjeomeenofandereredenechtgeengebruikwiltmaken vqanU CVS,maakhetjezelfdangemakkelijk.$Het?istevindenop:$http://linuxvideo.org/developer/data/livid.tar.gz + _2~? G4.8Installatieb4ՁV4Installatie荍4.1KernelMAlsjeeenontwikkelaarskernelhebt(2.3.x),zoujedeondersteuningvoGorDVDioGctlreedsmoetenhebben,
dusznhoGefjejeerslechtsznvqanteverzekerenzndatjedeMTRRz"ondersteuningindekernelconguratiehebtgeactiveerd,U enkqanhetdannetalsanderscompilereneninstalleren.ؼAlsU jedepatchtoGewiltpassenopeenbestaandekernel,gadaneerstnaarؼ)`http://www.kernel.dk/enU downloaddejuistepatchvoGorjekernel.ؼAlsU jenietweethoGejekerneltepatchenofinstalleren,zoujedeKernelHOWTOop:)`http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.htmlmoGetenU lezen.#Í4.2LiViDUtility'sMV*oGorAhetinstallerenvqandeLiViDAutility's,E}moetjecontrolerenofje/usr/local/libergensin/etc/ld.so.confhebt.ؼDe8volgendeopGdrachtenzoudendeLiViD8utility'sopjesysteemmoGetencompilereneninstalleren.uLeesalsjeblieftU desectie"Problemen"doGoralsjehierbijproblemenondervindt.ؼ~ac3dec:)`#?cd~/livid/ac3dec)`#?./autogen.sh)`#?make)`#?makeinstall~mpeg2dec:)`#?cd~/livid/mpeg2dec)`#?./autogen.sh)`#?make)`#?makeinstall~oms:)`#?cd~/livid/oms)`#?./autogen.sh)`#?./configure)`#?make)`#?makeinstall 5Ӡ_2~? G5.8AfspQelenM5ՁVNu.zoudendebGenodigde.LiViD utility'smoGetenzijngenstalleerd.V*ooromszijneenaantalspecialefo
pipGesnodigdiemoetenwordenaangemaaktviawelkedeDVDեgegevensgaan.G
DezekunnenmetdevolgendeopGdrachtenU wordenaangemaakt(alszenietreedsvoGorkomen):ؼ)`#?mkfifo/tmp/video)`#?mkfifo/tmp/audioNogFeenlaatstestap. lOmsheeft/dev/dvdnoGdigalssymlinknaarjeDVDdrive,hzoalsF/dev/hdb1of/dev/scd0.qAlsU het/dev/cdromis,zoujedelinkaanmakendoGorhettypGenvqan:)`#?ln-s/dev/cdrom/dev/dvdJe9kuntbGetergeensymblinknaareensymlinkaanmaken,2omdathetonnoGdigeI/Otoevoegt.V*ervqang/dev/cdromU doGorhetjuistedevicewaarjedvddrivezichopbGevindt.(5Afsppelen:OmU eenDVDaftespGelen,moetjeXin16-bitkleurenmodusdraaien.qTypmetdeDVDindedrive:)`#?ac3dec/tmp/audio&mpeg2dec/tmp/video&omsAlsallesgoGedisgegaan, zalerwattekstvoGorbijgaan, gevolgddoGordevraagofjedenaamvqandediskindeDVDDBopwiltzoGeken.WHetisveilighier'yes'opteantwoGorden.WV*ervolgenszalhetomspaneltevoGorschijnkomen.qKlikU opdeknopplayendanzouhetvideovenstermoGetenverschijnenenbGeginnenaftespelen.(6Extra's荍6.1MTRR'sinstellenMS**?OpmerkingvoorbezittersvaneenMatroxvideokaart**SAls?jematroxfbindekernelhebtgecompileerd,bestaatSde?kansdatjeMTRR'sreedszijningesteld.JekuntdezeSsectie?waarschijnlijkgewoonoverslaan.HetyinstellenvqanMTRR'skandepGerformanceineenaantalgevallenaanzienlijkverbGeteren,dushetiseengoGedideeomhettedoen.rAlseerstemoetjejeervqanverzekerendatjeMTRRondersteuninginjekernelhebt,U doGorhettypenvqan:9d#?ls/proc/mtrrAlsT
hetjeaangeeftdaternietzoietsisals/proGc/mtrr,TDmoetT
jejekernelhercompilerenmetMTRRonders-teuningU (tevindenonder"ProGcessortypeandfeaturesnmenucong). <<_2~? G6.8Extra's6ՁVZoGdraOBjeweetdatMTRROwerkt,moGetjehetbasisgeheugenadresvqanjevideokaartweten,hoGeveelOBvideo
ramxhetheeft.ODeeenvoudigstexmanieromdittedoGenisnaardeuitvoervqanXxotekijkenwanneerhetopstart.`"Omdat!deuitvoGergewoGonlijkvqanhetschermscrolltenverlorengaatzoGdrahetnaareenanderettyoverschakelt,moGetjedeuitvoervqanXnaareenbestand(xoutput)omleiden,zodatjehetvoordebenodigdewaardeU hierinopkuntzoGeken.qDitkqandoGorhettypGenvqan:ؼ9d#?startx2>xoutputDeeregelmetdebGenodigdeeinformatieiswaarschijnlijkeergensinhetmiddenvqanxoutputtevinden,ienzouerU ongeveerzouitmoGetenzien:9d(--)?SVGA:PCI:NVidiaRivaTNT2rev17,Memory@0xee000000,0xe2000000ZoGdra9|jedathebtgevonden,r6schrijf9|jehetlaatstegeheugenadresop,inditgevqalisdat0xe2000000.Afhankelijkvqanjehardware,kanhetzijndatermeerderegeheugenadressenwordengetoGond,dusmaakjegeenzorgenalsU jeuitvoGererietsandersuitziet.qJekuntxoutputnuverwijderen.ؼV*ervolgensTmoGetjeeennieuweMTRR;aanmaken.OmdattekunnendoGen,bmoetTjewetenhoGeveelraminhexU jevideokqaartheeft.qHierzijneenaantalveelvoGorkomendewaarden:9d4MB
X--?0x4000009d8MB
X--?0x8000009d16MB?--0x10000009d32MB?--0x2000000TypU voGorhettoevoegenvqandeMTRR:9d#?echo"base=0xe2000000size=0x2000000type=write-combining">|/proc/mtrrV*ervqangP("0xe2000000n"0x2000000"doGorhetbasisadresendehoeveelheidvideogeheugenwelkespGeciekisvoGorU jesysteem.ؼNuU zouMTRRmoGetenzijningesteld.qJekuntditcontrolerendoGorhettypGenvqan:9d#?cat/proc/mtrrDeU uitvoGerdiejekrijgtzouerongeveerzouitmoGetenzien:9dreg00:?base=0x00000000(0MB),size=128MB:write-back,count=19dreg01:?base=0xe2000000(3616MB),size=
X32MB:write-combining,count=1Nogmaals,U hetaantalregelszalwaarschijnlijkanderszijndandiehiergetoGond. Eߠ_2~? G7.8Problemenpǹ7ՁV7Problemen荍7.1Foutentijdensdeuitvo_eringMDitU iseen(bGeknopte)lijstmetbekendefoutendiegedurendedeuitvoGeringopkunnentreden. P7.1.1#!\IllegalInstructionErrorAls#jegeenIntelchip(inhetbijzondereenK6)gebruikt,enjekrijgtdezefoutmeldingwanneerjempGeg2video
probGeertU tedraaien,probeerdanderegels129en130vqannist/congure.intewijzigen:ӌNCFLAGS="$CFLAGS?-DHAVE_MMX-DLINUX-march=i686-fschedule-insns2-malign-doubNCXXFLAGS="$CXXFLAGS?-DHAVE_MMX-DLINUX-march=i686-fschedule-insns2-malign-vervqang-march=i686nbGeideregelsdoor-march=i586",cenvoGervervolgenseenhercompilatieenherinstal-latieU uit."7.2FoutmeldingentijdensdecompilatieMDitU iseenlijstmetveelvoGorkomendecompilatiefoutenwaarvqancorrectiesbGekendzijn. P7.2.1#!\`dvd_struct'undeclared...Het+vqaakstvoGorkomende+probleemwaarmensenmeewordengeconfronteerdontstaatwanneeromsopde
verkeerdeYwplaatszoGektnaardekernelheaders,ZwanneerYwwordtgeprobGeerddezeutility'stecompileren.~Stan-daardwordtgebruikgemaaktvqan/usr/include/[linuxjasm],maardieheaderszijnafkomstigvqaneenstabielekernel,QzoGdatwanneerjeeengewoGonprogrammacompileert,Qhetstabieleheaderszalgebruiken.](omsheeftniet_stabiele(ofgepatchte)_kernelheadersnoGdig,,oduswanneeromsprobGeerttecompileren,,ozijnveelzakenniet_gedeclareerdenmisluktdecompilatie.=DebGestemanieromdittecorrigerenisdoorhetwijzigenvqanoms3Makeleen-I/usr/src/linux/includevqandeCFLAGS3enCXXFLAGS.(metdankaanAdamPowellvoGorU dezeinfo))`Met?dezeopdrachtenzouhetmoetenlukken:)`#?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 P7.2.2#!\can'tdetermineabsolutedirof'../../../../src/plugin/coQdec/mpeg2dec/.libs'MEeneanderveelvoGorkomendefoutismetdedirectoryoms/src/plugin/coGdec/mpeg2dec/.libs.OmeeenofandereIredenbGestaatdezedirectorynietenhetisnodigvoordecompilatie.mMaakgewoondedirectoryaanomU dittecorrigeren:)`#?mkdirsrc/plugin/codec/mpeg2dec/.libs O_2~? G8.8NogtedoQen8ՁV7.3NietwerkendezakenMMogelijkhedenU diethansnietwerkenU zoalszezoudenmoGetenwerken:ؼ GeenU vqandechapterseekknoppGenwerkterggoGed(crash). ZoGdraU beindigd,heefthetproblemenmethetnogmaalsopstarten(crash). Audio/videoU slaanongeveeriederesecondeeenkeerover. ExtremeU vertragingenaanhetbGeginvqanchaptersmetmpGeg2dec. SomsU sluitac3decnietgoGed,enmoetwordengekildmet"killallac3dec".#Í7.4AnderefoutenAlsȏjeprobleemhiernietwordtweergegeven,kdanbGevqatdehuidigeCVSrcoGdewaarschijnlijkeenbug.Het
bGestewatjekuntdoGeniseenpaardagentewachten,SenhetdanvqanuitCVSaopnieuwteupGdaten.-Eriseenmailinglistwaarjejevragenkuntstellen,HrstuurvoGorhetaanmeldeneenlegeemailnaarlivid-dev-subscribGe@linuxvideo.org.(8NogG\tedopen ZorgdatiemandmeteenMatroxkqaartmeeenlijststuurtmethetgeenzededenomdepGerformance teU verbGeteren.q(dent!!!) MakeleU opties(HAVE_MMX,HAVE_3Dnow,enz) -march=k6U voGormpeg2dec voGegU eenvoudigMTRRstu(framebuer)toGe toGevoegingnodigvoorregioncodingomopdemeestedrivestewordeningesteld:Zwww.linuxtv.org/dvd [ ; _2G qL
ectt1000HЃ
ecti1000!N ecbx1200]f
ecbx1000&Lt$ ff ff ecbx14406
ecss1000I q q ecss20741
ecrm1000
!",
cmsy10
b>
cmmi10 a