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


                    • #11
                      I have x86_64 systems with 2.6.19 kernel working with fglrx.

                      Next week when F7T1 is out, I intend on installing it right away and will begin working on the new packaging scripts.
                      Michael Larabel
                      http://www.michaellarabel.com/

                      Comment


                      • #12
                        Sounds good to me

                        Happen to have any suggestion as to what i might try to do to nail down the freeze and maybe even eliminate it?
                        For what it's worth, this box is an all standard Acer Aspire T180-UB7E Desktop PC:

                        AMD Athlon(tm) 64 X2 Dual Core Processor 3800+,
                        ATI Radeon X1550 512 MB HyperMemory (whatever HyperMemory is..),
                        nVidia Corporation MCP61 Chipset,
                        1 GB DDR-II-Ram ),

                        running all FC6-latest by now. I don't consider the few installed fc7-packages i still have do have any impact:

                        [theseer@warp ~]$ rpm -qa | grep fc7
                        libdhcp4client-3.0.5-8.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
                        devhelp-0.12-10.fc7
                        yelp-2.16.2-2.fc7
                        firefox-2.0.0.1-2.fc7

                        Maybe of interesst, the lspci info for the ati parts is basically "unkown device":

                        [root@warp ~]# lspci | grep ATI
                        02:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 7187
                        02:00.1 Display controller: ATI Technologies Inc Unknown device 71a7


                        As stated before, having all the "fixes" applies from other threads in this forum (e.g. settings various symlinks) and using 2.6.19-1.2895.fc6, the driver compiles just fine - just using it freezes the system whenever the desktop tries to load. I cannot even switch from the gdm-prompt back to textmode.
                        Last edited by TheSeer; 01-25-2007, 04:13 AM.

                        Comment


                        • #13
                          It sounds like your problem could be a bug with the fglrx driver itself. I have heard of similar situations in general with the fglrx driver. Had it worked previously in any configuration?

                          Hyper Memory is to reserve some of your system memory for video buffer by the GPU.
                          Michael Larabel
                          http://www.michaellarabel.com/

                          Comment


                          • #14
                            Originally posted by Michael View Post
                            It sounds like your problem could be a bug with the fglrx driver itself. I have heard of similar situations in general with the fglrx driver. Had it worked previously in any configuration?
                            Nope, never worked. The livna-provided drivers didn't work, so i tried to build my own since the ati driver release is newer and stumbled upon all the problems people had described in this forum (symlinks, control panel,..) and the problems with the fc7-dev kernel you provided the patch for.

                            Neither the fc7-dev nor the current fc6 kernel with the latest ati driver does work. It does a grafical boot and even show gdm, so "doesn't work" is not exactly true, but, as described, it freezes afterwards.

                            Comment


                            • #15
                              So the graphical boot works? Then try removing rhgb from GRUB so it will be a text boot and then see if GDM will start.

                              To remove rhgb, on the GRUB screen hit a, and then delete the "rhgb" segment.
                              Michael Larabel
                              http://www.michaellarabel.com/

                              Comment

                              Working...
                              X