PDA

View Full Version : Catalyst 8.12 in debian lenny


nbi1
01-08-2009, 02:28 PM
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??

Kano
01-08-2009, 02:42 PM
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

nbi1
01-08-2009, 09:19 PM
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/showthread.php?p=5254648

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

At which time I get compiler errors.

nbi1
01-08-2009, 09:43 PM
Thanks, I'll give that a try.

BTW, the recipe I found is here:
http://www.computerbase.de/forum/showthread.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

nbi1
01-09-2009, 01:03 AM
Some progress. The problem with register_ioctl32_conversion is that ATI is using a deprecated api. Ahem, Mr. Bridgman. :eek:

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

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.

Kano
01-09-2009, 04:06 AM
Most likely your kernel config is wrong. Did you enable

CONFIG_PCI_LEGACY=y

nbi1
01-09-2009, 07:36 PM
Most likely your kernel config is wrong. Did you enable

CONFIG_PCI_LEGACY=y

Yes, that was already enabled.

the-me
01-12-2009, 05:42 PM
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.

nbi1
01-13-2009, 12:40 AM
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.

Kano
01-13-2009, 06:41 AM
@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.

the-me
01-13-2009, 12:43 PM
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..

nbi1
01-13-2009, 08:38 PM
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.

xaros
01-14-2009, 03:50 PM
^^ Run "debuild -us -uc" in the fglrx-driver directory ;). You can use that to build any valid debian package.

nbi1
01-14-2009, 08:36 PM
^^ 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.

nbi1
01-16-2009, 12:46 AM
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.

the-me
01-17-2009, 04:16 AM
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.

It will work. As I noted again and again just wait until 8-12 is in _LENNY_, not experimental stable etc...

http://qa.debian.org/excuses.php?package=fglrx-driver there you will see when it will enter it, now just wait before you break your system.

nbi1
01-19-2009, 02:00 PM
It will work. As I noted again and again just wait until 8-12 is in _LENNY_, not experimental stable etc...

http://qa.debian.org/excuses.php?package=fglrx-driver there you will see when it will enter it, now just wait before you break your system.

What do you mean by "it will work"? Please spare us the speculation. If you know firsthand that it does work then clearly say so, otherwise you simply don't know (in which case your earlier posts were wasting my time along with everyone else's).

People - regardless of how close you might be to the development and/or distro packaging process please don't offer speculation as a solution. There are a lot of details to get right in resolving these driver issues. What may seem obvious to you isn't necessarily obvious to the rest of us.

I certainly welcome insights, but when I'm willing to roll up my sleeves and dig in I don't want to be sent on a wild goose chase. :eek:

the-me
01-19-2009, 02:22 PM
What do you mean by "it will work"? Please spare us the speculation. If you know firsthand that it does work then clearly say so, otherwise you simply don't know (in which case your earlier posts were wasting my time along with everyone else's).

People - regardless of how close you might be to the development and/or distro packaging process please don't offer speculation as a solution. There are a lot of details to get right in resolving these driver issues. What may seem obvious to you isn't necessarily obvious to the rest of us.

I certainly welcome insights, but when I'm willing to roll up my sleeves and dig in I don't want to be sent on a wild goose chase. :eek:

Do not think that I am aggressive against you in any case. In this case I noted that fglrx 8-12 will be in the Lenny release and that you might backport it for your PC until it enters it (which takes some days).
Then I saw that you do not know how Debian packaging works (no problem, you do not have to :)), so it is better in my opinion, that you live a few more days with those issues, instead of breaking maybe your whole system - I do not think that you or I want this, or not?

nbi1
01-19-2009, 03:07 PM
Do not think that I am aggressive against you in any case. In this case I noted that fglrx 8-12 will be in the Lenny release and that you might backport it for your PC until it enters it (which takes some days).
Then I saw that you do not know how Debian packaging works (no problem, you do not have to :)), so it is better in my opinion, that you live a few more days with those issues, instead of breaking maybe your whole system - I do not think that you or I want this, or not?

