Niekompatybilne libGL.so (X <-> NVidia)
Paweł Sikora
pluto w ds14.agh.edu.pl
Śro, 7 Kwi 2004, 12:29:25 CEST
On Wednesday 07 of April 2004 12:07, Marcin Doliński wrote:
> W liście z śro, 07-04-2004, godz. 11:50 +0200, Marcin Doliński napisał:
> > W liście z śro, 07-04-2004, godz. 11:41 +0200, Paweł Sikora napisał:
> > > 3 pytania:
> > > - czy ten oops nastepuje w momencie ladowania modulu?
> > > - czy kernel budowales z opcja CONFIG_REGPARM=y ?
> > > - czy deklaracaje funkcji eksportowanych przez prekompilaty firegl
> > > maja odpowiednie dyrektywy odnosnie regparm?
> >
> > 1) tak, po czym moduł jest 'in use' i nie działa - mogę załadować moduł
> > radeon i on działa.
> > 2) Nie wiem? mam dystrybucyjny
# grep REGPARM kernel-ia32.config
CONFIG_REGPARM=y
tak na moje oko (po wlasnych przejsciach z nvidia),
to sypia sie wywolania funkcji z prekompilatu,
ktory byl budowany standardowo tj. parametry typu integer/pointer dostawal
przez stos. teraz kompilujac pomost, skrypty z kernela 2.6.x
rzucaja -mregparm=3 do flag i wychodza opsy przy pierwszej
lepszej okazji.
rozwiazanie:
#ifndef SAFE_API_CALL
#define SAFE_API_CALL __attribute__((regparm(0)))
#endif
i pododawac gdzie trzeba. jak tak poprawialem czesc kodu nvidii w DEVEL
bo tez mi sypalo opsami. milej zabawy zycze.
> > 3) jest ok, bo przy nieprawidłowym moduł się nie ładuje.
>
> Jeszcze jedno - moduł nie jest prekompilowany, kompiluje się u mnie na
> maszynie w kernelspace.
a biblioteki libfglrx.a.GCC{2,3} uzywane przy linkowaniu modulu,
to moze sa zrodla, a nie prekompilat (w postaci archiwum), tak? ;)
--
If you think of MS-DOS as mono, and Windows as stereo,
then Linux is Dolby Digital and all the music is free...
Więcej informacji o liście dyskusyjnej pld-devel-pl