Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: ATI drivers on linux 2.6.25

  1. #1
    Join Date
    Oct 2007
    Posts
    92

    Default ATI drivers on linux 2.6.25

    I made a first check to see if the current ati drivers (8.452 aka 8.01) still compile against the upcoming linux kernel and this is the result:
    Code:
      CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_SetPageNoCache’:
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1161: warning: ‘change_page_attr’ is deprecated (declared at include/asm/cacheflush.h:28)
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘firegl_put_user_ptr’:
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘__ke_check_pci’:
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1951: warning: ‘pci_find_slot’ is deprecated (declared at include/linux/pci.h:493)
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘__ke_pci_find_slot’:
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2840: warning: ‘pci_find_slot’ is deprecated (declared at include/linux/pci.h:493)
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘__ke_unregister_ioctl32_conversion’:
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2972: warning: ‘return’ with a value, in function returning void
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KAS_SlabCache_Initialize’:
    /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5219: warning: cast from pointer to integer of different size
      LD [M]  /var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.o
      Building modules, stage 2.
      MODPOST 1 modules
    WARNING: "change_page_attr" [/var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
    WARNING: "init_mm" [/var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
    WARNING: "flush_tlb_page" [/var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
    As you can see it compiles, but the linker spits out warnings and most likely the module will fail to load.
    Code:
    WARNING: "change_page_attr" [/var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
    WARNING: "init_mm" [/var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
    WARNING: "flush_tlb_page" [/var/tmp/portage/x11-drivers/ati-drivers-8.452.1/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
    Of course it is yet too early to tell if it will stay like that, maybe there will be some patches integrated until -rc1 resulting in a complete failure, will see.
    And of course it is in a too early state to see if the drivers will load and run with this kernel, but it isn't looking too good without patches.

  2. #2
    Join Date
    Aug 2007
    Posts
    32

    Default

    With 8.4 (fglrx-8.476) and the just released Linux 2.6.25 there're some problems, atleast on my 64bit Kubuntu(hardy).

    Firstly KCL_PosixSecurityCapGetEffectiveVector etc problem which has a patch available (http://forums.gentoo.org/viewtopic-p...4.html#5039144)

    Secondly, there's the WARNING: "flush_tlb_page" [/var/lib/dkms/fglrx/8.476/build/fglrx.ko] undefined!
    Which actually prevents fglrx.ko from loading.

    From here http://git.kernel.org/?p=linux/kerne...bf2c051fa119f6 one can see that the export for flush_tlb has been removed from the smp_64.c. It still exists in smp_32.c.

    To me, it seems weird that smp_32.c exports something that smp_64.c doesn't..

    Here's a full log after applying patch for the first issue:
    Code:
    oot@gandalf:/var/lib/dkms/fglrx/8.476/build# make
    make -C /lib/modules/2.6.25-custom/build SUBDIRS=/var/lib/dkms/fglrx/8.476/build modules
    make[1]: Entering directory `/usr/src/linux-2.6.25'
      CC [M]  /var/lib/dkms/fglrx/8.476/build/firegl_public.o
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘firegl_put_user_ptr’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1595: warning: cast from pointer to integer of different size
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1595: warning: cast from pointer to integer of different size
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1595: warning: cast from pointer to integer of different size
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1595: warning: cast from pointer to integer of different size
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘__ke_unregister_ioctl32_conversion’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:2973: warning: ‘return’ with a value, in function returning void
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KAS_SlabCache_Initialize’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:5220: warning: cast from pointer to integer of different size
      LD [M]  /var/lib/dkms/fglrx/8.476/build/fglrx.o
      Building modules, stage 2.
      MODPOST 1 modules
    WARNING: modpost: module fglrx.ko uses symbol 'init_mm' marked UNUSED
    WARNING: "flush_tlb_page" [/var/lib/dkms/fglrx/8.476/build/fglrx.ko] undefined!
      CC      /var/lib/dkms/fglrx/8.476/build/fglrx.mod.o
      LD [M]  /var/lib/dkms/fglrx/8.476/build/fglrx.ko
    make[1]: Leaving directory `/usr/src/linux-2.6.25'

  3. #3
    Join Date
    Aug 2007
    Posts
    3

    Default

    as i'm using a new board with sb700 and an integrated attansic ethernet adapter, i'm forced to compile with the new 2.6.25-kernel and i'm suffering from the same problem

    Code:
    WARNING: modpost: module fglrx.ko uses symbol 'init_mm' marked UNUSED
    for this problem, there is a not really clean but working 'workaround' in http://forums.gentoo.org/viewtopic-t...3306d9aed91600

    I'm using kernel-2.6.25-rc8 and I couldn't load ati-drivers-8.471.3 even with your patch. The problem was unknown symbol init_mm, which is exported as an unused symbol since 2.6.25. I've tried config option CONFIG_UNUSED_SYMBOLS, but this did not help either, so I changed macro EXPORT_UNUSED_SYMBOL to EXPORT_SYMBOL in file arch/x86/kernel/init_task.c.
    Anyway, it will be removed in 2.6.26 completely.
    about the flush_tlb_page-problem:
    I've found several guys who managed to get this driver compiling and working with 2.6.25_rc8 and above. maybe they all use an 32bit-kernel, where this symbol still seems to exist...
    Last edited by flo2; 04-20-2008 at 03:03 PM.

  4. #4
    Join Date
    Aug 2007
    Posts
    32

    Default

    To get over the flush_tlb_page problem I simply modified the smp_64.c and reverted the patch which removed the EXPORT_SYMBOL(flush_tlb_page);

    Everything seems to be working just fine.


    -----
    }
    EXPORT_SYMBOL(flush_tlb_page);


    static void do_flush_tlb_all(void* info)
    -----

  5. #5
    Join Date
    Aug 2007
    Posts
    3

    Default

    thanks, works here

  6. #6
    Join Date
    Aug 2007
    Posts
    32

    Default

    For kernel versions past the released 2.6.25, the git series. They've removed the tlb stuff from smp_[32|64].c and added new files specially for tlb: tlb_32.c and tlb_64.c.

    Here's trivial patch which re-enables tlb_64.c to export flush_tlb_page and match tlb_32.c

    -----
    diff --git a/arch/x86/kernel/tlb_64.c b/arch/x86/kernel/tlb_64.c
    index df224a8..9bbe4aa 100644
    --- a/arch/x86/kernel/tlb_64.c
    +++ b/arch/x86/kernel/tlb_64.c
    @@ -258,6 +258,7 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long va)

    preempt_enable();
    }
    +EXPORT_SYMBOL(flush_tlb_page);

    static void do_flush_tlb_all(void *info)
    {


    ----
    jjjj@gandalf:~/linux-2.6/arch/x86/kernel$ grep "EXPORT_SYMBOL" tlb*.c
    tlb_32.c:EXPORT_SYMBOL_GPL(leave_mm);
    tlb_32.c:EXPORT_SYMBOL(flush_tlb_page);
    tlb_64.c:EXPORT_SYMBOL_GPL(leave_mm);
    tlb_64.c:EXPORT_SYMBOL(flush_tlb_page);
    jjjj@gandalf:~/linux-2.6/arch/x86/kernel$

  7. #7
    Join Date
    Mar 2008
    Posts
    29

    Default

    i have ubuntu 8.04 32bit with ati 9700 mobility and stable kernel 2.6.25. when i try to compile, i have this error in make.sh.log:

    ...
    doing Makefile based build for kernel 2.6.x and higher
    make -C /lib/modules/2.6.25/build SUBDIRS=/var/lib/dkms/fglrx/8.476/build modules
    make[1]: Entering directory `/usr/src/linux-2.6.25'
    CC [M] /var/lib/dkms/fglrx/8.476/build/firegl_public.o
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_SetPageNoCache’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1161: warning: ‘change_page_attr’ is deprecated (declared at include/asm/cacheflush.h:28)
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_PosixSecurityCapGetEffectiveVector’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1888: error: implicit declaration of function ‘cap_t’
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_PosixSecurityCapSetEffectiveVector’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1896: error: lvalue required as left operand of assignment
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘__ke_check_pci’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1951: error: implicit declaration of function ‘pci_find_slot’
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1951: warning: assignment makes pointer from integer without a cast
    make[2]: *** [/var/lib/dkms/fglrx/8.476/build/firegl_public.o] Error 1
    make[1]: *** [_module_/var/lib/dkms/fglrx/8.476/build] Error 2
    make[1]: Leaving directory `/usr/src/linux-2.6.25'

  8. #8
    Join Date
    Jul 2007
    Posts
    3

    Default

    Quote Originally Posted by biasquez View Post
    i have ubuntu 8.04 32bit with ati 9700 mobility and stable kernel 2.6.25. when i try to compile, i have this error in make.sh.log:

    ...
    doing Makefile based build for kernel 2.6.x and higher
    make -C /lib/modules/2.6.25/build SUBDIRS=/var/lib/dkms/fglrx/8.476/build modules
    make[1]: Entering directory `/usr/src/linux-2.6.25'
    CC [M] /var/lib/dkms/fglrx/8.476/build/firegl_public.o
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_SetPageNoCache’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1161: warning: ‘change_page_attr’ is deprecated (declared at include/asm/cacheflush.h:28)
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_PosixSecurityCapGetEffectiveVector’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1888: error: implicit declaration of function ‘cap_t’
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_PosixSecurityCapSetEffectiveVector’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1896: error: lvalue required as left operand of assignment
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘__ke_check_pci’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1951: error: implicit declaration of function ‘pci_find_slot’
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1951: warning: assignment makes pointer from integer without a cast
    make[2]: *** [/var/lib/dkms/fglrx/8.476/build/firegl_public.o] Error 1
    make[1]: *** [_module_/var/lib/dkms/fglrx/8.476/build] Error 2
    make[1]: Leaving directory `/usr/src/linux-2.6.25'
    same problem here with an ati radeon 9800 pro, i think we have to wait the release of catalyst 8.5

  9. #9
    Join Date
    Aug 2007
    Posts
    32

    Default

    Here's what you get with 2.6.26-rc1


    CC [M] /var/lib/dkms/fglrx/8.476/build/firegl_public.o
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_SetPageNoCache’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1161: error: implicit declaration of function ‘change_page_attr’
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘firegl_put_user_ptr’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1594: warning: cast from pointer to integer of different size
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1594: warning: cast from pointer to integer of different size
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1594: warning: cast from pointer to integer of different size
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1594: warning: cast from pointer to integer of different size
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_PosixSecurityCapGetEffectiveVector’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1888: error: implicit declaration of function ‘cap_t’
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_PosixSecurityCapSetEffectiveVector’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:1896: error: lvalue required as left operand of assignment
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘__ke_get_vm_phys_addr’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:2392: error: ‘NOPAGE_SIGBUS’ undeclared (first use in this function)
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:2392: error: (Each undeclared identifier is reported only once
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:2392: error: for each function it appears in.)
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘__ke_get_vm_page_table’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:2414: error: ‘NOPAGE_SIGBUS’ undeclared (first use in this function)
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KCL_TestAndClearPageDirtyFlag’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:2542: error: ‘NOPAGE_SIGBUS’ undeclared (first use in this function)
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘__ke_unregister_ioctl32_conversion’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:2972: warning: ‘return’ with a value, in function returning void
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: At top level:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3548: error: unknown field ‘nopage’ specified in initializer
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3548: warning: initialization from incompatible pointer type
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3566: error: unknown field ‘nopage’ specified in initializer
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3566: warning: initialization from incompatible pointer type
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3573: error: unknown field ‘nopage’ specified in initializer
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3573: warning: initialization from incompatible pointer type
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3580: error: unknown field ‘nopage’ specified in initializer
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3580: warning: initialization from incompatible pointer type
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3587: error: unknown field ‘nopage’ specified in initializer
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3587: warning: initialization from incompatible pointer type
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3594: error: unknown field ‘nopage’ specified in initializer
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3594: warning: initialization from incompatible pointer type
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3601: error: unknown field ‘nopage’ specified in initializer
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3601: warning: initialization from incompatible pointer type
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3610: error: unknown field ‘nopage’ specified in initializer
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:3610: warning: initialization from incompatible pointer type
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c: In function ‘KAS_SlabCache_Initialize’:
    /var/lib/dkms/fglrx/8.476/build/firegl_public.c:5219: warning: cast from pointer to integer of different size
    make[2]: *** [/var/lib/dkms/fglrx/8.476/build/firegl_public.o] Error 1
    make[1]: *** [_module_/var/lib/dkms/fglrx/8.476/build] Error 2
    make[1]: Leaving directory `/home/jarkko/linux-2.6'
    make: *** [kmod_build] Error 2

  10. #10
    Join Date
    Oct 2007
    Location
    Ontario, Canada
    Posts
    9

    Default

    Quote Originally Posted by jjjj View Post
    Here's what you get with 2.6.26-rc1
    <snip>
    Try this patch - I just threw it together now for 2.6.25-mm so it might help. It's for the catalyst 8.6 release.

    http://dev.archlinux.org/~travis/firegl_public.patch

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •