Announcement

Collapse
No announcement yet.

Fedora 7 fglrx

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

  • Fedora 7 fglrx

    I have begun work on the packaging scripts for Fedora 7 -- granted Test 1 isn't even out yet. The scripts should (hopefully) work with Test 1 upon release later this month, and if they do I'll commit them for next month's 8.34 fglrx driver release.


    If anyone intends to use Fedora 7 Test 1 or any other test releases, please let me know in this thread.
    Michael Larabel
    http://www.michaellarabel.com/

  • #2
    If anyone intends to use Fedora 7 Test 1 or any other test releases, please let me know in this thread.
    I'm running on rawhide (2.6.19-1.2906.fc7) kernel atm, since the FC6 kernel series doesn't support my soundcard and has some other issues...

    Trying to compile 8.33.6 or the previous releases of the package results - after adding all the symlinks to get the famous control panel compiled - in a truckload of errors in firegl_public.c:


    Generating package: Fedora/FC6
    Package build failed!
    Package build utility output:
    Building target platforms: x86_64
    Building for target x86_64
    Executing(%prep): /bin/sh -e /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/rpm-tmp.51481
    + umask 022

    [...]
    ATI module generator V 2.0
    ==========================
    initializing...
    cat: /lib/modules/2.6.19-1.2906.fc7/build/include/linux/version-*.h: No such file or directory
    OsRelease=2.6.19-1.2906.fc7


    Sidenote: I do have a version.h in that directory, but no version-*.h ...

    [..]
    major=2
    minor=6
    patch=19
    extra=-1.2906.fc7
    SMP=1
    smp=-SMP
    iii=
    AGP=1
    CC=gcc
    cc_version=
    cleaning...
    patching 'highmem.h'...
    assuming new VMA API since we do have kernel 2.6.x...
    Assuming default VMAP API
    Assuming default munmap API
    doing Makefile based build for kernel 2.6.x and higher
    make -C /lib/modules/2.6.19-1.2906.fc7/build SUBDIRS=/tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root
    /lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory `/usr/src/kernels/2.6.19-1.2906.fc7-x86_64'
    CC [M] /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_p
    ublic.o
    /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:19
    8: error: expected declaration specifiers or '...' before 'mlock'
    /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:19
    8: error: expected declaration specifiers or '...' before 'addr'
    /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:19
    8: error: expected declaration specifiers or '...' before 'len'
    /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:20
    0: warning: return type defaults to 'int'
    /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: I
    n function '_syscall2':
    /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:20
    0: error: expected declaration specifiers before '_syscall2'
    /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:23
    3: error: parameter '__ke_debuglevel' is initialized
    /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:23
    4: error: parameter '__ke_moduleflags' is initialized
    /tmp/ATI-fglrx-8.33.6-1-13328-root/tmp/ATI-fglrx-8.33.6-1.fc6-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:23
    7: error: storage class specified for parameter '__mod_author237'

    [...]

    Full version of the log at
    http://sandbox.freepoint.de/output_ati.txt

    I'd be *VERY* interested to alpha/beta test - i'd even promise to continue testing once i get a working version as long as i don't have to reinstall my OS

    Regards,
    Arne
    Last edited by TheSeer; 01-12-2007, 09:47 AM.

    Comment


    • #3
      I take it most of those errors are due to Fedora developers back-porting 2.6.20 changes into 2.6.19. (I'll look at the error log more in detail later). Ubuntu developers have made a patch for the fglrx drivers that should work with 2.6.20-rc4. This patch basically comes from a macro to use syscall entries that was removed in 2.6.20 kernel.

      The fglrx drivers won't officially support the 2.6.20 until 2.6.20 comes out and they have addressed the changes (this patch is GPL2 since it originates with the macro from the kernel so they can't use it).

      I'll pass along some information once I have mastered fglrx scripts for Fedora 7 Test 1.

      Code:
      --- common/lib/modules/fglrx/build_mod/firegl_public.c    2006-12-18 10:58:15.000000000 -0500
      +++ common/lib/modules/fglrx/build_mod/firegl_public.c    2006-12-18 11:14:04.000000000 -0500
      @@ -181,6 +181,70 @@
       int errno;
       #endif // __ia64__
       
      +#if defined(__i386__)
      +#define __syscall_return(type, res) \
      +do { \
      +        if ((unsigned long)(res) >= (unsigned long)(-(128 + 1))) { \
      +                errno = -(res); \
      +                res = -1; \
      +        } \
      +        return (type) (res); \
      +} while (0)
      +#define _syscall2(type,name,type1,arg1,type2,arg2) \
      +type name(type1 arg1,type2 arg2) \
      +{ \
      +long __res; \
      +__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
      +        : "=a" (__res) \
      +        : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)) \
      +        : "memory"); \
      +__syscall_return(type,__res); \
      +}
      +
      +#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
      +type name(type1 arg1,type2 arg2,type3 arg3) \
      +{ \
      +long __res; \
      +__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
      +        : "=a" (__res) \
      +        : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)), \
      +                  "d" ((long)(arg3)) : "memory"); \
      +__syscall_return(type,__res); \
      +}
      +#elif defined(__x86_64__)
      +#define __syscall_clobber "r11","rcx","memory" 
      +#define __syscall "syscall"
      +
      +#define __syscall_return(type, res) \
      +do { \
      +        if ((unsigned long)(res) >= (unsigned long)(-127)) { \
      +                errno = -(res); \
      +                res = -1; \
      +        } \
      +        return (type) (res); \
      +} while (0)
      +#define _syscall2(type,name,type1,arg1,type2,arg2) \
      +type name(type1 arg1,type2 arg2) \
      +{ \
      +long __res; \
      +__asm__ volatile (__syscall \
      +        : "=a" (__res) \
      +        : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)) : __syscall_clobber ); \
      +__syscall_return(type,__res); \
      +}
      +
      +#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
      +type name(type1 arg1,type2 arg2,type3 arg3) \
      +{ \
      +long __res; \
      +__asm__ volatile (__syscall \
      +        : "=a" (__res) \
      +        : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \
      +                  "d" ((long)(arg3)) : __syscall_clobber); \
      +__syscall_return(type,__res); \
      +}
      +#endif
      +
       // int mlock(const void *addr, size_t len);
       _syscall2(int, mlock, const void *, addr, size_t, len )
       // int munlock(const void *addr, size_t len);
      Michael Larabel
      http://www.michaellarabel.com/

      Comment


      • #4
        Thanx a lot!

        The supplied patch and adding yet another symlink from version.h to version-.h in the includes made the buildpkg complete successfully..

        Gonna try the result now..

        Comment


        • #5
          Okay, the driver compiles and the module actually loads, but after that, the trouble starts...

          After adjusting the xorg.conf, the system now looks up hard when using the ati driver along with the kernel module:
          If i run startx from shell, i get a black screen and after some time, the numlock key is dead - indicating to me, that the system died :/

          When using gdm to login, after submitting the password, same thing...

          I followed the libGL.so.1 copy-tip from some user here in the forum, to get rid of the Mesa-GL stuff... Maybe that was a bad move...

          Any ideas?

          Comment


          • #6
            I haven't updated against Rawhide in a few days (maybe even a week or two by now). I'll try to work on figuring out a solution over the next couple of days. I hope to have the drivers working with F7T1.
            Michael Larabel
            http://www.michaellarabel.com/

            Comment


            • #7
              For what it's worth, i only updated the kernel from rawhide and some dependencies:

              [theseer@warp ~]$ rpm -qa |grep fc7
              libdhcp4client-3.0.5-8.fc7
              kernel-module-ATI-fglrx-2.6.19-1.2906.fc7-8.33.6-1.fc6
              kernel-devel-2.6.19-1.2906.fc7
              kernel-2.6.19-1.2906.fc7
              libdhcp6client-0.10-35.fc7
              devhelp-0.12-10.fc7
              firefox-2.0.0.1-2.fc7
              libdhcp-1.17-2.fc7
              firefox-devel-2.0.0.1-2.fc7
              kernel-kdump-devel-2.6.19-1.2906.fc7
              devhelp-0.12-10.fc7
              kernel-devel-2.6.19-1.2906.fc7
              kernel-headers-2.6.19-1.2906.fc7
              yelp-2.16.2-2.fc7
              firefox-2.0.0.1-2.fc7

              I'll try to get a grip on the xorg.0.log with the driver - maybe it shows off some info that helps...
              Gonne keep you posted

              Comment


              • #8
                Did you get the X log yet?
                Michael Larabel
                http://www.michaellarabel.com/

                Comment


                • #9
                  Sorry, took a while - i've been busy with other things and couldn't afford a reboot...

                  Xorg.0.log pasted @ http://phpfi.com/193860

                  What did i do?

                  init 3
                  modprobe fglrx
                  startx

                  ..wait a while
                  boom - system is dead (mouse still moves, but that's about it, no ping, no keyboard, no ctrl-alt-del, no alt-backspace)

                  Comment


                  • #10
                    Any updates on this?

                    I just happend to read some other thread regarding x86_64 and crashes... I do have an x86_64 System (AMD Athlon(tm) 64 X2 Dual Core Processor 3800+) running FC6's update 2.6.19-Kernel now.

                    Even though the driver compiles without complains by now, it still freezes the computer when using the kernel module...

                    Is that part of that "known issue" that might get fixed eventually some time in the future - or not?

                    If so, i'll be going to sell this stupid card and get some nVidia... :/

                    Comment

                    Working...
                    X