Portál AbcLinuxu, 30. března 2024 06:17

32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]

9.11.2007 10:15 | Přečteno: 1490× | Linux | Výběrový blog

V předchozím dílu seriálu jsem se pokusil srovnat výkon při přehráváni videa pomocí 32bit a 64bit kodeků. Přišlo mi více dotazů na téma 32bit mplayeru a kodeků v 64bit linuxu než na původní téma článku. Dovolím si tedy menší odbočku od tématu seriálu abych ukázal jak si na 64bit systému vyrobit 32bit binárky a knihovny.

V Gentoo je možnost nainstalovat 32bit verzi mplayeru pomocí emerge mplayer-bin. Spolu se stádem emul-linux a wincodecs balíčky tím dostaneme binární 32bit kodeky a mplayer/mencoder. Docílíme tím stavu stejného jako v binárních distribucích. Použití takového postupu pro srovnání výkonu by ale nebylo férové jelikož v 64bit verzi je použita kompilovaná verze šitá na míru pro můj počítač.

Další alternatívou je ruční překlad knihoven a mplayeru s vnucením -m32. Tento postup je ale složitý a vyžaduje spoustu cvičení s umístěním knihoven a parametry pro configure všech aplikací. Tudy snadná cesta nevede.

Řešením je vytvoření chrootovaného 32bit prostředí. Detailní postup je popsán v gentoo handbooku. Hezké je na tom ale to, že tento postup bude funkční (s mírnými modifikacemi) i v jiných distribucích. Pomocí linux32 přesvědčíme vnoneřené procesy (v tomto případě chroot), že běží na i686 platformě. Pomocí běžných prostředků gentoo následně nainstalujeme běžnou 32bit distribuci. Pomocí 32bit překladače si zkompilujeme 32bit knihovny a 32bit aplikace optimalizované dle CFLAGS vnořeného 32bit systému :-) Iluze je téměř dokonola ikdyzž samozřejmě nějake trhlinky tam jsou- aplikace použivající jaderný modul se sice obalamutit podaří ale nedopadne to dobře.

Nevýhodou je množství zabraného místa na disku. Portage tree a distfiles lze sdílet ale ostatní věci jsou "zdvojeny". Počítejte se zhruba 700MiB po instalaci základních věcí.

Pokles výkonu 32bit aplikace spuštěné v 64bit systému je (v případě, že aplikace nevyužívá enormně často volání jádra) zanedbatelný. Kdybychom se pokusili o virtualizaci pomocí XENu, VirtualBoxu atd. tak docílíme hůře srovnatelných výsledků.

Happy chtrooting

       

Hodnocení: 62 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

9.11.2007 11:43 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Odpovědět | Sbalit | Link | Blokovat | Admin
Ten 32 bitový mplayer je k něčemu potřeba? Já jsem už dlouho neměl potíže s přehráním videa a žádné třicetidvoubitovosti v systému nemám. No ale kdyby k tomu snad došlo, tak ty windowsí kodeky musí snad už existovat i 64 bitové. Bude problém je použít v linuxu?
9.11.2007 12:20 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Ja to delal prave kvuli srovnani vykonu. Ale muzou byt i dalsi duvody- binarni aplikace neobsazene v portage ocekavajici mene obvykle 32bit knihovny. Nebo i nektere balicky v portage jsou na x64 hard masked. Napr. uzasna hra "cervi" ;-)
David Watzke avatar 9.11.2007 13:55 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Pro realmedia AFAIK není 64-bit kodek.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
9.11.2007 14:16 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Ano, také jsem zatím nepřišel na to, jak 64-bitovým MPlayerem přehrávat RealMedia. S ostatními formáty problém nemám.
9.11.2007 20:38 2007
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Mam 64-bitove Real kodeky v adresari /usr/lib64/codecs: cook.so, drvc.so, sipr.so
David Watzke avatar 9.11.2007 20:55 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Tyhle tam mám taky, ale moc platný nejsou...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 9.11.2007 21:08 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Odvolávám - schválně jsem stáhnul nějaký rmvb video z BT a šlo audio i video. Zkusil jsem dát stranou ty kodeky a pak šlo jen audio...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
9.11.2007 22:06 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
A kde se tam vzaly?
David Watzke avatar 9.11.2007 22:41 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Balíček amd64codecs v Gentoo. Tady jsou.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
10.11.2007 01:40 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Aha tak díky. Ale jak jsem posléze zjistil, tentýž soubor je i na stránkách MPlayeru. Asi se tam budu muset dívat častěji.
10.11.2007 21:13 Dusan | skóre: 23 | blog: Moje_trable_s_internetom
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Odpovědět | Sbalit | Link | Blokovat | Admin
Mandriva to má celkom elegantne vyriešené keď je program 64 bit nainštaluje sa do /usr/bin a knižnice !/usr/lib64! a ostatne je klasika. Ak je program 32bit tak sa dá do /usr/bin a knižnice ktoré potrebuje 32 bit sa dajú do /usr/lib.

