Page 5 of 15 FirstFirst ... 34567 ... LastLast
Results 41 to 50 of 148

Thread: AMD Catalyst 9.7 For Linux Released

  1. #41
    Join Date
    Oct 2007
    Posts
    912

    Default

    I've not tried the latest drivers yet (might plug away at an ebuild tonight) but I notice that the windows version contains some additional opengl support (EXT_provoking_vertex and EXT_vertex_array_bgra) - anyone know if this is also in the linux version (I would suspect so, given they moved to a common opengl base), and if anything else new is listed?

  2. #42
    Join Date
    Dec 2007
    Location
    Germany
    Posts
    365

    Default

    Just downloading the driver (90 Mb, c'mon), did anyone try out the Compiz blur plugin with this driver, yet?

    Also, does xinit xterm -- :2 work finally? This one keeps segfaulting for me everytime I try it...

    Another issue I was having with > 9.2 was that I could alt+tab out of games (which support that feature), but then everything would just be overdrawn by the game graphics (i.e. same visual result as if alt+tab would not work), although everything was working as if the game was really minimized.

  3. #43
    Join Date
    Mar 2009
    Posts
    51

    Default

    Quote Originally Posted by xeizo View Post
    Eventually I will switch back to ATI when drivers are more mature, but for now I'm looking forward to investigating the very fullfeatured 190.18 Nvidia-drivers
    So sad, then we won't see you again in ATI camp, you honestly think they will mature?

    Every nvidia driver is full of many new features anticipated by many, almost every ATI driver has no new features and very poor bug fixes.

  4. #44
    Join Date
    Jan 2009
    Posts
    515

    Default

    Quote Originally Posted by Hasenpfote View Post
    Is Team Fortress 2 working?
    Sorry I don't have TF2 But source games run.

  5. #45
    Join Date
    May 2009
    Posts
    49

    Default

    I think that most of you are missing the strategy....

    Catalyst should and probably WILL be discontinued as far as end users go. It will probably be maintained *enough* for some of their embedded clients/other weird proprietary configurations/etc. For end users, it WILL be replaced by the open source driver (as it has been already for everything up to and including R500).

    With the condition of the open source support for R600/R700, I *really* doubt that there will be any major new features added to fglrx. The beginnings of usable 3D in open source will hopefully happen within the next few weeks.


    And for everybody complaining about how bad fglrx is compared to nvidia... I remember (not too long ago) having a regression SO BAD that their driver was absolutely and completely unusable. It started with the first beta 165.xx version and it lasted for the better part of a YEAR. The result of this bug was that DPMS/mode switching would put the GPU into a really nice "limbo" state that required a radical reboot. Combine that with the poor manufacturing quality for 8000 models and higher (you know, the one where the temperature fluctuations will cause the GPU to flex and ultimately self destruct), and I'm afraid that the last nvidia I have and most likely will EVER own is my 7800 (which I've been meaning to yank for several months, but house construction has interfered).

  6. #46
    Join Date
    Jul 2009
    Posts
    9

    Default

    Is Team Fortress 2 working?
    Wine
    TF2 runs, kind of. Enabling multicore doesn't work and it is crash prone.

    L4D runs, but flashlight doesn't work and mat_hdr_level 0 is well, not an option :P. Enabling multicore makes it extremely dark.

    Cedega
    TF2 doesn't work with DX9, only DX8.1.

    L4D doesn't run at all.

    Edit: With hd4850 catalyst 9.7, Wine 1.1.26, Cedega 7.3.1
    Last edited by McDuck; 07-24-2009 at 09:39 AM.

  7. #47
    Join Date
    Jan 2007
    Location
    Germany
    Posts
    2,123

    Default

    Seriously, I think Cedega is a mess.

  8. #48
    Join Date
    Mar 2008
    Posts
    573

    Default

    I'm quite sure fglrx source code is so dirty and messed up that it is the team itself that has serious problems adding new features to the driver, or even actually fixing bugs without generating 200 new ones.

    Fglrx is a lost case, and now that they are writing an oss driver fglrx is more obsolete than Windows 3.1 . Maybe phoronix should even just stop publishing articles of fglrx since it's funny to read them.


    "but there are some bug-fixes too."

    more than saying lol to that I'm not sure what else one could say
    Last edited by bulletxt; 07-24-2009 at 09:55 AM.

  9. #49
    Join Date
    Jul 2009
    Posts
    9

    Default

    Quote Originally Posted by d2kx View Post
    Seriously, I think Cedega is a mess.
    Sure it is, agreed. But those games does work with nvidia and cedega.
    Afaik the games runs without major problems with nvidia&wine aswell.

  10. #50

    Default

    the gentoo-patches, adapted for catalyst-9.7:

    2.6.29-cat9.7.patch
    Code:
    diff -Nparu catalyst-9.7/common/lib/modules/fglrx/build_mod/firegl_public.c catalyst-9.7-2.6.29/common/lib/modules/fglrx/build_mod/firegl_public.c
    --- catalyst-9.7/common/lib/modules/fglrx/build_mod/firegl_public.c     2009-07-11 01:02:14.000000000 +0200
    +++ catalyst-9.7-2.6.29/common/lib/modules/fglrx/build_mod/firegl_public.c      2009-07-24 15:51:30.946052492 +0200
    @@ -1448,7 +1448,11 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(vo
      */
     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 +1824,30 @@ int ATI_API_CALL KCL_PosixSecurityCapChe
      */
     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);
    +        cap_raise(new->cap_effective, CAP_IPC_LOCK);
         }
    -    return;
    +
    +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
    +    commit_creds(new);
    +#else
    +#undef new
    +#endif
     }
    
     /** \brief Get number of available RAM pages
    diff -Nparu catalyst-9.7/common/lib/modules/fglrx/build_mod/firegl_public.h catalyst-9.7-2.6.29/common/lib/modules/fglrx/build_mod/firegl_public.h
    --- catalyst-9.7/common/lib/modules/fglrx/build_mod/firegl_public.h     2009-07-11 01:02:14.000000000 +0200
    +++ catalyst-9.7-2.6.29/common/lib/modules/fglrx/build_mod/firegl_public.h      2009-07-24 15:51:30.946052492 +0200
    @@ -18,6 +18,7 @@
     #define _FIREGL_PUBLIC_H_
    
     #include <stdarg.h>
    +#include <asm/pgtable.h>
     #include "kcl_pci.h"
     #include "kcl_io.h"
    
    @@ -603,6 +604,11 @@ extern unsigned long        KCL_SYSINFO_
     #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
    @@ -611,6 +617,7 @@ extern unsigned long        KCL_SYSINFO_
     #define pgprot_noncached(prot) __pgprot(pgprot_val(prot) | _PAGE_PCD | _PAGE_PWT)
     #endif
    
    +
     #endif //FIREGL_USWC_SUPPORT
    
    
    diff -Nparu catalyst-9.7/common/lib/modules/fglrx/build_mod/kcl_acpi.c catalyst-9.7-2.6.29/common/lib/modules/fglrx/build_mod/kcl_acpi.c
    --- catalyst-9.7/common/lib/modules/fglrx/build_mod/kcl_acpi.c  2009-07-11 01:02:14.000000000 +0200
    +++ catalyst-9.7-2.6.29/common/lib/modules/fglrx/build_mod/kcl_acpi.c   2009-07-24 15:51:30.946052492 +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"
    2.6.30-enable_msi-cat9.7.patch
    Code:
    diff -Nparu catalyst-9.7-2.6.29/common/lib/modules/fglrx/build_mod/kcl_pci.c catalyst-9.7-2.6.30-enable_msi/common/lib/modules/fglrx/build_mod/kcl_pci.c
    --- catalyst-9.7-2.6.29/common/lib/modules/fglrx/build_mod/kcl_pci.c    2009-07-11 01:02:14.000000000 +0200
    +++ catalyst-9.7-2.6.30-enable_msi/common/lib/modules/fglrx/build_mod/kcl_pci.c 2009-07-24 15:55:04.586051435 +0200
    @@ -310,3 +310,9 @@ void ATI_API_CALL KCL_PCI_FreeDmaCoheren
     }
     #endif //__x86_64__
    
    +#undef pci_enable_msi
    +int pci_enable_msi(struct pci_dev *pdev)
    +{
    +    return pci_enable_msi_block(pdev, 1);
    +}
    +
    2.6.30-irqreturn_t-cat9.7.patch
    Code:
    diff -Nparu catalyst-9.7-2.6.30-enable_msi/common/lib/modules/fglrx/build_mod/drm_os_linux.h catalyst-9.7-2.6.30-irqreturn_t/common/lib/modules/fglrx/build_mod/drm_os_linux.h
    --- catalyst-9.7-2.6.30-enable_msi/common/lib/modules/fglrx/build_mod/drm_os_linux.h    2009-07-11 01:02:14.000000000 +0200
    +++ catalyst-9.7-2.6.30-irqreturn_t/common/lib/modules/fglrx/build_mod/drm_os_linux.h   2009-07-24 16:01:19.354051852 +0200
    @@ -42,10 +42,12 @@
     #define DRM_IRQ_ARGS           int irq, void *arg, struct pt_regs *regs
     /** backwards compatibility with old irq return values */
     #ifndef IRQ_HANDLED
    +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
     typedef void irqreturn_t;
     #define IRQ_HANDLED   /* nothing */
     #define IRQ_NONE      /* nothing */
     #endif
    +#endif
    
     /** AGP types */
     #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,70)
    2.6.30-rt_compat-9.7.patch
    Code:
    diff -Nparu catalyst-9.7-2.6.30-irqreturn_t/common/lib/modules/fglrx/build_mod/firegl_public.c catalyst-9.7-2.6.30-rt_compat/common/lib/modules/fglrx/build_mod/firegl_public.c
    --- catalyst-9.7-2.6.30-irqreturn_t/common/lib/modules/fglrx/build_mod/firegl_public.c  2009-07-24 15:51:30.946052492 +0200
    +++ catalyst-9.7-2.6.30-rt_compat/common/lib/modules/fglrx/build_mod/firegl_public.c    2009-07-24 16:04:37.254053559 +0200
    @@ -1284,8 +1284,12 @@ unsigned int ATI_API_CALL KCL_ProcessIsT
        struct task_struct *p;
        int process_terminated = 1;
    
    -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
    +#if !defined(CONFIG_PREEMPT_RT)
        rcu_read_lock();
    +#else
    +   preempt_disable();
    +#endif
     #else
        read_lock(&tasklist_lock);
     #endif
    @@ -1306,7 +1310,11 @@ unsigned int ATI_API_CALL KCL_ProcessIsT
           }
        }
     #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
    +#if !defined(CONFIG_PREEMPT_RT)
        rcu_read_unlock();
    +#else
    +   preempt_disable();
    +#endif
     #else
        read_unlock(&tasklist_lock);
     #endif
    2.6.30-tlb_flush-cat9.7.patch
    Code:
    diff -Nparu catalyst-9.7-2.6.30-rt_compat/common/lib/modules/fglrx/build_mod/firegl_public.c catalyst-9.7-2.6.30-tlb_flush/common/lib/modules/fglrx/build_mod/firegl_public.c
    --- catalyst-9.7-2.6.30-rt_compat/common/lib/modules/fglrx/build_mod/firegl_public.c    2009-07-24 16:04:37.254053559 +0200
    +++ catalyst-9.7-2.6.30-tlb_flush/common/lib/modules/fglrx/build_mod/firegl_public.c    2009-07-24 16:08:07.778051481 +0200
    @@ -2342,7 +2342,7 @@ void ATI_API_CALL KCL_flush_tlb_onepage(
      * kernel <  2.6.27, on_each_cpu has 4 parameters.
      * kernel >= 2.6.27, on_each_cpu has 3 parameters (removed the "retry" parameter)
      */
    -#if defined(__x86_64__) && (defined(__SMP__) || defined(CONFIG_SMP)) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
    +#if defined(CONFIG_SMP) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
     #   if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27))
             on_each_cpu(KCL_flush_tlb_one, &va, 1, 1);
     #   else

Posting Permissions

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