Skocz do zawartości

Fglrx-kompilacja


wklaczynski

Rekomendowane odpowiedzi

mam problem, podobnie jak i inni. Zrobiłem dużo poprawek, i dostosowałem do KDVelop z pakietu narzędzi programistycznych KDE można to ściągnąć:

 

Ściągnij w części przerobione źródłodo pod KDevelop

 

Poprawiłem już wiele zmian ale mam jeden problem i skończył mi się czas, jedna funkcja w jaju 2.6.11 uległa usunięciu

używana w firegl_public.c

inter_module_get(x)

a inter_module_unregister(x) , inter_module_put(x) już jest przestarzała i chyba ją wywalą.

 

#define inter_module_put(x)
#define inter_module_unregister(x)
#define inter_module_get(x)             firegl_stub_pointer
#define inter_module_register(x,y,z)    do { firegl_stub_pointer = z; } while (0)
/* This is a kludge for backward compatibility that is only useful in DRM(stub_open) */
#define fops_put(fops)      MOD_DEC_USE_COUNT
#define fops_get(fops)      (fops); MOD_INC_USE_COUNT
#endif // LINUX_VERSION_CODE < 0x020400

#define DRM_MODULE_GET          (firegl_drm_stub_info_t *)inter_module_get("drm")
#define DRM_MODULE_PUT          inter_module_put("drm")

#define DRM_AGP_MODULE_GET      (drm_agp_t *)inter_module_get("drm_agp")
#define DRM_AGP_MODULE_PUT      inter_module_put("drm_agp")

 

znalazłem informacje że te funkje zastąpią podobne im funkcje

symbol_get(drm) i symbol_put(drm) ale nie wiem jak zdefiniować drm

dla DRM_AGP_MODULE_GET rozwiązałem tak

 

#if LINUX_VERSION_CODE >= 0x02060b

typedef struct {
    void      (*free_memory)(struct agp_memory *);
    struct agp_memory *    (*allocate_memory)(size_t, u32);
    int      (*bind_memory)(struct agp_memory *, off_t);
    int      (*unbind_memory)(struct agp_memory *);
    void      (*enable)(u32);
    int      (*acquire)(void);
    void      (*release)(void);
    int      (*copy_info)(struct agp_kern_info *);
} drm_agp_t;

static const drm_agp_t drm_agp = {
    &agp_free_memory,
    &agp_allocate_memory,
    &agp_bind_memory,
    &agp_unbind_memory,
    &agp_enable,
    &agp_backend_acquire,
    &agp_backend_release,
    &agp_copy_info
};
#undef DRM_AGP_MODULE_GET
#undef DRM_AGP_MODULE_PUT

#define DRM_AGP_MODULE_GET      &drm_agp
#define DRM_AGP_MODULE_PUT 

#endif

 

ale nie wiem jak to zrobić DRM_MODULE_GET, może ktoś popatrzy i rozwiąże problem i przy okazji coś skożysta, bo ja nie będę miał w tym tygodniu czasu a chętnie bym pogierzył w weekend. A gierzyć lubią wszyscy i na pewno komuś się zachce pogrzebać w sterach fglrx aby można było cieszyć się radkiem na nowym jaju!

Prosił bym o pomoć jak zmienić to na noiwe funkcje!

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...