Takže v systéme môžem mať len jeden 32 bit alebo 64 bit program (taký istý), ale knižnice ktoré si programy zdieľajú môžu byť v aj 32 aj 64bit verzii.

To to je default, takže keď napríklad mám binárny program ako arcad vyžadujúce 32bit knižnice tak nie je absolútne žiaden problém.

ps. náhodou nie je to podobné chroot (až tak som to veľmi neriešil)
10.11.2007 21:31 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Mandriva to má celkom elegantne vyriešené keď je program 64 bit nainštaluje sa do /usr/bin a knižnice !/usr/lib64! a ostatne je klasika. Ak je program 32bit tak sa dá do /usr/bin a knižnice ktoré potrebuje 32 bit sa dajú do /usr/lib.

Tak to nemá zdaleka jen Mandriva, spíš bych to označil za standardní řešení. Dokonce s tím počítá i specifikace FHS.

náhodou nie je to podobné chroot (až tak som to veľmi neriešil)

Ne, chroot je proti tomuto řešení zbytečně komplikovaný.

10.11.2007 22:10 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
náhodou nie je to podobné chroot (až tak som to veľmi neriešil)

Ne, chroot je proti tomuto řešení zbytečně komplikovaný.

V pripade binarnich balicku zbytecne komplikovany. V pripade kompilace vlastnich balicku (coz je tento pripad) je to mene komplikovane :)
11.11.2007 01:10 Dusan | skóre: 23 | blog: Moje_trable_s_internetom
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Hm takže si asi myslel http://www.pathname.com/fhs/pub/fhs-2.3.html

/usr/lib*qual*

Vlastne som ani neskúmal ktoré ďalšie dist. majú toto rovnaké.

Viete ktoré?

Ale predsa toto je odpoveď na tazaťelovu otázku. Žiadny chroot len si pridá 32bit zdroje a nainštaluje si 32bit mplayer. (samozrejme predpokladá to binárne balíčky aby sa nemuselo ťahať plno devel balíčkov pre 32bit verziu). V prípade gento už sa my zdá, že to tak spravil.

ps. Mandriva sa zdá byť dosť štandardizovaná dist proste nerobia sprostosti aby "uľahčili použiteľnosť" svojho distra. Lebo keby hej tak na ňu úplne zavrhnem má svoje chyby, ale aspoň toto robia poriadne.
11.11.2007 18:32 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Vlastne som ani neskúmal ktoré ďalšie dist. majú toto rovnaké. Viete ktoré

Určitě SuSE přinejmenším od 8.2. Řekl bych, že i Fedora, RHEL a klony, ale tam si nejsem stoprocentně jistý.

10.11.2007 22:05 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše Re: 32bit vs 64bit: jak na 32bit aplikace v 64bit linuxu [1.5]
Tak je tomu i v Gentoo. To je ale pouze reseni pro binarni balicky. Prelozit 32bit aplikaci se spoustou zavislosti na 32bit knihovnach je v 64bit distribuci ukolem nesnadnym. Oproti tomu v chrootu to jde snadno a s prostredky, ktere mi nabizi primo distribuce.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.