The system in question is a new install and not my production system. So it can be broken (within reason, I don't want to completely reinstall on every problem) due to experimentation. The ultimate goal is to have a working (as in meeting basic video requirements) Debian or Ubuntu platform. Then I can begin migrating away from etch towards this platform.

Don't know what you mean by "how Debian packaging works". I'm fluent with dpkg and apt-get. I can also build .debs. If you're referring to the decision making utilized by Debian packagers (the folks chartered with creating packages) you are correct, I don't know how it works. I neither want to nor should I need to. What matters is whether or not available packages lend themselves towards solving a problem.

Your advice to wait is certainly safe, but it doesn't solve any problems. And in the case of Debian it might not for another 6 months or so and that would be unacceptable. Again, I have no problem with building my own version, but the recipe(s) I'm given need to be sound.

00marcus
01-29-2009, 10:55 AM
[QUOTE=Kano;58419]@nbi1

For standard cards (not new chips with extra AGP connector) 2.6.28 works with fglrx not better or worse than other kernels.

Are you saying that the current lenny (or even selfmade) packages will NOT work for 2.6.28 and AGP cards (radeon HD-3650 in my case)?

Which kernel would you recommend?

M

Kano
01-29-2009, 11:04 AM
My script is tested with Debian lenny 64 bit. It uses dkms and standard 2.6.26 and 2.6.28 works - now updated to 9-1. Of course when the card has problems the script can not fix driver issues. But the driver install is 100% correct. Tested with

rm /etc/X11/xorg.conf*
dpkg-reconfigure -phigh xserver-xorg

And this script:

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

To check dkms:

dkms status

module-assistant is completely outdated, dkms is what you really want - boot any kernel (with installed headers) and the driver will work.

00marcus
01-29-2009, 11:14 AM
Ok;

I hope that if "locate fglrx" remains empty my plain ati installation is fully removed..

Will try;

00marcus
01-29-2009, 12:27 PM
OK;

I'm not sure if my other reply came through;

I ran your script, which apparently worked (it built the fglrx-packages, removed the old ones and installed the built ones).

The fglrx module was built but not installed.

When I do
modprobe fglrx
I get only the agpgart installed

Xorg.0.log has copmlaints which follow in excerpts.
Finally my machine locks up and reboots when I press ctrl-alt-f1

(II) fglrx(0): ATI Video BIOS revision 9 or later detected
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
[..]
drmOpenByBusid: drmOpenMinor returns -6
(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.
[..]
(EE) fglrx(0): XMM failed to open CMMQS connection.


Any hint?

Kano
01-29-2009, 03:42 PM
Best would be: buy Nvidia card ;)

Gregor A.
01-30-2009, 01:32 AM
How to install fglrx on Debian:

mkdir fglrx
cd fglrx
wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-9-1-x86.x86_64.run
$ sh ./ati-driver-installer-9-1-x86.x86_64.run --buildpkg Debian/lenny

dpkg -i *.deb
cd /usr/src

m-a prepare
unp fglrx.tar.bz // or so... look into the directory

cd /usr/src/linux
make-kpkg --append-to-version=-1-686 modules-image

cd /usr/src
dpkg -i *.deb // look into the directory


you are done

00marcus
01-30-2009, 04:49 AM
Best would be: buy Nvidia card ;)

Sure, which one would you suggest, if I have the following requirements:
o suspend/resume works reliably
o minimum power consumption
o play lo-res vid
o minimal 3d (googleearth / zatttoo)

Sorry for being offtopic, but I'm desperately frustrated with this new laptop and the shitty ati card.

00marcus
02-02-2009, 05:47 AM
How to install fglrx on Debian:

mkdir fglrx
cd fglrx
wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-9-1-x86.x86_64.run
$ sh ./ati-driver-installer-9-1-x86.x86_64.run --buildpkg Debian/lenny

dpkg -i *.deb
cd /usr/src

m-a prepare
unp fglrx.tar.bz // or so... look into the directory

cd /usr/src/linux
make-kpkg --append-to-version=-1-686 modules-image

cd /usr/src
dpkg -i *.deb // look into the directory


you are done

Two questions:
1: 32 or 64 bit version of debian?
2: Which ATI model: Radeon HD 3650?

I suspect this model is not yet supported...

nbi1
02-16-2009, 05:40 PM
I recently solved the fglrx driver problem in Ubuntu Intrepid. I now have the 8.561 driver working in Intrepid with the 2.6.28 kernel. The root cause of the problem was that an essential module was not being loaded. I have yet to figure out which one it is, but it isn't one of the obvious ones.

Since I'm seeing the exact same failure mode under lenny I'm guessing the solution might be the same. That solution was to get the list of loaded modules via `lsmod` for the stock Intrepid kernel for which fglrx works. I put that list in /etc/modules and voila the dkms rebuild of the fglrx module resulted in a working system.

A potential wrinkle with lenny is that the X server is much older. It isn't clear to me if the X server needs to be upgraded first. Kano, what do you think? Upgrade server or not? Or don't bother because fglrx won't work on lenny for other reasons?

Kano
02-16-2009, 05:59 PM
Please do not use /etc/modules. That's a very bad hack and leads to problems. Let the driver load fglrx module and the rest of the modules let udev load. You can use it for lm-sensors, but that's not critical.

nbi1
02-17-2009, 12:22 AM
Please do not use /etc/modules. That's a very bad hack and leads to problems. Let the driver load fglrx module and the rest of the modules let udev load. You can use it for lm-sensors, but that's not critical.

Sorry, but specifying all the modules in /etc/modules solved the mangled X display problem in Intrepid. Something that should have been getting loaded but wasn't now is. Yes, /etc/modules may be a hack but the bottom line is that I now have working fglrx.

And you didn't answer my question. Upgrade X server in lenny or not?

storma
02-17-2009, 03:33 AM
If you use the default setup in lenny there should be no reason to upgrade. I have 2 machines here running lenny + ati cards, (4870 + 2600xt) and they both just work. 64 and a 32bit respectfully.

All I do to install the driver is ./ati-driver-installer-xxx.run with no arguments.

Kano
02-17-2009, 06:44 AM
@nbi1

that did not solve anything! The only thing that happend was that you installed a newer driver and then rebooted. Because the old module was active and you did not go with my script in first place you had problems. You can only unload fglrx or radeon+drm module when X server is shut down.

nbi1
02-17-2009, 10:14 AM
@nbi1

that did not solve anything! The only thing that happend was that you installed a newer driver and then rebooted. Because the old module was active and you did not go with my script in first place you had problems. You can only unload fglrx or radeon+drm module when X server is shut down.

No. You're not reading all my posts or something is getting lost in the translation again. Maybe I should post "auf Deutsch".

I have tried your script before and what did I say? The result was exactly the same as when I successfully completed an install via manual methods. And the next step from that failed state was to list modules in /etc/modules. That resulted in a "good" fglrx on Intrepid. So if listing modules in /etc/modules doesn't "solve anything" then why does this work??

And again you failed to answer my question, upgrade the lenny X server or not?

UPDATE - I did get 9.1 working with 2.6.28 under lenny! Woohoo! So never mind.:D