Page 1 of 11 123 ... LastLast
Results 1 to 10 of 104

Thread: AMD 8.40.4 Driver -- One Bug A Day Keeps AIGLX Away

  1. #1

    Default AMD 8.40.4 Driver -- One Bug A Day Keeps AIGLX Away

    AMD 8.40.4 Driver Released -- One Bug A Day Keeps AIGLX Away

    First off, congratulations to Yoshi with the extremely creative Phoronix codename for this release. The fglrx 8.40 driver (a.k.a. "One Bug A Day Keeps AIGLX Away") has been released but with not much changes. There is now a 64-bit AMDCCCLE, some TV-out options, and a couple of bug fixes. But there isn't much more beyond that.

    I guess the good news coming out of this is that you now have a better idea when the new driver will come now that another month has passed... 8.41, 8.42, 8.43, or 8.44.

    As always, the Phoronix review: http://www.phoronix.com/vr.php?view=10789

    Quote Originally Posted by Phoronix
    Last month marked the introduction of Fedora 7 support with the fglrx 8.39.4 ATI/AMD driver but not much more than that was to be found aside from an undocumented XML file. This driver did also present watermark problems that led to the driver being recalled and a corrected driver being pushed out. Today the fglrx 8.40.4 driver has been released and while many had speculated the 8.40 series would mark the introduction of the new Linux driver code-base, that's not the case for 8.40.4 driver. What changes does the 8.40.4 driver hold in store for Linux users? We'll tell you today but there isn't much.

  2. #2
    Join Date
    Jan 2007
    Location
    Germany
    Posts
    2,138

    Default

    The title really is the best I have read, great work

    Let's wait for the same shit release called 8.41. If you ask me, you should open another new thread once it gets nearer in September and I want all people to write bad names for the upcoming driver so AMD that seems to do nothing can see what we think about them.

    # edit:

    And now to the driver: for some reason I was able to install the 64bit build on my 32bit system and it works hehe and another thing is that you can start the Xserver with Composite and AIGLX etc. options enabled that's no problem now but it still doesn't support AIGLX.
    Last edited by d2kx; 08-13-2007 at 01:39 PM.

  3. #3
    Join Date
    Feb 2007
    Posts
    83

    Default

    Order parts for my new system last week (still waiting for them)...was seriously considering getting a ati based GFX because of all the expectations that were on this driver....thank god I stuck with nvidia, phew!

  4. #4

    Default

    Quote Originally Posted by conholster View Post
    Order parts for my new system last week (still waiting for them)...was seriously considering getting a ati based GFX because of all the expectations that were on this driver....thank god I stuck with nvidia, phew!
    The new driver isn't out yet till later this year.

  5. #5
    Join Date
    Feb 2007
    Posts
    83

    Default

    Quote Originally Posted by Michael View Post
    The new driver isn't out yet till later this year.
    I dont like waiting

  6. #6
    Join Date
    May 2007
    Posts
    44

    Default

    am I the only one who doesn't appear to be able to dowload this one? i don't see it on amd.com.

    anyhow, not that the api chasing would be worth it on my .23-rc3 but hey.

    old codebase/new codebase I wonder if my apathy is justified.

  7. #7

    Default

    The site is still being updated.

    The download location is mentioned @ http://phoronix.com/forums/showthread.php?t=4691

  8. #8
    Join Date
    Sep 2006
    Posts
    210

    Default

    Here's a bandaid patch to get the module to compile against 2.6.23-rc3. Works here so far (i386 non PAE)

    The CCC still won't run on my XCB-enabled system

    Code:
    --- firegl_public.c.orig	2007-08-10 23:59:21.000000000 +0200
    +++ firegl_public.c	2007-08-13 20:00:26.000000000 +0200
    @@ -214,6 +214,56 @@
     #define preempt_enable()
     #endif
     
    +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,22)
    +#if defined(__i386__)
    +#define ptep_test_and_clear_dirty(vma, addr, ptep) ({                  \
    +       int __ret = 0;                                                  \
    +       if (pte_dirty(*(ptep)))                                         \
    +               __ret = test_and_clear_bit(_PAGE_BIT_DIRTY,             \
    +                                               &(ptep)->pte_low);      \
    +       if (__ret)                                                      \
    +               pte_update((vma)->vm_mm, addr, ptep);                   \
    +       __ret;                                                          \
    +})
    +
    +static inline int pte_read(pte_t pte)	{ return (pte).pte_low & _PAGE_USER; }
    +static inline int pte_user(pte_t pte)	{ return (pte).pte_low & _PAGE_USER; }
    +#ifdef CONFIG_X86_PAE
    +/*
    + * Is the pte executable?
    + */
    +static inline int pte_x(pte_t pte)
    +{
    +        return !(pte_val(pte) & _PAGE_NX);
    +}
    + 
    +/*
    + * All present user-pages with !NX bit are user-executable:
    + */
    +static inline int pte_exec(pte_t pte)
    +{
    +        return pte_user(pte) && pte_x(pte);
    +}
    +#else
    +static inline int pte_exec(pte_t pte)
    +{
    +        return pte_user(pte);
    +}
    +#endif	/* PAE */
    +
    +#elif defined(__x86_64__)
    +static inline int ptep_test_and_clear_dirty(struct vm_area_struct *vma,
    +					unsigned long addr, pte_t *ptep)
    +{
    +	if (!pte_dirty(*ptep))
    +		return 0;
    +	return test_and_clear_bit(_PAGE_BIT_DIRTY, &ptep->pte);
    +}
    +static inline int pte_read(pte_t pte)	{ return pte_val(pte) & _PAGE_USER; }
    +static inline int pte_exec(pte_t pte)	{ return !(pte_val(pte) & _PAGE_NX); }
    +#endif
    +#endif
    +
     // ============================================================
     /* globals */
     
    @@ -2356,7 +2406,7 @@ void ATI_API_CALL __ke_put_vm_page_table
     #ifndef ptep_clear_flush_dirty
     #define ptep_clear_flush_dirty(__vma, __address, __ptep) \
     ({							 \
    -    int __dirty = ptep_test_and_clear_dirty(__ptep);	 \
    +    int __dirty = ptep_test_and_clear_dirty(__vma, __address, __ptep);	 \
         if (__dirty)					 \
             flush_tlb_page(__vma, __address);		 \
         __dirty;						 \
    @@ -5303,7 +5353,7 @@ unsigned int ATI_API_CALL KAS_Spinlock_R
     /** \brief Type definition of the structure describing Slab Cache object */
     typedef struct tag_kasSlabCache_t
     {
    -    kmem_cache_t* cache;        /* OS slab cache object */
    +    struct kmem_cache *cache;	/* OS slab cache object */
         spinlock_t lock;            /* OS spinlock object protecting the cache */
         unsigned int routine_type;  /* Type of routine the cache might be accessed from */
         char name[14];              /* Cache object name (kernel 2.4 restricts its length to 19 chars) */
    @@ -5349,7 +5399,7 @@ unsigned int ATI_API_CALL KAS_SlabCache_
         DBG_TRACE("creating slab object '%s'", slabcache_obj->name);
     
         if ((slabcache_obj->cache =
    -            kmem_cache_create(slabcache_obj->name, iEntrySize, 0, 0, NULL, NULL)))
    +            kmem_cache_create(slabcache_obj->name, iEntrySize, 0, 0, NULL)))
         {
             ret = 1;
         }
    Last edited by mlau; 08-13-2007 at 02:28 PM.

  9. #9
    Join Date
    Jan 2007
    Location
    Germany
    Posts
    2,138

    Default

    fglrx 8.40.4 releae notes are still not uploaded at the AMD.com server and the driver itself is not avaible there... hehe.

  10. #10
    Join Date
    Dec 2006
    Posts
    222

    Default

    Xv? Or am i hoping for to much?

Posting Permissions

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