Ja chcę OpenGL
AAAAAAAAAAA, ja chcę OpenGL w swoich Xach!
Mam debiana, kernel 2.6.17, Xorg7.0 i pecha….
Karta graficzna: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller
I oczywiście w standardowym driverze w Xorg7.0 nie ma obsługi 3D – oficjalnie.
Na stronie intela jest źródełko do drivera!!! Super, tylko, że się nie kompiluje, bo:
make -C /lib/modules/2.6.17-1-686/build SUBDIRS=/root/intel2/dripkg/agpgart-2.0 modules
make[1]: Wejście do katalogu `/usr/src/linux-headers-2.6.17-1-686′
CC [M] /root/intel2/dripkg/agpgart-2.0/backend.o
/root/intel2/dripkg/agpgart-2.0/backend.c:69: error: conflicting types for ‘agp_backend_acquire’
include/linux/agp_backend.h:105: error: previous declaration of ‘agp_backend_acquire’ was here
/root/intel2/dripkg/agpgart-2.0/backend.c:77: error: conflicting types for ‘agp_backend_acquire’
include/linux/agp_backend.h:105: error: previous declaration of ‘agp_backend_acquire’ was here
/root/intel2/dripkg/agpgart-2.0/backend.c:89: error: conflicting types for ‘agp_backend_release’
include/linux/agp_backend.h:106: error: previous declaration of ‘agp_backend_release’ was here
/root/intel2/dripkg/agpgart-2.0/backend.c:93: error: conflicting types for ‘agp_backend_release’
include/linux/agp_backend.h:106: error: previous declaration of ‘agp_backend_release’ was here
/root/intel2/dripkg/agpgart-2.0/backend.c:220: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘drm_agp’
/root/intel2/dripkg/agpgart-2.0/backend.c: In function ‘agp_add_bridge’:
/root/intel2/dripkg/agpgart-2.0/backend.c:281: warning: ‘inter_module_register’ is deprecated (declared at include/linux/module.h:563)
/root/intel2/dripkg/agpgart-2.0/backend.c:281: error: ‘drm_agp’ undeclared (first use in this function)
/root/intel2/dripkg/agpgart-2.0/backend.c:281: error: (Each undeclared identifier is reported only once
/root/intel2/dripkg/agpgart-2.0/backend.c:281: error: for each function it appears in.)
/root/intel2/dripkg/agpgart-2.0/backend.c: In function ‘agp_remove_bridge’:
/root/intel2/dripkg/agpgart-2.0/backend.c:301: warning: ‘inter_module_unregister’ is deprecated (declared at include/linux/module.h:564)
make[2]: *** [/root/intel2/dripkg/agpgart-2.0/backend.o] Błąd 1
make[1]: *** [_module_/root/intel2/dripkg/agpgart-2.0] Błąd 2
make[1]: Opuszczenie katalogu `/usr/src/linux-headers-2.6.17-1-686′
make: *** [default] Błąd 2
make -f Makefile.linux DRM_MODULES=gdg.ko modules
make[1]: Wejście do katalogu `/root/intel2/dripkg/drm’
make -C /lib/modules/2.6.17-1-686/build SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
make[2]: Wejście do katalogu `/usr/src/linux-headers-2.6.17-1-686′
rm: nie można usunąć `/root/intel2/dripkg/drm/.tmp_versions/CVS’: Jest katalogiem
make[2]: *** [crmodverdir] Błąd 1
make[2]: Opuszczenie katalogu `/usr/src/linux-headers-2.6.17-1-686′
make[1]: *** [modules] Błąd 2
make[1]: Opuszczenie katalogu `/root/intel2/dripkg/drm’
make: *** [gdg.ko] Błąd 2
Grrrr, ktoś nie pomyślał i w driverze kilka funkcji zwraca typy, które nie zgadzają się z nagłówkami w kernelu:
w driverze:
/**
* agp_backend_acquire – attempt to acquire the agp backend.
*
* returns -EBUSY if agp is in use,
* returns 0 if the caller owns the agp backend
*/
int agp_backend_acquire(void)
{
if (agp_bridge->type == NOT_SUPPORTED)
return -EINVAL;
if (atomic_read(&agp_bridge->agp_in_use))
return -EBUSY;
atomic_inc(&agp_bridge->agp_in_use);
return 0;
}
EXPORT_SYMBOL(agp_backend_acquire);
w kernelu:
extern struct agp_bridge_data *agp_backend_acquire(struct pci_dev *);
Ech, jeszcze 6 lat temu sam bym to poprawił, a teraz C jest dla mnie czarną magią
Czy może ktoś mógłby mi pomóc? Bo nie widzę sposobu poradzenia sobie z tym, a ja chce mieć OpenGL!!!!
Posted by By: tryt |
