Page 1 of 3 123 LastLast
Results 1 to 10 of 23

Thread: Fedora 7 fglrx

  1. #1

    Default 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.

  2. #2
    Join Date
    Jan 2007
    Posts
    11

    Default

    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 at 09:47 AM.

  3. #3

    Default

    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);

  4. #4
    Join Date
    Jan 2007
    Posts
    11

    Smile

    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..

  5. #5
    Join Date
    Jan 2007
    Posts
    11

    Default

    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?

  6. #6

    Default

    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.

  7. #7
    Join Date
    Jan 2007
    Posts
    11

    Default

    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

  8. #8

    Default

    Did you get the X log yet?

  9. #9
    Join Date
    Jan 2007
    Posts
    11

    Default

    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)

  10. #10
    Join Date
    Jan 2007
    Posts
    11

    Default

    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... :/

Posting Permissions

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