Page 16 of 22 FirstFirst ... 61415161718 ... LastLast
Results 151 to 160 of 217

Thread: AMD Releases Catalyst 9.6 For Linux

  1. #151
    Join Date
    Mar 2009
    Posts
    51

    Default

    Quote Originally Posted by RealNC View Post
    I suppose AMD doesn't intent to give us a "hotfix" with new kernel support like they do with Windows.
    Why not, for Arch Linux, since we are a rolling release, you get the latest fixes, so we can slip it in in an update. For Ubuntu and the others the hotfix can be provided by SP1. LOL

  2. #152
    Join Date
    Apr 2009
    Posts
    565

    Thumbs down

    Quote Originally Posted by djdoo View Post
    Wow guys I am really happy about this release!!

    At LAST Hybrid Crossfire worked for me!!! Hurray!!

    And I see no garbage at my screen when the PC shuts down!!

    I recommend all of you to upgrade to this driver 9.6!
    Wow! (BTW, are you the same djdoo from the compiz-fusion forums?)

    This is awesome, how did you get the hybrid Crossfire set up? From the amdcccle GUI? If you posted a mini-howto or blog somewhere I'd love to take a look. I have an HD 3200 IGP, and I am planning to buy a dedicated ATI card to work in hybrid mode later this year.

    Thanks in advance!

  3. #153

    Default

    Quote Originally Posted by bridgman View Post
    Thanks, kensai. There were reports of a stream of kernel error messages when using one of these patches (but that might have been a KCL patch rather than kernel patch). Did you see anything like that ?

    The errors come from the binary blob. This can only be fixed by the ATI/AMD devs.

    the patch to get the source compile with 2.6.30:
    Code:
    diff -Nru fglrx-orig/build_mod/drm_os_linux.h fglrx/build_mod/drm_os_linux.h
    --- fglrx-orig/build_mod/drm_os_linux.h	2009-05-30 01:21:53.000000000 +0200
    +++ fglrx/build_mod/drm_os_linux.h	2009-06-17 14:08:22.000000000 +0200
    @@ -42,7 +42,7 @@
     #define DRM_IRQ_ARGS		int irq, void *arg, struct pt_regs *regs
     /** backwards compatibility with old irq return values */
     #ifndef IRQ_HANDLED
    -typedef void irqreturn_t;
    +//typedef void irqreturn_t;
     #define IRQ_HANDLED   /* nothing */
     #define IRQ_NONE      /* nothing */
     #endif
    diff -Nru fglrx-orig/build_mod/firegl_public.c fglrx/build_mod/firegl_public.c
    --- fglrx-orig/build_mod/firegl_public.c	2009-05-30 01:21:53.000000000 +0200
    +++ fglrx/build_mod/firegl_public.c	2009-06-17 15:21:09.000000000 +0200
    @@ -282,6 +282,18 @@
     
     // ============================================================
     /* global structures */
    +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)
    +#undef pci_enable_msi
    +int pci_enable_msi(struct pci_dev* dev)
    +{
    +	int status;
    +
    +	status = pci_enable_msi_block(dev, 1);
    +
    +	return status;
    +}
    +#endif //LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29)
    +
     int ip_firegl_open(struct inode* inode, struct file* filp)
     {
         int m;
    @@ -1226,8 +1238,6 @@
      */
     int ATI_API_CALL KCL_SetPageCache_Array(unsigned long *pt, int pages, int enable)
     {
    -    unsigned int i;
    -    int ret = 0;
     #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
         if (enable)
         {
    @@ -1238,6 +1248,8 @@
             return set_memory_array_uc(pt, pages);
         }  
     #else               
    +    unsigned int i;
    +    int ret = 0;
         for( i = 0; i < pages; i++ )
         {
             ret = KCL_SetPageCache((void *)pt[i], 1, enable);
    @@ -1448,7 +1460,11 @@
      */
     KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void)
     {
    +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
    +    return current->cred->euid;
    +#else
         return current->euid;
    +#endif
     }
     
     /** /brief Delay execution for the specified number of microseconds
    @@ -1820,15 +1836,28 @@
      */
     void ATI_API_CALL KCL_PosixSecurityCapSetIPCLock(unsigned int lock)
     {
    +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
    +    struct cred *new = prepare_creds();
    +    if (!new) {
    +        printk(KERN_ERR "fglrx: could not allocate memory\n");
    +        return;
    +    }
    +#else
    +#define new current
    +#endif
         if (lock == 0 )
         {
    -        cap_lower(current->cap_effective, CAP_IPC_LOCK);
    +	cap_lower(new->cap_effective, CAP_IPC_LOCK);
         }
         else
         {
    -        cap_raise(current->cap_effective, CAP_IPC_LOCK);
    -    }    
    -    return; 
    +	cap_raise(new->cap_effective, CAP_IPC_LOCK);
    +    }
    +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
    +    commit_creds(new);
    +#else
    +#undef new
    +#endif
     }
     
     /** \brief Get number of available RAM pages
    diff -Nru fglrx-orig/build_mod/firegl_public.h fglrx/build_mod/firegl_public.h
    --- fglrx-orig/build_mod/firegl_public.h	2009-05-30 01:21:53.000000000 +0200
    +++ fglrx/build_mod/firegl_public.h	2009-06-17 14:11:15.000000000 +0200
    @@ -18,6 +18,7 @@
     #define _FIREGL_PUBLIC_H_
     
     #include <stdarg.h>
    +#include <asm/pgtable.h>
     #include "kcl_pci.h"
     #include "kcl_io.h"
     
    @@ -600,6 +601,11 @@
     #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
     #endif
     
    +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
    +#undef pgprot_writecombine
    +#undef pgprot_noncached
    +#endif#
    +
     #ifndef pgprot_writecombine
     #define pgprot_writecombine(prot) __pgprot((pgprot_val(prot) & ~(_PAGE_PCD)) | _PAGE_PWT)
     #endif
    diff -Nru fglrx-orig/build_mod/kcl_acpi.c fglrx/build_mod/kcl_acpi.c
    --- fglrx-orig/build_mod/kcl_acpi.c	2009-05-30 01:21:53.000000000 +0200
    +++ fglrx/build_mod/kcl_acpi.c	2009-06-17 14:33:21.000000000 +0200
    @@ -18,6 +18,12 @@
     #include <linux/autoconf.h>
     #include <linux/acpi.h>
     
    +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
    +#include <../drivers/acpi/acpica/acconfig.h>
    +#include <../drivers/acpi/acpica/aclocal.h>
    +#include <../drivers/acpi/acpica/acobject.h>
    +#endif
    +
     #include "kcl_config.h"
     #include "kcl_type.h"
     #include "kcl_acpi.h"
    Changes on the linux source aren't necessary.

  4. #154
    Join Date
    Aug 2007
    Posts
    6,646

    Default

    Did not try your patch yet, but how do you get rid of flush_tlb_page which is in the binary part?

  5. #155
    Join Date
    Jul 2008
    Location
    Greece
    Posts
    3,801

    Default

    Kindly ask AMD for an fglrx build with the debug symbol still in :P

  6. #156

    Default

    Quote Originally Posted by Kano View Post
    Did not try your patch yet, but how do you get rid of flush_tlb_page which is in the binary part?
    Not sure, but either it's because auf my kernel config (had the same issue with nvidia some time ago) or flush_tlb_page ist x86 specific und doesn't occour on x86_64.
    But I think we should be able to create flush_tlb_page in the fglrx sources as I've done with pci_enable_msi, if necessary.

    edit:
    It's the config (I'm not using SMP here) and also flush_tlb_page is only called in firegl_public.c
    Last edited by PuckPoltergeist; 06-17-2009 at 09:18 PM.

  7. #157
    Join Date
    May 2009
    Posts
    73

    Default Wow 9.6 already I bailed out after 9.4

    Open source is great, open source drivers are great. But when you pay over 500 bucks for what you think is the best high end card at the time 4870 X2 and the proprietary drivers are crap it kind of makes you want to never buy ATI again. I bought the 4870 x 2 so I could play the new GTA game. It was unplayable with the settings set below half. The previous
    GTA looked better at this point and played smoother. At first I blamed Vista. Then I dumped Windows and Learned Linux then I dumped the ATI card and bought a mid range Nvidia card and am now playing games Google Earth works great in Jaunty as well.
    Lessons learned Windows sucks, ATI's drivers suck!
    P.S no I'm not playing GTA in Linux
    Linux Games Publishing has some great games now ported to Linux and they run great!!

  8. #158
    Join Date
    Jun 2006
    Posts
    311

    Default

    Quote Originally Posted by hpestilence View Post
    In current wine-git + catalyst 9.6 eve-online is working perfectly without patches, probably a lot of other shader model 3 games too.
    Yes. That wasn't actually a driver fix, but a wine fix.

    http://ati.cchtml.com/show_bug.cgi?id=1575

    The problem when most developers only have one brand of card is that they assume that the implementation is correct and begin to assume that the way the majority driver is implemented is the right way.

    I am not saying any driver does not have bugs, but a monoculture isn't healthy either.

    Regards,

    Matthew

  9. #159
    Join Date
    Feb 2009
    Posts
    23

    Default

    Quote Originally Posted by mtippett View Post
    Yes. That wasn't actually a driver fix, but a wine fix.

    http://ati.cchtml.com/show_bug.cgi?id=1575

    The problem when most developers only have one brand of card is that they assume that the implementation is correct and begin to assume that the way the majority driver is implemented is the right way.

    I am not saying any driver does not have bugs, but a monoculture isn't healthy either.

    Regards,

    Matthew
    Actually it was this bug that was mostly the problem.

    http://ati.cchtml.com/show_bug.cgi?id=1462

    Once it was fixed Henri was quick to fix a wine bug in which a shader used 15 vec4 varyings + gl_FrontColor and gl_FrontSecondaryColor.

    The describeDrawable wine bug was only hit if you ran WINEDEBUG=wgl along with wine.

  10. #160
    Join Date
    Jun 2006
    Posts
    311

    Default

    Quote Originally Posted by hpestilence View Post
    Actually it was this bug that was mostly the problem.

    http://ati.cchtml.com/show_bug.cgi?id=1462

    Once it was fixed Henri was quick to fix a wine bug in which a shader used 15 vec4 varyings + gl_FrontColor and gl_FrontSecondaryColor.

    The describeDrawable wine bug was only hit if you ran WINEDEBUG=wgl along with wine.
    Okay my bad.

    Note to others: If you find a bug, making a reproducable reduced test-case really helps. Also note the delay between engagement and release.

    Matt

Tags for this Thread

Posting Permissions

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