Sziasztok!
A napokban frissítettem a rendszeremet az aktuális Busterre és ennek kapcsán gondoltam, utánajárok az Optimus beállításának.
Eddig kikapcsolt Optimus mellett használtam a gépet kizárólag az nVidia kártyáról, mivel ahhoz vannak huzalozva a kimenetek és külső monitorral is használom, ez viszont a fogyasztásra, különösképpen akkuidőre nagyon rossz hatással van.
Sikerült eljutnom oda, hogy bekapcsolt Optimus-szal a rendszer el tudott indulni az Intel videóval, működött a rendszeren a compositor (KDE), tudtam optirun-nal programokat indítani az nVidia kártyán, azt is sikerül megoldani, hogy működjön a külső monitor (ekkor az nVidia kártya be van kapcsolva), de az Intel kártyán továbbra sem működött a GLX.
(Ekkor Xlib: extension "GLX" missing on display ":0" hibaüzenetet kaptam.)
Igaz, az update-alternatives --config glx-szel nvidia-t kellett beállítani, hogy egyáltalán elinduljon az ablakkezelő.
Bármi más (bumblebee / mesa-diverted) esetben a KDE felülete nem indult el.
El tudtam viszont indítani Openbox-ot vagy LXDE-t ilyenkor is, de, amikor innen szerettem volna GL-t használó programot, pl. a KDE-t elindítani, egy
/usr/lib64/libGL.so.1: undefined symbol: _glapi_tls_Current
hibaüzenet volt a reakció.
Próbáltam tesztet futtatni, ill. le akartam fordítani ezt a kódot.
...viszont a glsanity-glx fordítása közben ugyanezt a _glapi_tls_Current hibaüzenetet kaptam.
Emiatt próbaként beletettem egy saját projectem make fájl-jába is a "-lGL" kapcsolót, és csodák csodájára ez is ugyanezt a hibát dobta...
Ergo valami nagyon nincs renedben a GL körül - és ez kikapcsolt Optimus mellett, kizárólag az nVidia kártyát használva, egyéb tekintetben teljesen működőnek tűnő rendszer mellett is jelentkezett.
Ezt követően annyit próbáltam, hogy a /usr/lib/mesa-diverted/x86_64-linux-gnu útvonalon a libGL.so és libGL.so.1 fájlokat a libGL.so.1.7.0 helyett a szintén ezen az útvonalon lévő libGL.so.1.2 fájlra irányítottam (ez egy symlink lenne a használt verzióra).
Így, tehát libGL 1.2-vel már elindult teljes értékűen az Optimus.
A fordításkor jelentkező _glapi_tls_Current - mint undefined symbol - eltűnt, a program fordul, valamint át tudom állítani az update-alternatives --config glx konfigurációt mesa-diverted, ill. bumblebee-re úgy, hogy a KDE is elindul, 3D-s programok is indíthatók mind az Intel, mind az nVidia kártyán optirun-nal, valamint bumblebee-t választva az nVidia kártyán keresztül huzalozott külső monitort is meghajtja.
Így tehát gond nélkül működik minden, de nyilván ezzel nincs megoldva a probléma.
A mesa csomagjait próbáltam --reinstall kapcsolóval újratelepíteni, bár teljesen eltávolítani és visszatenni még nem.
Az nVidia csomagjaival megtettem párszor a napokban a teljes törlést is.
Kérdésem:
libGL 1.7-tel vajon miért kapom ezt a _glapi_tls_Current undefined symbol hibaüzenetet?
Lehet, hogy valamelyik függőségével van gond?
Maga a rendszer kb. Lenny vagy Squeeze óta lett frissítve, vagyis nem kizárt, hogy korábbi csomagokból bent ragadt valami - a komplett rendszert újratelepíteni viszont nem fogom.
Esetleg van tippetek, mit nézzek meg, ill. hogyan tudnám helyreállítani a GL aktuális változatát?
Minden segítséget előre is köszönök.