ATI V5600 on openSUSE 11.0 x64 working.

Recently build a new machine (Dual Quad Core Opteron 2354) with ATI V5600 Video Card.

Here a few steps that might help to make things work:

  • Run ./ati-driver-installer-8-5-x86.x86_64.run --extract <dir> to extract all the files in the installer.
  • Did a grep for “flush_tlb_page” and found it in:common/lib/modules/fglrx/build_mod/firegl_public.c around line 2591:

void ATI_API_CALL KCL_flush_tlb_onepage(struct vm_area_struct * vma, unsigned long va)
{
/Some kernel developer removed the export of symbol “flush_tlb_page” on 2.6.25 x86_64 SMP kernel.
Define a simple version here.
/
#if defined(x86_64) && defined(SMP) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
on_each_cpu(KCL_flush_tlb_one, &va, 1, 1);
#else
flush_tlb_page(vma, va);
#endif
}

  • For some reason the call already should have been replaced by the conditional:
    #if defined(x86_64) && defined(SMP) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
    But obviously was not.
  • Changed the code like:
    void ATI_API_CALL KCL_flush_tlb_onepage(struct vm_area_struct * vma, unsigned long va)
    {
    /Some kernel developer removed the export of symbol “flush_tlb_page” on 2.6.25 x86_64 SMP kernel.
    Define a simple version here.
    /
    //#if defined(x86_64) && defined(SMP) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
    on_each_cpu(KCL_flush_tlb_one, &va, 1, 1);
    //#else
    // flush_tlb_page(vma, va);
    //#endif
    }
  • Made sure there was no old fglrx.ko sitting (such as in /lib/modules/2.6.25.5-1.1-default/extra/): (# find / -name fglrx.ko -print) and renamed that one to fglrx.ko-
    • Went into ati-driver-installer-8-5-x86.x86_64.run to see what it does and created ati.sh with that information:
      ati.sh:
      label=“ATI Proprietary Linux Driver-8.493.1”
      drv_release=echo $label | cut -d'-' -f2
      ./ati-installer.sh $drv_release --install
  • Run ati.sh from the <dir> created by the extraction of the installer.
  • Checked /usr/share/ati/fglrx-install.log and now the kernel module loaded normally.
  • Rebooted the system.
  • Activated “Desktop Effects”