32 bit libraries, fglrx driver

Založil menganito, 21. 05. 2013, 22:03:10

Předchozí téma - Další téma

menganito

Zdravím.

Systém: Debian testing 3.2.41-2 x86_64; fglrx-drive1:13.4-2; playonlinux 4.2.1; steam-debian 1.0.0.36-4; ia32-libs 1:0.4.

Problém: za ten svet neviem rozbehať 32bit HW akceleráciu. Playonlinux sa sťažuje, že mu chýbajú 32bit OpenGL knižnice, Stam konkrétnejšie na libGL.so.1. 3D akcelerácia 32bit aplikácii je zjavne nefunkčná (World of Goo v Steame laguje, GTASA v POL sa ani nespustí, resp hneď crashne). glxinfo nevidí problém (keďže je 64bit).
Hľadal som aj tú knižnicu:
Code: [Select]

find / -name libGL.so.1 -exec ls -l {} \;
lrwxrwxrwx 1 menganito menganito 48 máj  4 16:27 /home/menganito/.local/share/Steam/ubuntu12_32/libGL.so.1 -> /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1
lrwxrwxrwx 1 root root 42 máj  5 16:50 /usr/lib32/libGL.so.1 -> /usr/lib/x86_64-linux-gnu/fglrx/libGL.so.1
lrwxrwxrwx 1 root root 50 jan 29 20:48 /usr/lib/x86_64-linux-gnu/libGL.so.1 -> /etc/alternatives/glx--libGL.so.1-x86_64-linux-gnu
lrwxrwxrwx 1 root root 18 okt  3  2012 /usr/lib/x86_64-linux-gnu/fglrx/libGL.so.1 -> fglrx-libGL.so.1.2
lrwxrwxrwx 1 root root 12 mar 13 22:19 /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1 -> libGL.so.1.2
lrwxrwxrwx 1 root root 12 mar 14 01:59 /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 -> libGL.so.1.2


Ako vidno, skúšal som ju nalinkovať hore dole, problém pretrváva.

Pozn. toto som sa už daǘnešie pýtal v Ubuntu fóre, kde som zabehnutejší, ale nedočkal som sa odpovede.

Palo M.

Za prve: To "nalinkovanie hore-dole" je velmi zly napad. Je to dobre akurat tak na rozbitie systemu (bud okamzite, alebo sa to prejavi az neskor, ked pridu nejake updaty a ty uz si medzicasom zabudol, co si linkoval a ze si vobec nieco linkoval). Mne sa doteraz podarilo rozbehnut uplne vsetko bez toho, aby som manualne kopiroval/linkoval cokolvek do /usr...

Za druhe: Ked zoberies 64-bitovu kniznicu a nalinkujes ju aby sa tvarila ako 32-bitova, tak to jednoducho nefunguje. Pre 32-bitovy mod musi byt ta kniznica patricne skompilovana.

Za tretie: Najprv sa zbav vsetkych symbolickolinkovych smeti, ktore si povyrabal. Multiarch by si mal mat uz zapnuty (vo Wheezym je ia32-libs len prechodny balik ktory zapne multiarch, plus nainstaluje 32-bitove verzie zakladnych kniznic, samozrejme fglrx nie su zakladne kniznice)... Tak potom len nainstaluj patricne 32-bitove verzie fglrx kniznic, mali by to byt libfglrx:i386, libgl1-fglrx-glx:i386 a libfglrx-amdxvba1:i386.
No a nakoniec si mozes overit, ci patricne 32-bitove verzie kniznic budu aj pouzite - pomocou "ldd binarkaktorapredtympindalanaabsenciu32bitovychkniznic" uvidis vsetky dynamicky linkovane kniznice ktore binarka vyzaduje spolu s ich cestami, pripadne uvidis ktora kniznica chyba (samozrejme, ak sa nespusta priamo binarka, ale nejaky wrapper-skript, tak sa treba najprv dopatrat, kde je ta patricna binarka a pripadne aj nastavenie LD_PRELOAD a LD_LIBRARY_PATH, ak ich ten wrapper-skript nastavuje, pretoze niektore dynamicky linkovane kniznice mozu byt distribuovane priamo s danou binarkou a teda sa mozu nachadzat aj mimo standardnych ciest pre kniznice).

menganito

Ďakujem, pomohlo.

Za prvé: bolo to východisko z núdze (ktoré ma aj tak nikam nedostalo). V podstate len jeden link som si tam robil ručne, ten už je preč.
Za druhé: to isté, tušil som, že to asi určite nepôjde, ale musel som skúsiť, Navyše som takúto radu čítal aj v akomsi mailing liste, tak "prečo nie".
Za tretie: skúšal som aj iné ia32 balíky, ale zjavne nestačili (už chápem prečo). Teraz v podstate funguje všetko okrem Steamu, s tým sa ešte musím popasovať, ale nakopol si ma správnym smerom. Díky.