J'ai téléchargé les pilotes Catalyst sur le site AMD, je l'ai déballé et j'ai créé un package avec
$ Sudo ./AMD-catalyst-13.12-linux-x86.x86_64.run --buildpkg Ubuntu/saucy
Created directory fglrx-install.FLGUtu
Verifying archive integrity... All good.
Uncompressing AMD Catalyst(TM) Proprietary Driver-13.251......................................................................................................................................................
..............................................................................................................................................................................................................
..............................................................................................................................................................................................................
=====================================================================
AMD Catalyst(TM) Proprietary Driver Installer/Packager
=====================================================================
Generating package: Ubuntu/saucy
1Package /home/XXX/Downloads/drivers_13.251/fglrx_13.251-0ubuntu1_i386.deb has been successfully generated
Package /home/XXX/Downloads/drivers_13.251/fglrx-dev_13.251-0ubuntu1_i386.deb has been successfully generated
Package /home/XXX/Downloads/drivers_13.251/fglrx-amdcccle_13.251-0ubuntu1_i386.deb has been successfully generated
Removing temporary directory: fglrx-install.FLGUtu
Après cela, j'essaie d'installer ces packages mais j'obtiens:
$ Sudo dpkg -i fglrx_13.251-0ubuntu1_i386.deb fglrx-amdcccle_13.251-0ubuntu1_i386.deb fglrx-dev_13.251-0ubuntu1_i386.deb
Selecting previously unselected package fglrx.
(Reading database ... 171591 files and directories currently installed.)
Unpacking fglrx (from fglrx_13.251-0ubuntu1_i386.deb) ...
Selecting previously unselected package fglrx-amdcccle.
Unpacking fglrx-amdcccle (from fglrx-amdcccle_13.251-0ubuntu1_i386.deb) ...
Selecting previously unselected package fglrx-dev.
Unpacking fglrx-dev (from fglrx-dev_13.251-0ubuntu1_i386.deb) ...
Setting up fglrx (2:13.251-0ubuntu1) ...
update-alternatives: using /usr/lib/fglrx/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in auto mode
update-alternatives: warning: skip creation of /usr/lib32/libaticalcl.so because associated file /usr/lib32/fglrx/libaticalcl.so (of link group i386-linux-gnu_gl_conf) doesn't exist
update-alternatives: warning: skip creation of /usr/lib32/libaticalrt.so because associated file /usr/lib32/fglrx/libaticalrt.so (of link group i386-linux-gnu_gl_conf) doesn't exist
update-alternatives: warning: forcing reinstallation of alternative /usr/lib/fglrx/ld.so.conf because link group i386-linux-gnu_gl_conf is broken
update-alternatives: warning: skip creation of /usr/lib32/libaticalcl.so because associated file /usr/lib32/fglrx/libaticalcl.so (of link group i386-linux-gnu_gl_conf) doesn't exist
update-alternatives: warning: skip creation of /usr/lib32/libaticalrt.so because associated file /usr/lib32/fglrx/libaticalrt.so (of link group i386-linux-gnu_gl_conf) doesn't exist
update-alternatives: using /usr/lib/fglrx/alt_ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in auto mode
update-initramfs: deferring update (trigger activated)
Loading new fglrx-13.251 DKMS files...
First Installation: checking all kernels...
Building only for 3.11.0-17-generic
Building for architecture i686
Building initial module for 3.11.0-17-generic
Error! Bad return status for module build on kernel: 3.11.0-17-generic (i686)
Consult /var/lib/dkms/fglrx/13.251/build/make.log for more information.
update-initramfs: deferring update (trigger activated)
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Setting up fglrx-amdcccle (2:13.251-0ubuntu1) ...
Setting up fglrx-dev (2:13.251-0ubuntu1) ...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.11.0-17-generic
Processing triggers for libc-bin ...
-------------------------------------
Dans le journal
$ cat /var/lib/dkms/fglrx/13.251/build/make.log
DKMS make.log for fglrx-13.251 for kernel 3.11.0-17-generic (i686)
nie, 2 mar 2014, 15:10:53 CET
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.11.0-17-generic/build SUBDIRS=/var/lib/dkms/fglrx/13.251/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-3.11.0-17-generic'
CC [M] /var/lib/dkms/fglrx/13.251/build/2.6.x/firegl_public.o
CC [M] /var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.o
/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c: In function ‘KCL_ACPI_ParseTable’:
/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c:999:5: warning: passing argument 1 of ‘(acpi_status (*)(u32, void *, void *))handler’ makes integer from pointer without a cast [enabled by default]
((acpi_table_handler)handler)(hdr);
^
/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c:999:5: note: expected ‘u32’ but argument is of type ‘struct acpi_table_header *’
/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c:999:5: error: too few arguments to function ‘(acpi_status (*)(u32, void *, void *))handler’
make[2]: *** [/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx/13.251/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-17-generic'
make: *** [kmod_build] Error 2
build failed with return value 2
Où l'erreur est:
/var/lib/dkms/fglrx/13.251/build/2.6.x/kcl_acpi.c:999:5: error: too few arguments to function ‘(acpi_status (*)(u32, void *, void *))handler’
Je l'ai! :-)
Sudo gedit /usr/src/fglrx-13.251/kcl_acpi.c
Supprimez ces 3 dernières lignes du fichier:
((acpi_table_handler)handler)(hdr);
return KCL_ACPI_OK;
}
remplacez-les par:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1)
((acpi_tbl_table_handler)handler)(hdr);
#else
((acpi_table_handler)handler)(hdr);
#endif
return KCL_ACPI_OK;
}
Exécutez ensuite:
Sudo dkms install -m fglrx -v 13.251 -k 3.11.0-17-generic
Redémarrez ensuite. A fonctionné pour moi - le noyau 3.11 et fglrx fonctionnent maintenant!
(J'ai travaillé sur cette page: https://Gist.github.com/moldcraft/8116528 )
Comme vous n'avez pas encore installé correctement les pilotes, vous devrez modifier le fichier extrait à catalyst/common/lib/modules/fglrx/build_mod/kcl_acpi.c
comme dans l'URL ci-dessus ...
Si vous voulez +1 à mon autre question, n'hésitez pas à ;-)
Je pense que j'ai rencontré exactement le même problème mais dans l'autre sens - c'est-à-dire que j'avais déjà installé le pilote 13.12 OK avec le noyau 3.8, mais ensuite mis à niveau vers le noyau 3.11 via la pile 12.04.4 lts. La commande qui échoue est la suivante: Sudo dkms install -m fglrx -v 13.251 -k 3.11.0-17-generic
. Mon problème est détaillé ici:
Comment réparer le pilote ATI fglrx après la mise à niveau du noya
(Désolé d'avoir mis cela comme réponse plutôt que comme commentaire, mais le système de "notation" très idiot ne me permet pas d'ajouter des commentaires pour le moment.)