Announcement

Collapse
No announcement yet.

AMD Catalyst 9.7 For Linux Released

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #46
    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, 09:39 AM.

    Comment


    • #47
      Seriously, I think Cedega is a mess.

      Comment


      • #48
        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, 09:55 AM.

        Comment


        • #49
          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.

          Comment


          • #50
            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

            Comment


            • #51
              Originally posted by tball View Post
              I actually like this release very much.
              The slow xv in window-mode is fixed :-)
              No it isn't. It's still very sluggish with compositing enabled (kwin).

              Comment


              • #52
                Originally posted by rafi View Post
                I don't know what you mean by delays, but if it is resizing, then yes, resizing vlc is a bit slow (like "6 fps"). On the other hand maximizing is quite good (don't have to wait 5 second to have the image).

                There is a funny bug with this driver. When you move the player window on the left of the screen, if the video is not entirely displayed, the image become blurry. I don't have this problem on the other edges (top, bottom and right are ok).
                Do you experience this same problem with SMPlayer? From my experiences VLC is noticeably slower than any MPlayer based player. I tried using VLC 0.9.7 - 0.9.9. Gnome-MPlayer was always faster when resizing windows with compositing turned on.

                Comment


                • #53
                  Fglrx is a mess. It needs to be thrown to the bottom a scrap heap as a failure. I don't think it is the fglrx driver team's fault. I'm not going to sit here and call someone's work crap without knowing what goes on behind the scenes. I feel that AMD/ATI doesn't allocate the appropriate amount or resources to the Linux driver team. It is a left over remnant from ATI. When AMD acquired them they decided to open source stuff finally and not bother allocating more resources to fglrx. I have a feeling that it will eventually disappear.

                  I don't know why they even bother with the monthly releases. I haven't seen a change since Catalyst 9.4 or 5. Notice that Phoronix didn't even bother to post something about 9.7 being released. I have a problem since Catalyst 9.4 was released. I can use my computer for a day or two and I will be in the middle of doing something and then whatever window is in focus suddenly becomes unusable. Then whatever is in either the top or bottom half of the window duplicates itself inside that window. Once this starts the GUI becomes useless. I have to switch to a tty terminal and restart from there. Just tried 9.7 last night and the same problem still exists, matter of fact it seems to happen more often.

                  So what do I do? Go report a bug to http://ati.cchtml.com/. Then what, is someone going to actually grab a PC put a Radeon 3850 in it and then install Kubuntu to test what I claim? I doubt it. Instead I'll just hear some excuse as to such and such causing the problem and it's not the driver's fault. Whatever. I give up on fglrx. I'm not even going to bother installing the next release. I'll just wait for Karmic to get released which is rumored to use the latest HD Radeon driver by default.

                  Comment


                  • #54
                    Ooops, missed it. Here's a short blurb. http://www.phoronix.com/scan.php?pag...item&px=NzQwNA

                    Comment


                    • #55
                      Originally posted by Joe Sixpack View Post
                      Do you experience this same problem with SMPlayer? From my experiences VLC is noticeably slower than any MPlayer based player. I tried using VLC 0.9.7 - 0.9.9. Gnome-MPlayer was always faster when resizing windows with compositing turned on.
                      There is no real difference, resizing VLC is as slow as resizing SMPlayer.
                      Actually, resizing is slow, even resizing Thunar is slow. I compared with the catalyst 9.1 on my x1600 mobility, and resizing Thunar is much smoother.

                      Comment


                      • #56
                        Originally posted by skywarp04 View Post
                        Fglrx is a mess. It needs to be thrown to the bottom a scrap heap as a failure. I don't think it is the fglrx driver team's fault. I'm not going to sit here and call someone's work crap without knowing what goes on behind the scenes. I feel that AMD/ATI doesn't allocate the appropriate amount or resources to the Linux driver team. It is a left over remnant from ATI. When AMD acquired them they decided to open source stuff finally and not bother allocating more resources to fglrx. I have a feeling that it will eventually disappear.
                        The fglrx driver is primarily written for the professional workstation market (CAD etc..), which is the main market for Linux graphics right now. It is unlikely that the open source drivers will ever be able to replace fglrx in that segment.

                        The open source driver, on the other hand, is aimed primarily at the consumer and enterprise client market, and is intended to allow distros to tailor the out-of-box experience for users who are installing Linux on a system which was not configured and shipped with Linux by the HW vendor.

                        In between those two segments you have OEM systems which are designed with Linux support in mind, and then configured/shipped from the factory with Linux pre-installed. Again, fglrx is a great fit there.

                        Originally posted by skywarp04 View Post
                        I don't know why they even bother with the monthly releases. I haven't seen a change since Catalyst 9.4 or 5. Notice that Phoronix didn't even bother to post something about 9.7 being released. I have a problem since Catalyst 9.4 was released. I can use my computer for a day or two and I will be in the middle of doing something and then whatever window is in focus suddenly becomes unusable. Then whatever is in either the top or bottom half of the window duplicates itself inside that window. Once this starts the GUI becomes useless. I have to switch to a tty terminal and restart from there. Just tried 9.7 last night and the same problem still exists, matter of fact it seems to happen more often.
                        I don't think we have seen a report on this or observed it in our testing. Are you seeing signs of a memory leak ?

                        Originally posted by skywarp04 View Post
                        So what do I do? Go report a bug to http://ati.cchtml.com/. Then what, is someone going to actually grab a PC put a Radeon 3850 in it and then install Kubuntu to test what I claim? I doubt it.
                        The purpose of the ati.cchtml.com tracker is to collect and organize enough information that a developer will be able to reproduce the problem in house. For the problem you are describing we would need more information than just "3850" and "Kubuntu", of course, eg which applications we should be running to make the problem appear.

                        Originally posted by skywarp04 View Post
                        Instead I'll just hear some excuse as to such and such causing the problem and it's not the driver's fault. Whatever.
                        In cases where the same problem appeared at the same time with multiple vendors and multiple drivers I don't think it's fair to call that an "excuse". Your call though.

                        Originally posted by skywarp04 View Post
                        I give up on fglrx. I'm not even going to bother installing the next release. I'll just wait for Karmic to get released which is rumored to use the latest HD Radeon driver by default.
                        Jaunty also shipped with the open source drivers by default. If they do everything you want then I think everyone would agree that staying with the default drivers is your best bet.

                        Comment


                        • #57
                          Originally posted by Laughing1 View Post
                          Does this patch still work for 9.7?

                          http://www.phoronix.com/forums/showp...&postcount=153
                          Still works together with #203 for 2.6.31-rc4 (patch can handle the minor differences in the files)

                          Comment


                          • #58
                            bridgman, is there any hope to see OpenCL implemented in Linux? Brook+ seems pretty dead.

                            http://forums.amd.com/forum/messagev...hreadid=116379

                            Comment


                            • #59
                              I don't think we have seen a report on this or observed it in our testing. Are you seeing signs of a memory leak ?
                              I observed the same behavior on my computer running a 4850 on ubuntu.
                              I've seen my Xorg memory usage increase constantly so there might be a memory leak related to FGLRX but I never had the time to investigate more :/.
                              It started for me with 9.6 catalyst.

                              But I don't really care anymore, got bored with FGLRX issues... I think I'll switch back to Nvidia

                              Comment


                              • #60
                                Originally posted by A_Modest_Proposal View Post
                                this version also doesnt seem to like the current 2.6.30 patches from the gentoo bug trackers.
                                what a dissapointment.
                                I used the patches from the 9.6 ebuild - in fact all I did was renaming the ebuild - and it built and installed fine.

                                [ 72.995213] fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
                                [ 72.995217] Disabling lock debugging due to kernel taint
                                [ 73.014722] [fglrx] Maximum main memory to use for locked dma buffers: 5765 MBytes.
                                [ 73.014807] [fglrx] vendor: 1002 device: 9501 count: 1
                                [ 73.014985] [fglrx] ioport: bar 4, base 0xb000, size: 0x100
                                [ 73.014997] pci 0000:02:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
                                [ 73.015001] pci 0000:02:00.0: setting latency timer to 64
                                [ 73.015140] [fglrx] Kernel PAT support is enabled
                                [ 73.015161] [fglrx] module loaded - fglrx 8.63.2 [Jul 2 2009] with 1 minors
                                [ 73.204402] fglrx_pci 0000:02:00.0: irq 30 for MSI/MSI-X
                                [ 73.204737] [fglrx] Firegl kernel thread PID: 4056
                                [ 75.225921] [fglrx] Gart USWC size:1279 M.
                                [ 75.225924] [fglrx] Gart cacheable size:508 M.
                                [ 75.225929] [fglrx] Reserved FB block: Shared offset:0, size:1000000
                                [ 75.225931] [fglrx] Reserved FB block: Unshared offset:fbff000, size:401000
                                [ 75.225932] [fglrx] Reserved FB block: Unshared offset:1fffc000, size:4000

                                Comment

                                Working...
                                X