Announcement

Collapse
No announcement yet.

Catalyst 8.12 in debian lenny

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

  • Catalyst 8.12 in debian lenny

    There are now 8.12 "experimental" amd64 packages available for lenny, but there are dependency problems that need to be remedied. That effort might not be any more time consuming then trying to build the kernel module from the official 8.12 ATI installer.

    I built the 8.12 .deb packages using the ATI installer. I followed a recipe from a German forum that uses module assistant to build the kernel module (sorry, at work and don't have that url handy). Unfortunately some of the C code fails to compile. My running kernel is 2.6.28 and was acquired via tarball from kernel.org so there is no "kernel-headers" (and there really shouldn't need to be). This is just a wild guess as to what might be tripping up the compile.

    Which is more efficient and expedient? Getting 8.12 installed via the "experimental" packages or trying to resolve the build problem?

    My video card is a 4850. BTW, I also have Ubuntu 8.10 installed and its fglrx packages seem to work flawlessly (working 2D acceleration and no artifacts during video playback). How is it that the Canonical folks have this working, but not Debian??

  • #2
    Use my script, thats the most easy way. It will even enable DKMS with the Ubuntu packages, that means you can boot any kernel and the kernel module will be compiled automatically.

    http://kanotix.com/files/install-fglrx-debian.sh

    Comment


    • #3
      Originally posted by Kano View Post
      Use my script, thats the most easy way. It will even enable DKMS with the Ubuntu packages, that means you can boot any kernel and the kernel module will be compiled automatically.

      http://kanotix.com/files/install-fglrx-debian.sh
      Thanks, I'll give that a try.

      BTW, the recipe I found is here:
      http://www.computerbase.de/forum/sho....php?p=5254648

      Everything works fine up to the step:
      m-a build fglrx

      At which time I get compiler errors.

      Comment


      • #4
        Originally posted by nbi1 View Post
        Thanks, I'll give that a try.

        BTW, the recipe I found is here:
        http://www.computerbase.de/forum/sho....php?p=5254648

        Everything works fine up to the step:
        m-a build fglrx

        At which time I get compiler errors.
        Sorry, your script fails in exactly the same way. I diffed the m-a log against the earlier m-a log to confirm. Here it is:

        dh_testroot
        rm -f configure-stamp
        rm -f fglrx.ko fglrx.mod.c *.o libfglrx_ip.a
        rm -f .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd
        rm -rf .tmp_versions
        rm -rf patch
        dh_clean
        rm /usr/src/modules/fglrx/debian/control
        rm /usr/src/modules/fglrx/debian/dirs
        if [ -f /usr/src/modules/fglrx/debian/control.template ]; then \
        cat /usr/src/modules/fglrx/debian/control.template > /usr/src/modules/fglrx/debian/control; \
        fi
        if [ -f /usr/src/modules/fglrx/debian/postinst ]; then \
        mv /usr/src/modules/fglrx/debian/postinst /usr/src/modules/fglrx/debian/fglrx-kernel-2.6.28N.postinst; \
        fi
        dh_testdir
        touch configure-stamp
        dh_testdir
        /usr/bin/make -C /lib/modules/2.6.28N/source SUBDIRS=/usr/src/modules/fglrx modules
        make[1]: Entering directory `/usr/src/linux-2.6.28'
        CC [M] /usr/src/modules/fglrx/firegl_public.o
        /usr/src/modules/fglrx/firegl_public.c: In function ‘KCL_MEM_VM_GetRegionPhysAddrStr’:
        /usr/src/modules/fglrx/firegl_public.c:3221: warning: return makes pointer from integer without a cast
        /usr/src/modules/fglrx/firegl_public.c:3222: warning: return makes pointer from integer without a cast
        /usr/src/modules/fglrx/firegl_public.c:3223: warning: return makes pointer from integer without a cast
        /usr/src/modules/fglrx/firegl_public.c:3225: warning: return makes pointer from integer without a cast
        CC [M] /usr/src/modules/fglrx/kcl_acpi.o
        CC [M] /usr/src/modules/fglrx/kcl_agp.o
        CC [M] /usr/src/modules/fglrx/kcl_debug.o
        /usr/src/modules/fglrx/kcl_debug.c:62: warning: ‘kcl_debug_sysrq_op’ defined but not used
        /usr/src/modules/fglrx/kcl_debug.c:69: warning: ‘kcl_debug_sysrq_dump_op’ defined but not used
        CC [M] /usr/src/modules/fglrx/kcl_ioctl.o
        /usr/src/modules/fglrx/kcl_ioctl.c: In function ‘KCL_IOCTL_RegisterConversion32’:
        /usr/src/modules/fglrx/kcl_ioctl.c:174: error: implicit declaration of function ‘register_ioctl32_conversion’
        /usr/src/modules/fglrx/kcl_ioctl.c:174: error: ‘ioctl_trans_handler_t’ undeclared (first use in this function)
        /usr/src/modules/fglrx/kcl_ioctl.c:174: error: (Each undeclared identifier is reported only once
        /usr/src/modules/fglrx/kcl_ioctl.c:174: error: for each function it appears in.)
        /usr/src/modules/fglrx/kcl_ioctl.c:174: error: expected ‘)’ before ‘handler’
        /usr/src/modules/fglrx/kcl_ioctl.c: In function ‘KCL_IOCTL_UnregisterConversion32’:
        /usr/src/modules/fglrx/kcl_ioctl.c:186: error: implicit declaration of function ‘unregister_ioctl32_conversion’
        make[2]: *** [/usr/src/modules/fglrx/kcl_ioctl.o] Error 1
        make[1]: *** [_module_/usr/src/modules/fglrx] Error 2
        make[1]: Leaving directory `/usr/src/linux-2.6.28'
        make: *** [build] Error 2

        Comment


        • #5
          Some progress. The problem with register_ioctl32_conversion is that ATI is using a deprecated api. Ahem, Mr. Bridgman.

          When I turned on ia32 emulation in the kernel this problem went away. It seems that it's not enough to have all the ia32 libraries installed, the correct kernel option needs to be on as well.

          So at this point I'm able to complete the entire recipe (which I identified previously) and everything appears installed correctly. That's the good news.

          The bad news is despite an apparent successful install I'm left without a usable system. When X starts the screen gets mangled and the top of the screen has a band of tiles (which look like my BIOS splash screen).

          Kano - I don't know what your script is doing. Sometimes it tells me it's building for Ubuntu, at other times etch. Then I see Lenny package updates flashing by. At the end when it has seemingly completed and I restart X the fglrx driver can't be found!

          This is totally exasperating. As much as I like Debian I'm really getting fed up with this crap. Instead of pontificating and churning out Iceweasels the Debian folks should focus on working drivers for modern hardware.

          Here's some ominous stuff from the Xorg log:
          drmOpenByBusid: drmOpenMinor returns -19
          drmOpenDevice: node name is /dev/dri/card13
          drmOpenDevice: open result is -1, (No such device)
          drmOpenDevice: open result is -1, (No such device)
          drmOpenDevice: Open failed
          drmOpenByBusid: drmOpenMinor returns -19
          drmOpenDevice: node name is /dev/dri/card14
          drmOpenDevice: open result is -1, (No such device)
          drmOpenDevice: open result is -1, (No such device)
          drmOpenDevice: Open failed
          drmOpenByBusid: drmOpenMinor returns -19
          (WW) fglrx(0): Failed to open DRM connection
          (EE) fglrx(0): [FB] Can not get FB MC address range.

          (EE) fglrx(0): atiddxDriScreenInit failed, GPS not been initialized.
          (WW) fglrx(0): ***********************************************
          (WW) fglrx(0): * DRI initialization failed! *
          (WW) fglrx(0): * (maybe driver kernel module missing or bad) *
          (WW) fglrx(0): * 2D acceleraton available (MMIO) *
          (WW) fglrx(0): * no 3D acceleration available *

          (EE) fglrx(0): XMM failed to open CMMQS connection.

          and it ends with:
          (EE) fglrx(0): PPLIB: PPLIB is not initialized!.
          (EE) fglrx(0): PPLIB: swlPPLibNotifyEventToPPLib() failed!
          (EE) fglrx(0): ulEventType = 0000000c, ulEventData = 00000001
          (EE) fglrx(0): PPLIB: PPLIB is not initialized!.
          (EE) fglrx(0): PPLIB: swlPPLibNotifyEventToPPLib() failed!
          (EE) fglrx(0): ulEventType = 00000002, ulEventData = 00000000
          (EE) fglrx(0): firegl_SetSuspendResumeState FAILED -9.
          Last edited by nbi1; 01-09-2009, 01:39 AM.

          Comment


          • #6
            Most likely your kernel config is wrong. Did you enable

            CONFIG_PCI_LEGACY=y

            Comment


            • #7
              Originally posted by Kano View Post
              Most likely your kernel config is wrong. Did you enable

              CONFIG_PCI_LEGACY=y
              Yes, that was already enabled.

              Comment


              • #8
                Originally posted by nbi1 View Post
                There are now 8.12 "experimental" amd64 packages available for lenny, but there are dependency problems that need to be remedied. That effort might not be any more time consuming then trying to build the kernel module from the official 8.12 ATI installer.
                Hello,

                yeah I had to bump the dependencies for the experimental release to xserver-xorg 1.5.

                Anyway I uploaded yesterday fglrx 8-12-4 to Debian sid aka unstable (see http://packages.qa.debian.org/f/fglrx-driver.html) and it is unblocked for Lenny. So if there won't be any serious unresolveable bugs, Lenny will be shipped with the 8-12 release.

                There are btw also backporting informations in debian/README.Debian now ;-)

                Hope this will help you.

                Comment


                • #9
                  Originally posted by the-me View Post
                  Hello,

                  yeah I had to bump the dependencies for the experimental release to xserver-xorg 1.5.

                  Anyway I uploaded yesterday fglrx 8-12-4 to Debian sid aka unstable (see http://packages.qa.debian.org/f/fglrx-driver.html) and it is unblocked for Lenny. So if there won't be any serious unresolveable bugs, Lenny will be shipped with the 8-12 release.

                  There are btw also backporting informations in debian/README.Debian now ;-)

                  Hope this will help you.
                  Many thanks. Maybe I'll attempt the backport if I get too impatient.

                  By "shipped" did you mean an upcoming snapshot or when Lenny is promoted to stable?

                  On a vaguely related subject I discovered that the Ubuntu 8.10 fglrx packages don't play nice with the 2.6.28 kernel. I thought DKMS was supposed to take care of that. Booting gets as far as prompting me for the user id, but no keyboard or mouse input is accepted at that point. Oh well.

                  Just in - The backporting info in debian/README.Debian is not applicable!
                  After extracting the 8.12 fglrx I went to /usr/src/fglrx/packages/Debian/dists/lenny but the backport instructions don't seem to match the contents. For starters there is no x740 referenced and neither is libglx.so in the preinst. The backport instructions in that README might be valid for something, but definitely not for fglrx 8.12 under Lenny.
                  Last edited by nbi1; 01-13-2009, 02:17 AM.

                  Comment


                  • #10
                    @nbi1

                    For standard cards (not new chips with extra AGP connector) 2.6.28 works with fglrx not better or worse than other kernels. The script is fully correct and installs Ubuntu packages as soon as dkms is available - which is fetched from my server and installed in case of pure Debian. The log you looked at was from module-assistant. That's not used when dkms is activated and useless then. In case of dkms you check the installed module using

                    dkms status

                    you can boot any other kernel and it will build on startup. You find logfiles in the driver/kernel subdirs below /var/lib/dkms.
                    Last edited by Kano; 01-13-2009, 06:46 AM.

                    Comment


                    • #11
                      Originally posted by nbi1 View Post
                      Just in - The backporting info in debian/README.Debian is not applicable!
                      After extracting the 8.12 fglrx I went to /usr/src/fglrx/packages/Debian/dists/lenny but the backport instructions don't seem to match the contents. For starters there is no x740 referenced and neither is libglx.so in the preinst. The backport instructions in that README might be valid for something, but definitely not for fglrx 8.12 under Lenny.
                      It is.

                      $ apt-get source fglrx-driver
                      $ cd fglrx-driver....

                      There you will find the content and for backporting you have to rebuild the package after this.
                      And you do not need them because it will enter lenny..

                      Comment


                      • #12
                        Originally posted by the-me View Post
                        It is.

                        $ apt-get source fglrx-driver
                        $ cd fglrx-driver....

                        There you will find the content and for backporting you have to rebuild the package after this.
                        And you do not need them because it will enter lenny..
                        Ok, so I need to add the experimental repository and temporarily disable the main repository so that 8.12 source is retrieved rather than 8.7.3? Any way to do this without modifying etc/apt/sources.list?

                        Apparently not.

                        The good news is I managed to acquire the correct fglrx-driver package and it seemed to make the backport modifications upon installation (I guess the pre/post routines figured out a lenny target is requested).

                        Now how do I "rebuild the package"? There is no "packager" shell script anywhere except in the fglrx extracted from the ATI installer. I even searched all sid fglrx packages for the "packager", but could not find one. Also, what about all the other fglrx packages? Use the binary packages or rebuild from source?

                        I experimented by installing all the sid fglrx packages via Synaptic, but that results in an unusable configuration as before. Evidently I'm not building correctly. Please be very explicit in explaining what you mean by "rebuild the package". Thanks.
                        Last edited by nbi1; 01-14-2009, 02:24 AM.

                        Comment


                        • #13
                          ^^ Run "debuild -us -uc" in the fglrx-driver directory . You can use that to build any valid debian package.

                          Comment


                          • #14
                            Originally posted by xaros View Post
                            ^^ Run "debuild -us -uc" in the fglrx-driver directory . You can use that to build any valid debian package.
                            Thanks, but that doesn't look like an option. Marking 'devscripts' for install threatens to remove a lot of gnome components and I happen to use gnome.

                            Just in - I take that back. There was something wrong with the package system. Some package installations were broken. I managed to fix that and was able to successfully build packages using 'debuild'. Now I just need to install and test the debian version of fglrx.
                            Last edited by nbi1; 01-15-2009, 02:45 AM.

                            Comment


                            • #15
                              Nope, it simply will not work. Same problems as my post dated 01-09-2009, 12:03 AM. The fglrx from Catalyst 8.12 is not usable in 64 bit Lenny.

                              Comment

                              Working...
                              X