Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [Debian] Errori installazione modulo fglrx (ATI Driver)

    Ciao a tutti! Eccomi di nuovo qui a chiedere aiuto per un argomento già ampiamente trattato....ma del quale non trovo soluzioni anche cercando in rete o spulciando il forum

    Sto provando ad installare i driver ati per una radeon 9800 Pro su debian con xfree 4.3.0 e kernel 2.6.11.6...ho provato anche ad usare solamente i driver "radeon" del kernel ma non fungono...

    Ho seguito una guida che ho trovato qui e ho anche provato ad installare i driver con relativo modulo alienando l'rpm scaricato direttamente dal sito ati...ma in entrambi i casi ricevo lo stesso identico errore quando cerco di installare il modulo fglrx:


    codice:
    ATI module generator V 2.0
    ==========================
    initializing...
    cleaning...
    patching 'highmem.h'...
    assuming new VMA API since we do have kernel 2.6.x...
    doing Makefile based build for kernel 2.6.x and higher
    make -C /lib/modules/2.6.11.6/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory `/usr/src/linux-2.6.11.6'
      CC [M]  /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `firegl_stub_putminor':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:509: warning: `inter_module_put' is deprecated (declared at include/linux/module.h:578)
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:511: warning: `inter_module_unregister' is deprecated (declared at include/linux/module.h:574)
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `firegl_stub_register':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:531: warning: `inter_module_register' is deprecated (declared at include/linux/module.h:573)
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:562: warning: `inter_module_put' is deprecated (declared at include/linux/module.h:578)
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_get_vm_phys_addr':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1673: warning: passing arg 1 of `pmd_offset' from incompatible pointer type
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `do_vm_shm_nopage':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2203: warning: passing arg 1 of `pmd_offset' from incompatible pointer type
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_vm_phys_addr_str':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2573: warning: passing arg 1 of `pmd_offset' from incompatible pointer type
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level:
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2661: warning: initialization from incompatible pointer type
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_vm_map':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2722: warning: implicit declaration of function `remap_page_range'
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level:
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2876: error: parse error before '*' token
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2876: warning: type defaults to `int' in declaration of `drm_agp_module_stub'
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2876: warning: data definition has no type or storage class
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agpgart_available':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3018: error: `drm_agp_t' undeclared (first use in this function)
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3018: error: (Each undeclared identifier is reported only once
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3018: error: for each function it appears in.)
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3018: error: parse error before ')' token
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3039: error: request for member `free_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3041: error: request for member `free_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3044: error: request for member `allocate_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3046: error: request for member `allocate_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3049: error: request for member `bind_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3051: error: request for member `bind_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3054: error: request for member `unbind_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3056: error: request for member `unbind_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3059: error: request for member `enable' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3061: error: request for member `enable' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3064: error: request for member `acquire' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3066: error: request for member `acquire' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3069: error: request for member `release' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3071: error: request for member `release' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3074: error: request for member `copy_info' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3076: error: request for member `copy_info' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_uninit':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3147: warning: `inter_module_put' is deprecated (declared at include/linux/module.h:578)
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_free_memory':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3180: error: request for member `free_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3181: error: request for member `free_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_allocate_memory':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3190: error: request for member `allocate_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3191: error: request for member `allocate_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_bind_memory':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3201: error: request for member `bind_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3202: error: request for member `bind_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_unbind_memory':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3212: error: request for member `unbind_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3213: error: request for member `unbind_memory' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_enable':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223: error: request for member `enable' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3225: error: request for member `enable' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_acquire':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3271: error: request for member `acquire' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3272: error: request for member `acquire' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_release':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3282: error: request for member `release' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3283: error: request for member `release' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_copy_info':
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3296: error: request for member `copy_info' in something not a structure or union
    /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3303: error: request for member `copy_info' in something not a structure or union
    make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
    make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2
    make[1]: Leaving directory `/usr/src/linux-2.6.11.6'
    make: *** [kmod_build] Error 2
    build failed with return value 2
    Da cosa potrebbero dipendere questi errori? come risolvo? Grazie 1000 a tutti!!

  2. #2
    potrebbe essere il kernel 2.6.11 che da questo problema
    è diverso dai precedenti kernel fino al 2.6.10 anche nvidia ha fatto i driver specifici per questo kernel

  3. #3
    Ti ringrazio andy per avermi risposto....in questo periodo sto pensando seriamente di passare a nvidia, perchè è da quando uso linux che sto cercando di installare sta benedetta radeon 9800Pro in tutti i modi ma senza successo...avevo pensato di prendere una 6600 GT, che ne dici? è ben supportata? si riesce ad installare senza problemi o è anche quella un supplizio??

    Io ho agp 4x sulla mia mobo...non è magari che è anche per questo che non riesco a installare sta radeon? non vorrei che, se passassi ad nvidia con una scheda agp 8x, dovrei fare i salti mortali poi per instrallarla....
    Grazie ancora!

  4. #4
    con nvidia non hai mai problemi
    specie se usi i kernel compilati a mano basta avviare l'installer

    raramente c'è bisogno di mettere l'opzione per l'agp nel file di conf

  5. #5
    gli ultimi driver si installano sui 2.6.11 solo dopo aver applicato due patch

    p1.patch:

    codice:
    2005-03-02 22:32            diff -lu or.c agpgart_be.c            Page 1
    
    
    --- or.c	2005-01-31 19:50:00.000000000 +0200
    +++ agpgart_be.c	2005-03-02 22:19:25.000000000 +0200
    @@ -261,6 +261,12 @@
     #define firegl_pci_find_class(class,from) pci_find_class(class,from)
     #endif
     
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11) 
    +#define firegl_pci_find_class(class,from) pci_get_class(class,from)
    +#else
    +#define firegl_pci_find_class(class,from) pci_find_class(class,from)
    +#endif
    +
     int agp_backend_acquire(void)
     {
     	if (agp_bridge.type == NOT_SUPPORTED) {
    @@ -4075,6 +4081,13 @@
     			}
     		}
     	}
    +
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11) 
    +            // the reference count has been increased in agp_backend_initialize.
    +        if (device)
    +            pci_dev_put(device); 
    +#endif
    +
     	/*
     	 * PASS3: Figure out the 8X/4X setting and enable the
     	 *        target (our motherboard chipset).
    @@ -5283,6 +5296,12 @@
                 pci_dev_put(device); 
     #endif
     
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11) 
    +            // the reference count has been increased in agp_backend_initialize.
    +        if (device)
    +            pci_dev_put(device); 
    +#endif
    +
         return(0); /* success */
     }
     
    @@ -7428,6 +7447,11 @@
     		return rc;
     	}
     
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
    +        // decrease the reference count.
    +        pci_dev_put(agp_bridge.dev);
    +#endif
    +
     	if (agp_bridge.needs_scratch_page == TRUE) {
     		agp_bridge.scratch_page = agp_bridge.agp_alloc_page();
    p2.patch:

    codice:
    --- 2.c	2005-02-10 04:15:00.000000000 +0200
    +++ firegl_public.c	2005-03-02 22:21:42.000000000 +0200
    @@ -1664,13 +1664,22 @@
     {
         unsigned long pte_linear;
         pgd_t* pgd_p;
    +#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
    +    pud_t* pud_p;
    +#endif
         pmd_t* pmd_p;
         pte_t* pte_p;
         pte_t  pte;
     
         pte_linear = VMALLOC_VMADDR(virtual_addr);  // convert to pte linear address (x86 => nop)
         pgd_p = pgd_offset(mm, pte_linear);
    +#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
    +    pud_p = pud_offset(pgd_p, pte_linear);
    +    pmd_p = pmd_offset(pud_p, pte_linear);
    +#else
         pmd_p = pmd_offset(pgd_p, pte_linear);
    +#endif
    +
     #ifndef FGL_ATOMIC_PTE
     #if LINUX_VERSION_CODE > 0x020500
         pte_p = pte_offset_kernel(pmd_p, pte_linear);
    @@ -2100,6 +2109,9 @@
                                                        unsigned long address)
     {
         pgd_t* pgd_p;
    +#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
    +    pud_t* pud_p;
    +#endif
         pmd_t* pmd_p;
         pte_t* pte_p;
         pte_t  pte;
    @@ -2200,7 +2212,12 @@
             /* alternatively we could generate a NOPAGE_OOM "out of memory" */
         }
         /*  locate medium level page table (x86 => nop) */
    +#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
    +    pud_p = pud_offset(pgd_p, pte_linear);
    +    pmd_p = pmd_offset(pud_p, pte_linear);
    +#else
         pmd_p = pmd_offset(pgd_p, pte_linear);
    +#endif
         if (!pmd_present(*pmd_p))
         {
             __KE_ERROR("FATAL ERROR: User queue buffer not present! (pmd)\n");
    @@ -2564,13 +2581,21 @@
     {
         unsigned long pte_linear;
         pgd_t* pgd_p;
    +#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
    +    pud_t* pud_p;
    +#endif
         pmd_t* pmd_p;
         pte_t* pte_p;
         pte_t  pte;
     
         pte_linear = VMALLOC_VMADDR(virtual_addr);  // convert to pte linear address (x86 => nop)
         pgd_p = pgd_offset(vma->vm_mm, pte_linear);
    +#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
    +    pud_p = pud_offset(pgd_p, pte_linear);
    +    pmd_p = pmd_offset(pud_p, pte_linear);
    +#else
         pmd_p = pmd_offset(pgd_p, pte_linear);
    +#endif
     #ifndef FGL_ATOMIC_PTE
     #if LINUX_VERSION_CODE > 0x020500
         pte_p = pte_offset_kernel(pmd_p, pte_linear);
    @@ -2719,13 +2744,13 @@
     #endif /* __ia64__ */
                     vma->vm_flags |= VM_IO; /* not in core dump */
                 }
    -            if (remap_page_range(FGL_VMA_API_PASS
    +            if (remap_pfn_range(FGL_VMA_API_PASS
                                      vma->vm_start,
    -                                 __ke_vm_offset(vma),
    +                                 __ke_vm_offset(vma) >> PAGE_SHIFT,
                                      vma->vm_end - vma->vm_start,
                                      vma->vm_page_prot))
                 {
    -                __KE_DEBUG("remap_page_range failed\n");
    +                __KE_DEBUG("remap_pfn_range failed\n");
                     return -EAGAIN;
                 }
                 vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
    @@ -2786,13 +2811,13 @@
     			{
     				if (__ke_vm_offset(vma) >= __pa(high_memory))
     					vma->vm_flags |= VM_IO; /* not in core dump */
    -				if (remap_page_range(FGL_VMA_API_PASS
    +				if (remap_pfn_range(FGL_VMA_API_PASS
     									 vma->vm_start,
    -									 __ke_vm_offset(vma),
    +									 __ke_vm_offset(vma) >> PAGE_SHIFT,
     									 vma->vm_end - vma->vm_start,
     									 vma->vm_page_prot))
     				{
    -					__KE_DEBUG("remap_page_range failed\n");
    +					__KE_DEBUG("remap_pfn_range failed\n");
     					return -EAGAIN;
     				}
     #ifdef __x86_64__
    @@ -2823,13 +2848,13 @@
     			{
     				if (__ke_vm_offset(vma) >= __pa(high_memory))
     					vma->vm_flags |= VM_IO; /* not in core dump */
    -				if (remap_page_range(FGL_VMA_API_PASS
    +				if (remap_pfn_range(FGL_VMA_API_PASS
     									 vma->vm_start,
    -									 __ke_vm_offset(vma),
    +									 __ke_vm_offset(vma) >> PAGE_SHIFT,
     									 vma->vm_end - vma->vm_start,
     									 vma->vm_page_prot))
     				{
    -					__KE_DEBUG("remap_page_range failed\n");
    +					__KE_DEBUG("remap_pfn_range failed\n");
     					return -EAGAIN;
     				}
     #ifdef __x86_64__
    @@ -2873,6 +2898,37 @@
     
     #if LINUX_VERSION_CODE >= 0x020400
     
    +#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
    +
     static const drm_agp_t  *drm_agp_module_stub = NULL;
     
     #define AGP_FUNCTIONS		8
    copia e incolla nei due file p1.patch e p2.patch, mettili in /lib/modules/fglrx/build (o qualcosa di simile, vado a memoria) poi dai patch -Np1 < p1.patch e patch -Np1 < p1.patch, dalla stessa dir sh make.sh per compilare il modulo, torna indietro di una dir e dai sh install.sh per installarlo
    Sotto la panza la mazza avanza.

  6. #6
    NON CI POSSO CREDERE!!!!!

    Dopo anni e anni e anni di pene passate per riuscire ad installare sta scheda e abilitare il 3d finalmente ci sono riuscito grazie a Caleb!!!

    name of display: :0.0
    display: :0 screen: 0
    direct rendering: Yes

    Grazie, grazie, grazie!
    Siete grandi!



    Ho solo un dubbio:ho provato tuxracer e gli screensaver che usano le GL e vanno tranquillamente però se do glxgears restituisce dei valori bassi...com'è possibile??

    glxgears
    318 frames in 5.0 seconds = 63.600 FPS
    365 frames in 5.0 seconds = 73.000 FPS
    354 frames in 5.0 seconds = 70.800 FPS
    400 frames in 5.0 seconds = 80.000 FPS
    345 frames in 5.0 seconds = 69.000 FPS
    405 frames in 5.0 seconds = 81.000 FPS

    Devo modificare qualche parametro nell'XF86Config-4?

  7. #7
    non ho mai provato a giocherellare coi parametri nel file di config comunque glxgears è inaffidabile, guarda qui per un test più serio
    Sotto la panza la mazza avanza.

  8. #8
    Originariamente inviato da christian78
    Ho solo un dubbio:ho provato tuxracer e gli screensaver che usano le GL e vanno tranquillamente però se do glxgears restituisce dei valori bassi...com'è possibile??

    glxgears
    318 frames in 5.0 seconds = 63.600 FPS
    365 frames in 5.0 seconds = 73.000 FPS
    354 frames in 5.0 seconds = 70.800 FPS
    400 frames in 5.0 seconds = 80.000 FPS
    345 frames in 5.0 seconds = 69.000 FPS
    405 frames in 5.0 seconds = 81.000 FPS

    Devo modificare qualche parametro nell'XF86Config-4?
    Mi rispondo da solo, visto che ho trovato una soluzione e che potrebbe tornare utile anche a qualcun altro che si ritrova con lo stesso problema.

    Nel file di configurazione XF86Config-4 cercare la riga

    Option "Capabilities" "0x00000800"

    Sostituire 8 con 0 (zero) e dovrebbe andare a posto!

    dopo aver fatto quella piccola modifica questi sono i nuovi valori di glxgears (sempre a grandezza standard della finestra):

    22778 frames in 5.0 seconds = 4555.600 FPS
    22930 frames in 5.0 seconds = 4586.000 FPS
    22941 frames in 5.0 seconds = 4588.200 FPS


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.